Fixed export bug.

This commit is contained in:
Mike Holly 2012-01-02 16:06:32 -08:00
parent 72e754a9db
commit 899c948784
4 changed files with 215 additions and 85 deletions

View File

@ -26,7 +26,6 @@ PO.prototype.toString = function() {
this.comments.forEach(function(comment) { this.comments.forEach(function(comment) {
lines.push('# ' + comment); lines.push('# ' + comment);
}); });
lines.push('');
} }
lines.push('msgid ""'); lines.push('msgid ""');
@ -182,22 +181,23 @@ PO.Item.prototype.toString = function() {
this.references.forEach(function(ref) { this.references.forEach(function(ref) {
lines.push(util.format('#: %s', ref)); lines.push(util.format('#: %s', ref));
}); });
['msgid', 'msgid_plural', 'msgstr'].forEach(function(keyword) {
var text = that[keyword];
if (text != null) {
if (util.isArray(text) && text.length > 1) {
text.forEach(function(t, i) {
lines = lines.concat(_process(keyword, t, i));
});
}
else {
text = util.isArray(text) ? text.join() : text;
lines = lines.concat(_process(keyword, text));
}
}
});
}; };
['msgid', 'msgid_plural', 'msgstr'].forEach(function(keyword) {
var text = that[keyword];
if (text != null) {
if (util.isArray(text) && text.length > 1) {
text.forEach(function(t, i) {
lines = lines.concat(_process(keyword, t, i));
});
}
else {
text = util.isArray(text) ? text.join() : text;
lines = lines.concat(_process(keyword, text));
}
}
});
return lines.join("\n"); return lines.join("\n");
}; };

View File

@ -1,7 +1,7 @@
{ {
"name" : "node-po", "name" : "node-po",
"description" : "Simple library for loading and saving Gettext PO files.", "description" : "Simple library for loading and saving Gettext PO files.",
"version" : "0.1.0", "version" : "0.1.1",
"author" : "Mike Holly", "author" : "Mike Holly",
"homepage" : "http://github.com/mikejholly/node-po", "homepage" : "http://github.com/mikejholly/node-po",
"repository" : {"type" : "git", "url" : "http://github.com/mikejholly/node-po.git"}, "repository" : {"type" : "git", "url" : "http://github.com/mikejholly/node-po.git"},

View File

@ -1,7 +1,6 @@
# French translation of Link (6.x-2.9) # French translation of Link (6.x-2.9)
# Copyright (c) 2011 by the French translation team # Copyright (c) 2011 by the French translation team
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Link (6.x-2.9)\n" "Project-Id-Version: Link (6.x-2.9)\n"
@ -15,136 +14,266 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n!=1);\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
msgid "Title"
msgid_plural ""
msgstr "Titre"
msgid "CCK"
msgid_plural ""
msgstr "CCK"
msgid "Content"
msgid_plural ""
msgstr "Contenu"
msgid "Link"
msgid_plural ""
msgstr "Lien"
msgid "Link Target"
msgid_plural ""
msgstr "Cible du Lien"
msgid "URL"
msgid_plural ""
msgstr "URL"
msgid "Placeholder tokens"
msgid_plural ""
msgstr "Jetons (tokens) de substitution"
msgid "The following placeholder tokens can be used in both paths and titles. When used in a path or title, they will be replaced with the appropriate values."
msgid_plural ""
msgstr "Les ébauches de jetons suivantes peuvent être utilisées à la fois dans les chemins et dans les titres. Lorsqu'elles sont utilisées dans un chemin ou un titre, elles seront remplacées par les valeurs appropriées."
msgid "Optional Title"
msgid_plural ""
msgstr "Titre Optionnel"
msgid "Required Title"
msgid_plural ""
msgstr "Titre Obligatoire"
msgid "No Title"
msgid_plural ""
msgstr "Aucun Titre"
msgid "Link Title"
msgid_plural ""
msgstr "Titre du Lien"
msgid "URL Display Cutoff"
msgid_plural ""
msgstr "Coupure de l'Affichage de l'URL"
msgid "If the user does not include a title for this link, the URL will be used as the title. When should the link title be trimmed and finished with an elipsis (…)? Leave blank for no limit."
msgid_plural ""
msgstr "Si l'utilisateur n'inclue pas de titre pour ce lien, l'URL sera utilisée en tant que titre. A quel endroit le lien devra-t-il être coupé et terminé par une ellipse (…) ? Laissez vide pour aucune limite."
msgid "Default (no target attribute)"
msgid_plural ""
msgstr "Par Défaut (aucun attribut de cible)"
msgid "Open link in window root"
msgid_plural ""
msgstr "Ouvrir le lien dans la fenêtre courante"
msgid "Open link in new window"
msgid_plural ""
msgstr "Ouvrir le lien dans une nouvelle fenêtre"
msgid "Allow the user to choose"
msgid_plural ""
msgstr "Autoriser l'utilisateur à choisir"
msgid "Additional CSS Class"
msgid_plural ""
msgstr "Classe CSS additionnelle"
msgid "Not a valid URL."
msgid_plural ""
msgstr "Cette URL n'est pas valide."
msgid "Titles are required for all links."
msgid_plural ""
msgstr "Les titres sont obligatoires pour tous les liens."
msgid "Open URL in a New Window"
msgid_plural ""
msgstr "Ouvril l'URL dans une Nouvelle Fenêtre"
msgid "Defines simple link field types."
msgid_plural ""
msgstr "Définit les types de champs "lien simple"."
msgid "Link URL"
msgid_plural ""
msgstr "Url du Lien"
msgid "Wildcard"
msgid_plural ""
msgstr "Joker"
msgid "="
msgid_plural ""
msgstr "="
msgid "Protocol"
msgid_plural ""
msgstr "Protocole"
msgid "Optional URL"
msgid_plural ""
msgstr "URL optionnelle"
msgid "Static Title: "
msgid_plural ""
msgstr "Titre Statique : "
msgid "If the link title is optional or required, a field will be displayed to the end user. If the link title is static, the link will always use the same title. If <a href="http://drupal.org/project/token">token module</a> is installed, the static title value may use any other node field as its value. Static and token-based titles may include most inline XHTML tags such as <em>strong</em>, <em>em</em>, <em>img</em>, <em>span</em>, etc."
msgid_plural ""
msgstr "Si le titre du lien est facultatif ou obligatoire, un champ sera affiché à l'utilisateur final. Si le titre du lien est statique, le lien utilisera toujours le même titre. Si le <a href="http://drupal.org/project/token">module token</a> est installé, le titre statique peut utiliser n'importe quel autre champ du nœud pour sa valeur. Les titres statiques et basés sur des jetons (tokens) peuvent contenir la plupart des balises XHTML en ligne, telles que <em>strong</em>, <em>em</em>, <em>img</em>, <em>span</em>, etc."
msgid "Allow user-entered tokens"
msgid_plural ""
msgstr "Autoriser les jetons (tokens) saisis par l'utilisateur"
msgid "Checking will allow users to enter tokens in URLs and Titles on the node edit form. This does not affect the field settings on this page."
msgid_plural ""
msgstr "Le fait de cocher cette case permettra aux utilisateurs de saisir des jetons dans les URL et les Titres dans le formulaire d'édition du nœud. Ceci n'affecte pas les configurations de champ sur cette page."
msgid "Rel Attribute"
msgid_plural ""
msgstr "Attribut Rel"
msgid "When output, this link will have this rel attribute. The most common usage is <a href="http://en.wikipedia.org/wiki/Nofollow">rel=&quot;nofollow&quot;</a> which prevents some search engines from spidering entered links."
msgid_plural ""
msgstr "Quand il sera affiché, ce lien aura cet attribut rel. L'usage le plus commun est <a href="http://fr.wikipedia.org/wiki/Nofollow">rel=&quot;nofollow&quot;</a> qui empêche certains moteurs de recherche d'aspirer les liens suivis."
msgid "A default title must be provided if the title is a static value"
msgid_plural ""
msgstr "Un titre pas défaut doit être fourni si le titre est une valeur statique"
msgid "At least one title or URL must be entered."
msgid_plural ""
msgstr "Vous devez saisir au moins un titre ou une URL."
msgid "You cannot enter a title without a link url."
msgid_plural ""
msgstr "Vous ne pouvez pas saisir un titre dans une url de lien."
msgid "Title, as link (default)"
msgid_plural ""
msgstr "Titre, en tant que lien (par défaut)"
msgid "URL, as link"
msgid_plural ""
msgstr "URL, en tant que lien"
msgid "Short, as link with title "Link""
msgid_plural ""
msgstr "Court, comme lien avec le titre "Lien""
msgid "Label, as link with label as title"
msgid_plural ""
msgstr "Étiquette, comme lien avec l'étiquette comme titre"
msgid "Separate title and URL"
msgid_plural ""
msgstr "Titre et URL séparés"
msgid "Validator"
msgid_plural ""
msgstr "Validateur"
msgid "Is one of"
msgid_plural ""
msgstr "Fait partie de"
msgid "@label title"
msgid_plural ""
msgstr "Titre de @label"
msgid "@label protocol"
msgid_plural ""
msgstr "Protocole de @label"
msgid "@label target"
msgid_plural ""
msgstr "Cible de @label"
msgid "The title to use when this argument is present; it will override the title of the view and titles from previous arguments. You can use percent substitution here to replace with argument titles. Use "%1" for the first argument, "%2" for the second, etc."
msgid_plural ""
msgstr "Le titre à utiliser lorsque cet argument est présent ; il écrasera le titre de la vue et les titres provenant des arguments précédents. Vous pouvez utiliser ici les substitutions de pourcentage pour remplacer avec les titres des arguments. Utilisez "%1" pour le premier argument, "%2" pour le second, etc."
msgid "Action to take if argument is not present"
msgid_plural ""
msgstr "Action à mener si l'argument est absent"
msgid "If this value is received as an argument, the argument will be ignored; i.e, "all values""
msgid_plural ""
msgstr "Si cette valeur est reçue comme argument, l'argument sera ignoré ; correspond à "toutes les valeurs""
msgid "Wildcard title"
msgid_plural ""
msgstr "Titre du joker"
msgid "The title to use for the wildcard in substitutions elsewhere."
msgid_plural ""
msgstr "Le titre à utiliser pour le joker dans les substitutions partout ailleurs."
msgid "<Basic validation>"
msgid_plural ""
msgstr "<Validation basique>"
msgid "Action to take if argument does not validate"
msgid_plural ""
msgstr "Actions à mener si l'argument ne passe pas la validation"
msgid "The protocols displayed here are those globally available. You may add more protocols by modifying the <em>filter_allowed_protocols</em> variable in your installation."
msgid_plural ""
msgstr "Les protocoles affichés ici sont ceux disponibles de manière globale. Vous pouvez ajouter plus de protocoles en modifiant la variable <em>filter_allowed_protocols</em> de votre installation."
msgid "Link title"
msgid_plural ""
msgstr "Titre du lien"
msgid "exposed"
msgid_plural ""
msgstr "exposé"
msgid "Formatted html link"
msgid_plural ""
msgstr "Lien html formaté"
msgid "Store a title, href, and attributes in the database to assemble a link."
msgid_plural ""
msgstr "Stocker un titre, href et des attributs dans la base de données pour les assembler dans un lien."
msgid "URL, as plain text"
msgid_plural ""
msgstr "URL, texte simple"
msgid "@label URL"
msgid_plural ""
msgstr "URL de @label"
msgid "Validate URL"
msgid_plural ""
msgstr "Valider l'URL"
msgid "If checked, the URL field will be verified as a valid URL during validation."
msgid_plural ""
msgstr "Si coché, la validité du format de l'URL sera verifiée durant la validation."
msgid "If checked, the URL field is optional and submitting a title alone will be acceptable. If the URL is omitted, the title will be displayed as plain text."
msgid_plural ""
msgstr "Si coché, le champ URL est optionnel and soumettre un titre seul sera accepté. SI l'URL est omise, le titre sera affiché en texte brut."
msgid "When output, this link will have this class attribute. Multiple classes should be separated by spaces."
msgid_plural ""
msgstr "Lors de l'affichage, le lien aura cet attribut de classe (class). Les classes doivent être séparées par des espaces."
msgid "Link 'title' Attribute"
msgid_plural ""
msgstr "Attribut 'title' du lien"

View File

@ -7,5 +7,6 @@ PO.load('text.po', function(po) {
assert.equal(po.items.length, 67, 'Successfully parsed 67 items.'); assert.equal(po.items.length, 67, 'Successfully parsed 67 items.');
var item = po.items.pop(); var item = po.items.pop();
assert.equal(item.comments.length, 1, 'Parsed item comment.'); assert.equal(item.comments.length, 1, 'Parsed item comment.');
po.save('copy.po');
}); });