From f23cb8a6b2c5526a894dc290a04334adb1a49728 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 7 Apr 2013 11:44:58 -0400 Subject: [PATCH] Create list of locales from the localization data, and allow data to specify menu title. Update menu when new translations are added. Allow loading of third-party translation data by URL. Fix transaltion files to use addTranslation(). --- unpacked/MathJax.js | 5 +- unpacked/extensions/MathMenu.js | 45 ++- unpacked/localization/fr/FontWarnings.js | 80 +++--- unpacked/localization/fr/HTML-CSS.js | 31 +- unpacked/localization/fr/MathML.js | 66 +++-- unpacked/localization/fr/MathMenu.js | 193 +++++++------ unpacked/localization/fr/TeX.js | 347 +++++++++++------------ unpacked/localization/fr/fr.js | 2 +- unpacked/localization/fr/v1.0-warning.js | 22 +- 9 files changed, 412 insertions(+), 379 deletions(-) diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index c2377bb18..d7a70fa8d 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -1058,8 +1058,8 @@ MathJax.Localization = { locale: "en", directory: "[MathJax]/localization", strings: { - en: {isLoaded: true}, // nothing needs to be loaded for this - fr: {} + en: {isLoaded: true, menuTitle: "English"}, // nothing needs to be loaded for this + fr: {menuTitle: "French"} }, // @@ -1302,6 +1302,7 @@ MathJax.Localization = { data = data.domains[domain]; } MathJax.Hub.Insert(data,definition); + if (!domain && MathJax.Menu) {MathJax.Menu.CreateLocaleMenu()} }, // diff --git a/unpacked/extensions/MathMenu.js b/unpacked/extensions/MathMenu.js index fea3c6043..f6ffeaa30 100644 --- a/unpacked/extensions/MathMenu.js +++ b/unpacked/extensions/MathMenu.js @@ -889,7 +889,21 @@ MathJax.Localization.setLocale(CONFIG.settings.locale); // FIXME: Rerender the page? (To force error messages to change?) // Just rerender error messages? - } + }; + MENU.LoadLocale = function () { + var url = prompt(_("LoadURL","Load translation data from this URL:")); + if (url) { + if (!url.match(/\.js$/)) { + alert(_("BadURL", + "The URL should be for a javascript file that defines MathJax translation data. " + + "Javascript file names should end with '.js'" + )); + } + AJAX.Require(url,function (status) { + if (status != AJAX.STATUS.OK) {alert(_("BadData","Failed to load translation data from %1",url))} + }); + } + }; /* * Handle setting MathPlayer events @@ -1033,7 +1047,8 @@ ITEM.RULE().With({hidden:!CONFIG.showLocale, name:["","locale_rule"]}), ITEM.SUBMENU(["Locale","Locale"], {hidden:!CONFIG.showLocale}, ITEM.RADIO("en", "locale", {action: MENU.Locale}), - ITEM.RADIO("fr", "locale", {action: MENU.Locale}) + ITEM.RULE(), + ITEM.COMMAND(["LoadLocale","Load from URL ..."], MENU.LoadLocale) ) ), ITEM.RULE(), @@ -1056,6 +1071,32 @@ } }); + + // + // Creates the locale menu from the list of locales in MathJax.Localization.strings + // + MENU.CreateLocaleMenu = function () { + var menu = MENU.menu.Find("Math Settings","Locale").menu, items = menu.items; + // + // Get the names of the languages and sort them + // + var locales = [], LOCALE = MathJax.Localization.strings; + for (var id in LOCALE) {if (LOCALE.hasOwnProperty(id)) {locales.push(id)}} + locales = locales.sort(); menu.items = []; + // + // Add a menu item for each + // + for (var i = 0, m = locales.length; i < m; i++) { + var title = LOCALE[locales[i]].menuTitle; + if (title) {title += " ("+locales[i]+")"} else {title = locales[i]} + menu.items.push(ITEM.RADIO([locales[i],title],"locale",{action:MENU.Locale})); + } + // + // Add the rule and "Load from URL" items + // + menu.items.push(items[items.length-2],items[items.length-1]); + }; + MENU.CreateLocaleMenu(); MENU.showRenderer = function (show) { MENU.cookie.showRenderer = CONFIG.showRenderer = show; MENU.saveCookie(); diff --git a/unpacked/localization/fr/FontWarnings.js b/unpacked/localization/fr/FontWarnings.js index f0f5b1117..2320234d4 100644 --- a/unpacked/localization/fr/FontWarnings.js +++ b/unpacked/localization/fr/FontWarnings.js @@ -1,52 +1,50 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr.domains,{ - FontWarnings: { - isLoaded: true, - strings: { +MathJax.Localization.addTranslation("fr","FontWarnings",{ + isLoaded: true, + strings: { - webFont: - "MathJax utilise les polices Web pour afficher les expressions " + - "mathématiques sur cette page. Celles-ci mettent du temps à être "+ - "téléchargées et la page serait affichée plus rapidement si vous "+ - "installiez les polices mathématiques directement dans le dossier "+ - "des polices de votre système.", + webFont: + "MathJax utilise les polices Web pour afficher les expressions " + + "mathématiques sur cette page. Celles-ci mettent du temps à être "+ + "téléchargées et la page serait affichée plus rapidement si vous "+ + "installiez les polices mathématiques directement dans le dossier "+ + "des polices de votre système.", - imageFonts: - "MathJax utilise des images de caractères plutôt que les polices "+ - "Web ou locales. Ceci rend le rendu plus lent que la normale et "+ - "les expressions mathématiques peuvent ne pas s'imprimer à la "+ - "résolution maximale de votre imprimante", + imageFonts: + "MathJax utilise des images de caractères plutôt que les polices "+ + "Web ou locales. Ceci rend le rendu plus lent que la normale et "+ + "les expressions mathématiques peuvent ne pas s'imprimer à la "+ + "résolution maximale de votre imprimante", - noFonts: - "MathJax n'est pas parvenu à localiser une police pour afficher "+ - "les expressions mathématiques et les images de caractères ne "+ - "sont pas disponibles. Comme solution de dernier recours, il "+ - "utilise des caractères Unicode génériques en espérant que votre "+ - "navigateur sera capable de les afficher. Certains pourront ne "+ - "être rendus de façon incorrect voire pas du tout.", + noFonts: + "MathJax n'est pas parvenu à localiser une police pour afficher "+ + "les expressions mathématiques et les images de caractères ne "+ + "sont pas disponibles. Comme solution de dernier recours, il "+ + "utilise des caractères Unicode génériques en espérant que votre "+ + "navigateur sera capable de les afficher. Certains pourront ne "+ + "être rendus de façon incorrect voire pas du tout.", - webFonts: - "La plupart des navigateurs modernes permettent de télécharger "+ - "des polices à partir du Web. En mettant à jour pour une version "+ - "plus récente de votre navigateur (ou en changeant de navigateur) "+ - "la qualité des expressions mathématiques sur cette page pourrait "+ - "être améliorée.", + webFonts: + "La plupart des navigateurs modernes permettent de télécharger "+ + "des polices à partir du Web. En mettant à jour pour une version "+ + "plus récente de votre navigateur (ou en changeant de navigateur) "+ + "la qualité des expressions mathématiques sur cette page pourrait "+ + "être améliorée.", - fonts: - "MathJax peut utiliser les %1 ou bien les %2. Téléchargez et"+ - "installez l'une de ces familles de polices pour améliorer votre"+ - "expérience avec MathJax.", + fonts: + "MathJax peut utiliser les %1 ou bien les %2. Téléchargez et"+ + "installez l'une de ces familles de polices pour améliorer votre"+ + "expérience avec MathJax.", - PageDesigned: - "Cette page est conçue pour utiliser les %1. Téléchargez "+ - " et installez ces polices pour améliorer votre expérience "+ - "avec MathJax", + PageDesigned: + "Cette page est conçue pour utiliser les %1. Téléchargez "+ + " et installez ces polices pour améliorer votre expérience "+ + "avec MathJax", - STIXfonts: - "Polices STIX", + STIXfonts: + "Polices STIX", - TeXfonts: - "Polices TeX de MathJax" - } + TeXfonts: + "Polices TeX de MathJax" } }); diff --git a/unpacked/localization/fr/HTML-CSS.js b/unpacked/localization/fr/HTML-CSS.js index bacab5151..7beb0eae6 100644 --- a/unpacked/localization/fr/HTML-CSS.js +++ b/unpacked/localization/fr/HTML-CSS.js @@ -1,26 +1,25 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr.domains,{ - "HTML-CSS": { - isLoaded: true, - strings: { +MathJax.Localization.addTranslation("fr","HTML-CSS",{ + isLoaded: true, + strings: { - LoadWebFont: "Téléchargement la police Web %1", + LoadWebFont: + "Téléchargement la police Web %1", - CantLoadWebFont: "Impossible de télécharcharger la police Web %1", + CantLoadWebFont: + "Impossible de télécharcharger la police Web %1", - FirefoxCantLoadWebFont: - "Firefox ne peut télécharger les polices Web à partir d'un hôte "+ - "distant", + FirefoxCantLoadWebFont: + "Firefox ne peut télécharger les polices Web à partir d'un hôte "+ + "distant", - CantFindFontUsing: - "Impossible de trouver une police valide en utilisant %1", + CantFindFontUsing: + "Impossible de trouver une police valide en utilisant %1", - WebFontsNotAvailable: - "Polices Web non disponibles -- des images de caractères vont être "+ - "utilisées à la place" + WebFontsNotAvailable: + "Polices Web non disponibles -- des images de caractères vont être "+ + "utilisées à la place" - } } - }); MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HTML-CSS.js"); diff --git a/unpacked/localization/fr/MathML.js b/unpacked/localization/fr/MathML.js index 01123fc55..8caf8fab9 100644 --- a/unpacked/localization/fr/MathML.js +++ b/unpacked/localization/fr/MathML.js @@ -1,48 +1,46 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr.domains,{ - MathML: { - isLoaded: true, - strings: { +MathJax.Localization.addTranslation("fr","MathML",{ + isLoaded: true, + strings: { - BadMglyph: - "Élement mglyph incorrect: %1", + BadMglyph: + "Élement mglyph incorrect: %1", - BadMglyphFont: - "Police de caractère incorrecte: %1", + BadMglyphFont: + "Police de caractère incorrecte: %1", - MathPlayer: - "MathJax n'est pas parvenu à configurer MathPlayer.\n\n"+ - "Vous devez d'abord installer MathPlayer. Si c'est déjà le cas,\n"+ - "vos paramètres de sécurités peuvent empêcher l'exécution des\n"+ - "contrôles ActiveX. Sélectionnez Options Internet dans le menu\n"+ - "Outils et sélectionnez l'onglet Sécurité. Appuyez ensuite sur\n"+ - "le menu Niveau Personalisé. Assurez vous que les paramètres\n"+ - "Exécution des contrôles ActiveX et Comportements des exécutables\n"+ - "et des scripts sont activés.\n\n"+ - "Actuellement, vous verez des messages d'erreur à la place des\n"+ - "expressions mathématiques.", + MathPlayer: + "MathJax n'est pas parvenu à configurer MathPlayer.\n\n"+ + "Vous devez d'abord installer MathPlayer. Si c'est déjà le cas,\n"+ + "vos paramètres de sécurités peuvent empêcher l'exécution des\n"+ + "contrôles ActiveX. Sélectionnez Options Internet dans le menu\n"+ + "Outils et sélectionnez l'onglet Sécurité. Appuyez ensuite sur\n"+ + "le menu Niveau Personalisé. Assurez vous que les paramètres\n"+ + "Exécution des contrôles ActiveX et Comportements des exécutables\n"+ + "et des scripts sont activés.\n\n"+ + "Actuellement, vous verez des messages d'erreur à la place des\n"+ + "expressions mathématiques.", - CantCreateXMLParser: - "MathJax ne peut créer un analyseur grammatical XML pour le MathML", + CantCreateXMLParser: + "MathJax ne peut créer un analyseur grammatical XML pour le MathML", - UnknownNodeType: - "Type de noeud inconnu: %1", + UnknownNodeType: + "Type de noeud inconnu: %1", - UnexpectedTextNode: - "Noeud de texte inattendu: %1", + UnexpectedTextNode: + "Noeud de texte inattendu: %1", - ErrorParsingMathML: - "Erreur lors de l'analyse grammaticale du code MathML", + ErrorParsingMathML: + "Erreur lors de l'analyse grammaticale du code MathML", - ParsingError: - "Erreur lors de l'analyse du code MathML: %1", + ParsingError: + "Erreur lors de l'analyse du code MathML: %1", - MathMLSingleElement: - "Le code MathML doit être formé d'un unique élément", + MathMLSingleElement: + "Le code MathML doit être formé d'un unique élément", - MathMLRootElement: - "Le code MathML doit être formé d'un élément et non un élément %1" + MathMLRootElement: + "Le code MathML doit être formé d'un élément et non un élément %1" - } } }); diff --git a/unpacked/localization/fr/MathMenu.js b/unpacked/localization/fr/MathMenu.js index 185e6fb07..03f2efde4 100644 --- a/unpacked/localization/fr/MathMenu.js +++ b/unpacked/localization/fr/MathMenu.js @@ -1,117 +1,116 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr.domains,{ - MathMenu: { - isLoaded: true, - strings: { +MathJax.Localization.addTranslation("fr","MathMenu",{ + isLoaded: true, + strings: { - Show: "Afficher la Formule sous Forme", - MathMLcode: "de Code MathML", - OriginalMathML: "de Code MathML d'Origine", - TeXCommands: "de Commandes TeX", - AsciiMathInput: "de code AsciiMathml", - Original: "d'Origine", - ErrorMessage: "de Message d'Erreur", - texHints: "Afficher les indications TeX dans le code MathML", - Settings: "Paramètres des formules", - ZoomTrigger: "Déclenchement du Zoom par", - Hover: "Survol de la Souris", - Click: "Clic de Souris", - DoubleClick: "Double-Clic", - NoZoom: "Pas de Zoom", - TriggerRequires: "Le déclenchement nécessite l'appui sur la touche", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Facteur de Zoom", - Renderer: "Mode de Rendu", - MPHandles: "Laissez MathPlayer Gérer les", - MenuEvents: "Êvénements du menu", - MouseEvents: "Êvénements de la Souris", - MenuAndMouse: "Êvénements de Menu et de la Souris", - FontPrefs: "Préférences des Polices", - ForHTMLCSS: "Pour le HTML-CSS:", - Auto: "Auto", - TeXLocal: "TeX (locales)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (image)", - STIXLocal: "STIX (locales)", - ContextMenu: "Menu Contextuel", - Browser: "Navigateur", - Scale: "Mise à l'échelle des formules ...", - Discoverable: "Mettez en Surbrillance lors du Survol", - About: "À Propos de MathJax", - Help: "Aide MathJax", + Show: "Afficher la Formule sous Forme", + MathMLcode: "de Code MathML", + OriginalMathML: "de Code MathML d'Origine", + TeXCommands: "de Commandes TeX", + AsciiMathInput: "de code AsciiMathml", + Original: "d'Origine", + ErrorMessage: "de Message d'Erreur", + texHints: "Afficher les indications TeX dans le code MathML", + Settings: "Paramètres des formules", + ZoomTrigger: "Déclenchement du Zoom par", + Hover: "Survol de la Souris", + Click: "Clic de Souris", + DoubleClick: "Double-Clic", + NoZoom: "Pas de Zoom", + TriggerRequires: "Le déclenchement nécessite l'appui sur la touche", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Facteur de Zoom", + Renderer: "Mode de Rendu", + MPHandles: "Laissez MathPlayer Gérer les", + MenuEvents: "Êvénements du menu", + MouseEvents: "Êvénements de la Souris", + MenuAndMouse: "Êvénements de Menu et de la Souris", + FontPrefs: "Préférences des Polices", + ForHTMLCSS: "Pour le HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (locales)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (image)", + STIXLocal: "STIX (locales)", + ContextMenu: "Menu Contextuel", + Browser: "Navigateur", + Scale: "Mise à l'échelle des formules ...", + Discoverable: "Mettez en Surbrillance lors du Survol", + About: "À Propos de MathJax", + Help: "Aide MathJax", - localTeXfonts: "utilisant les polices locales TeX", - webTeXfonts: "utilisant les polices internet TeX", - imagefonts: "utilisant les polices d'image", - localSTIXfonts: "utilisant les polices locales STIX", - webSVGfonts: "utilisant les polices internet SVG", - genericfonts: "utilisant les polices locales génériques", + localTeXfonts: "utilisant les polices locales TeX", + webTeXfonts: "utilisant les polices internet TeX", + imagefonts: "utilisant les polices d'image", + localSTIXfonts: "utilisant les polices locales STIX", + webSVGfonts: "utilisant les polices internet SVG", + genericfonts: "utilisant les polices locales génériques", - wofforotffonts: "les polices woff ou otf", - eotffonts: "les polices eot", - svgfonts: "les polices svg", + wofforotffonts: "les polices woff ou otf", + eotffonts: "les polices eot", + svgfonts: "les polices svg", - WebkitNativeMMLWarning: - "Votre navigateur ne semble pas comporter de support MathML, " + - "changer le mode de rendu pourrait rendre illisibles " + - "les expressions mathématiques.", + WebkitNativeMMLWarning: + "Votre navigateur ne semble pas comporter de support MathML, " + + "changer le mode de rendu pourrait rendre illisibles " + + "les expressions mathématiques.", - MSIENativeMMLWarning: - "Internet Explorer a besoin du module complémentaire MathPlayer " + - "pour afficher le MathML.", + MSIENativeMMLWarning: + "Internet Explorer a besoin du module complémentaire MathPlayer " + + "pour afficher le MathML.", - OperaNativeMMLWarning: - "Le support MathML d'Opera est limité, changer le mode de rendu " + - "pourrait entrainer un affichage médiocre de certaines expressions.", + OperaNativeMMLWarning: + "Le support MathML d'Opera est limité, changer le mode de rendu " + + "pourrait entrainer un affichage médiocre de certaines expressions.", - SafariNativeMMLWarning: - "Le support MathML natif de votre navigateur ne comporte pas " + - "toutes les fonctionnalités requises par MathJax, certaines " + - "expressions pourront donc ne pas s'afficher correctement.", + SafariNativeMMLWarning: + "Le support MathML natif de votre navigateur ne comporte pas " + + "toutes les fonctionnalités requises par MathJax, certaines " + + "expressions pourront donc ne pas s'afficher correctement.", - FirefoxNativeMMLWarning: - "Le support MathML natif de votre navigateur ne comporte pas " + - "toutes les fonctionnalités requises par MathJax, certaines " + - "expressions pourront donc ne pas s'afficher correctement.", + FirefoxNativeMMLWarning: + "Le support MathML natif de votre navigateur ne comporte pas " + + "toutes les fonctionnalités requises par MathJax, certaines " + + "expressions pourront donc ne pas s'afficher correctement.", - SwitchAnyway: - "Êtes vous certain de vouloir changer le mode de rendu ?\n\n" + - "Appuyez sur OK pour valider ou Annuler pour continuer avec le " + - "mode de rendu actuellement sélectionné.", + SwitchAnyway: + "Êtes vous certain de vouloir changer le mode de rendu ?\n\n" + + "Appuyez sur OK pour valider ou Annuler pour continuer avec le " + + "mode de rendu actuellement sélectionné.", - ScaleMath: - "Mise à l'échelle des expressions mathématiques (par rapport au " + - "text environnant) de", + ScaleMath: + "Mise à l'échelle des expressions mathématiques (par rapport au " + + "text environnant) de", - NonZeroScale: - "L'échelle ne peut être nulle", + NonZeroScale: + "L'échelle ne peut être nulle", - PercentScale: - "L'échelle doit être un pourcentage (e.g. 120%%)", + PercentScale: + "L'échelle doit être un pourcentage (e.g. 120%%)", - IE8warning: - "Ceci désactivera le menu de MathJax et les fonctionalités de " + - "zoom mais vous pourrez toujours obtenir le menu de MathJax " + - "en utilisant la commande Alt+Clic sur une expression.\n\n" + - "Êtes vous certain de vouloir choisir les options de MathPlayer?", + IE8warning: + "Ceci désactivera le menu de MathJax et les fonctionalités de " + + "zoom mais vous pourrez toujours obtenir le menu de MathJax " + + "en utilisant la commande Alt+Clic sur une expression.\n\n" + + "Êtes vous certain de vouloir choisir les options de MathPlayer?", - IE9warning: - "Le menu contextuel de MathJax sera désactivé, " + - "mais vous pourrez toujours obtenir le menu de MathJax " + - "en utilisant la commande Alt-Clic sur une expression.", + IE9warning: + "Le menu contextuel de MathJax sera désactivé, " + + "mais vous pourrez toujours obtenir le menu de MathJax " + + "en utilisant la commande Alt-Clic sur une expression.", - NoOriginalForm: - "Aucune forme d'origine disponible.", + NoOriginalForm: + "Aucune forme d'origine disponible.", - Close: - "Fermer", + Close: + "Fermer", + + EqSource: + "Source de l'équation MathJax" - EqSource: - "Source de l'équation MathJax" - } } }); diff --git a/unpacked/localization/fr/TeX.js b/unpacked/localization/fr/TeX.js index 6943e9637..8ef858c52 100644 --- a/unpacked/localization/fr/TeX.js +++ b/unpacked/localization/fr/TeX.js @@ -1,253 +1,250 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr.domains,{ - TeX: { - isLoaded: true, - strings: { - ExtraOpenMissingClose: - "Accolade ouvrant manquante ou accolade fermante non attendue", +MathJax.Localization.addTranslation("fr","TeX",{ + isLoaded: true, + strings: { - ExtraCloseMissingOpen: - "Accolade fermante non attendue ou accolade ouvrante manquante", + ExtraOpenMissingClose: + "Accolade ouvrant manquante ou accolade fermante non attendue", - MissingLeftExtraRight: - "Commande \\left manquante or ou commande \\right non attendue", + ExtraCloseMissingOpen: + "Accolade fermante non attendue ou accolade ouvrante manquante", - MissingScript: - "Argument en exposant ou en indice manquant", + MissingLeftExtraRight: + "Commande \\left manquante or ou commande \\right non attendue", - ExtraLeftMissingRight: - "Commande \\left inattendue or ou commande \\right manquante", + MissingScript: + "Argument en exposant ou en indice manquant", - Misplaced: - "Mauvaise position pour la commande %1", + ExtraLeftMissingRight: + "Commande \\left inattendue or ou commande \\right manquante", - MissingOpenForScript: - "Accolade ouvrante manquante pour le script %1", + Misplaced: + "Mauvaise position pour la commande %1", - AmbiguousUseOf: - "Usage ambigu de la commande %1", + MissingOpenForScript: + "Accolade ouvrante manquante pour le script %1", - EnvBadEnd: - "\\begin{%1} s'est terminé par un \\end{%2}", + AmbiguousUseOf: + "Usage ambigu de la commande %1", - EnvMissingEnd: - "\\end{%1} manquant", + EnvBadEnd: + "\\begin{%1} s'est terminé par un \\end{%2}", - MissingBoxFor: - "Boite manquante pour la commande %1", + EnvMissingEnd: + "\\end{%1} manquant", - MissingCloseBrace: - "Accolade fermante manquante", + MissingBoxFor: + "Boite manquante pour la commande %1", - UndefinedControlSequence: - "Commande %1 non définie", + MissingCloseBrace: + "Accolade fermante manquante", - IllegalControlSequenceName: - "Nom de contrôle de séquence non autorisé pour la commande %1", + UndefinedControlSequence: + "Commande %1 non définie", - IllegalParamNumber: - "Nombre de paramètres incorrect pour la commande %1", + IllegalControlSequenceName: + "Nom de contrôle de séquence non autorisé pour la commande %1", - DoubleExponent: - "Double exposant: utilisez des accolades pour clarifier", + IllegalParamNumber: + "Nombre de paramètres incorrect pour la commande %1", - DoubleSubscripts: - "Double indice: utilisez des accolades pour clarifier", + DoubleExponent: + "Double exposant: utilisez des accolades pour clarifier", - DoubleExponentPrime: - "Un prime entraine un double exposant: utilisez "+ - "des accolades pour clarifier", + DoubleSubscripts: + "Double indice: utilisez des accolades pour clarifier", - CantUseHash1: - "Vous ne pouvez pas utilisez le caractère #, indiquant un "+ - "paramètre de macro, dans le mode mathématique", + DoubleExponentPrime: + "Un prime entraine un double exposant: utilisez "+ + "des accolades pour clarifier", - CantUseHash2: - "Usage du caractère # non autorisé dans le modèle pour la séquence "+ - "de contrôle %1", + CantUseHash1: + "Vous ne pouvez pas utilisez le caractère #, indiquant un "+ + "paramètre de macro, dans le mode mathématique", - MisplacedMiddle: - "La commande %1 doit être placée à l'intérieur d'une section "+ - "\\left ... \right", + CantUseHash2: + "Usage du caractère # non autorisé dans le modèle pour la séquence "+ + "de contrôle %1", - MisplacedLimits: - "La commande %1 n'est autorisée que sur les opérateurs", + MisplacedMiddle: + "La commande %1 doit être placée à l'intérieur d'une section "+ + "\\left ... \right", - MisplacedMoveRoot: - "La commande %1 n'est autorisée qu'à l'intérieur d'une racine", + MisplacedLimits: + "La commande %1 n'est autorisée que sur les opérateurs", - MultipleMoveRoot: - "Commande %1 redondante", + MisplacedMoveRoot: + "La commande %1 n'est autorisée qu'à l'intérieur d'une racine", - IntegerArg: - "L'argument de la commande %1 doit être un entier", + MultipleMoveRoot: + "Commande %1 redondante", - PositiveIntegerArg: - "L'argument de la commande %1 doit être un entier strictement "+ - "positif", + IntegerArg: + "L'argument de la commande %1 doit être un entier", - NotMathMLToken: - "L'élément %1 n'est pas un élément MathML élémentaire", + PositiveIntegerArg: + "L'argument de la commande %1 doit être un entier strictement "+ + "positif", - InvalidMathMLAttr: - "Attribut MathML non valide: %1", + NotMathMLToken: + "L'élément %1 n'est pas un élément MathML élémentaire", - UnknownAttrForElement: - "Attribut %1 inconnu pour l'élément %2", + InvalidMathMLAttr: + "Attribut MathML non valide: %1", - MaxMacroSub1: - "Le nombre maximal de substitution de macro autorisé par MathJax "+ - "a été dépassé. Il y a t'il un appel de macro récursif?", + UnknownAttrForElement: + "Attribut %1 inconnu pour l'élément %2", - MaxMacroSub2: - "Le nombre maximal de substitution de macro autorisé par MathJax "+ - "a été dépassé. Il y a t'il un environnement LaTeX récursif?", + MaxMacroSub1: + "Le nombre maximal de substitution de macro autorisé par MathJax "+ + "a été dépassé. Il y a t'il un appel de macro récursif?", - MissingArgFor: - "Argument manquant pour la commande %1", + MaxMacroSub2: + "Le nombre maximal de substitution de macro autorisé par MathJax "+ + "a été dépassé. Il y a t'il un environnement LaTeX récursif?", - ExtraAlignTab: - "Tabulation d'alignement non attendu pour le texte de la commande "+ - "\\cases", + MissingArgFor: + "Argument manquant pour la commande %1", - BracketMustBeDimension: - "L'argument entre crochets de la commande %1 doit être une "+ - "dimension", + ExtraAlignTab: + "Tabulation d'alignement non attendu pour le texte de la commande \\cases", - InvalidEnv: - "Nom d'environnement '%1' non valide", + BracketMustBeDimension: + "L'argument entre crochets de la commande %1 doit être une dimension", - UnknownEnv: - "Environnement '%1' inconnu", + InvalidEnv: + "Nom d'environnement '%1' non valide", - ExtraClose: - "Accolade fermante non attendue", + UnknownEnv: + "Environnement '%1' inconnu", - ExtraCloseInBrackets: - "Accolade fermante non attendue avant le crochet fermant.", + ExtraClose: + "Accolade fermante non attendue", - MissingCloseBracket: - "Impossible de trouver le crochet fermant pour l'argument de la "+ - "commande %1", + ExtraCloseInBrackets: + "Accolade fermante non attendue avant le crochet fermant.", - MissingOrUnrecognizedDelim: - "Délimiteur manquant ou non reconnu pour la commande %1", + MissingCloseBracket: + "Impossible de trouver le crochet fermant pour l'argument de la commande %1", - MissingDimOrUnits: - "Dimension ou unité manquante pour la commande %1", + MissingOrUnrecognizedDelim: + "Délimiteur manquant ou non reconnu pour la commande %1", - ExtraCloseBraceInUpTo: - "Accolade fermante non attendue avant la commande %1", + MissingDimOrUnits: + "Dimension ou unité manquante pour la commande %1", - TokenNotFoundForCommand: - "Impossible de trouver la commande %1 pour la commande %2", + ExtraCloseBraceInUpTo: + "Accolade fermante non attendue avant la commande %1", - MathNotTerminated: - "Expression mathématique non terminée à l'intérieur de cette boite "+ - "de texte", + TokenNotFoundForCommand: + "Impossible de trouver la commande %1 pour la commande %2", - IllegalMacroParam: - "Paramètre de référence de macro non autorisé", + MathNotTerminated: + "Expression mathématique non terminée à l'intérieur de cette boite "+ + "de texte", - MaxBufferSize: - "Taille maximale du tampon interne de MathJax dépassée. " + - "Il y a t'il un appel de macro récursif?", + IllegalMacroParam: + "Paramètre de référence de macro non autorisé", - CommandNotAllowedInEnv: - "La commande %1 n'est pas autorisé à l'intérieur de "+ - "l'environnement %2", + MaxBufferSize: + "Taille maximale du tampon interne de MathJax dépassée. " + + "Il y a t'il un appel de macro récursif?", - MultipleCommand: - "Usage multiple de la commande %1", + CommandNotAllowedInEnv: + "La commande %1 n'est pas autorisé à l'intérieur de "+ + "l'environnement %2", - MultipleLabel: - "Étiquette '%1' déjà définie", + MultipleCommand: + "Usage multiple de la commande %1", - CommandAtTheBeginingOfLine: - "La commande %1 doit être placée en début de ligne", + MultipleLabel: + "Étiquette '%1' déjà définie", - IllegalAlign: - "Alignement non autorisé pour la commande %1", + CommandAtTheBeginingOfLine: + "La commande %1 doit être placée en début de ligne", - BadMathStyleFor: - "Style mathématique non valide pour la commande %1", + IllegalAlign: + "Alignement non autorisé pour la commande %1", - ErroneousNestingEq: - "Emboitement incorrect des structures d'équation", + BadMathStyleFor: + "Style mathématique non valide pour la commande %1", - MultipleRowsOneCol: - "Les lignes multiples doivent avoir exactement une colonne", + ErroneousNestingEq: + "Emboitement incorrect des structures d'équation", - NoClosingDelim: - "Impossible de trouver le délimiteur fermant pour la commande %1", + MultipleRowsOneCol: + "Les lignes multiples doivent avoir exactement une colonne", - NoClosingChar: - "Impossible de trouver le délimiteur '%1' fermant", + NoClosingDelim: + "Impossible de trouver le délimiteur fermant pour la commande %1", - MultipleBBoxProperty: - "La propriété %1 de la commande %2 spécifiée deux fois", + NoClosingChar: + "Impossible de trouver le délimiteur '%1' fermant", - InvalidBBoxProperty: - "La valeur '%1' ne semble pas être une couleur, une dimension ou "+ - "de marge intérieur ou un style.", + MultipleBBoxProperty: + "La propriété %1 de la commande %2 spécifiée deux fois", - ExtraEndMissingBegin: - "Commande %1 non attendue ou commande \\begingroup manquante", + InvalidBBoxProperty: + "La valeur '%1' ne semble pas être une couleur, une dimension ou "+ + "de marge intérieur ou un style.", - GlobalNotFollowedBy: - "Command %1 non suivie d'une commande \\let, \\def ou \newcommand", + ExtraEndMissingBegin: + "Commande %1 non attendue ou commande \\begingroup manquante", - NewextarrowArg1: - "Le premier argument de la commande %1 doit être le nom d'une "+ - "séquence de contrôle", + GlobalNotFollowedBy: + "Command %1 non suivie d'une commande \\let, \\def ou \newcommand", - NewextarrowArg2: - "Le second argument de la commande %1 doit être deux entiers "+ - "séparés par une virgule", + NewextarrowArg1: + "Le premier argument de la commande %1 doit être le nom d'une "+ + "séquence de contrôle", - NewextarrowArg3: - "Le troisième argument de la commande %1 doit être la valeur d'un "+ - "caractère unicode", + NewextarrowArg2: + "Le second argument de la commande %1 doit être deux entiers "+ + "séparés par une virgule", - UndefinedColorModel: - "Le modèle de couleur '%1' n'est pas défini", + NewextarrowArg3: + "Le troisième argument de la commande %1 doit être la valeur d'un "+ + "caractère unicode", - rgbArg1: - "Les couleurs rgb nécéssitent 3 nombres décimaux", + UndefinedColorModel: + "Le modèle de couleur '%1' n'est pas défini", - InvalidDecimalNumber: - "Nombre décimal non valide", + rgbArg1: + "Les couleurs rgb nécéssitent 3 nombres décimaux", - rgbArg2: - "Les valeurs rgb doivent être comprises entre 0 et 1", + InvalidDecimalNumber: + "Nombre décimal non valide", - RGBArg1: - "Les couleurs RGB nécéssitent 3 nombres", + rgbArg2: + "Les valeurs rgb doivent être comprises entre 0 et 1", - InvalidNumber: - "Nombre non valide", + RGBArg1: + "Les couleurs RGB nécéssitent 3 nombres", - RGBArg2: - "Les valeurs RGB doivent être comprises entre 0 et 255", + InvalidNumber: + "Nombre non valide", - GrayScalerArg: - "Les valeurs de dégradé de gris doivent être comprises entre 0 et 1", + RGBArg2: + "Les valeurs RGB doivent être comprises entre 0 et 255", - DoubleBackSlash: - "\\ doit être suivi d'une séquence de contrôle", + GrayScalerArg: + "Les valeurs de dégradé de gris doivent être comprises entre 0 et 1", - SequentialParam: - "Les paramètres de la séquence de contrôle %1 doivent être "+ - "énumérés de façon séquentielle", + DoubleBackSlash: + "\\ doit être suivi d'une séquence de contrôle", - MissingReplacementString: - "Chaine de caractère de remplacement manquante pour la définition %1", + SequentialParam: + "Les paramètres de la séquence de contrôle %1 doivent être "+ + "énumérés de façon séquentielle", - MismatchUseDef: - "L'utilisation de la commande %1 ne correspond pas à sa définition", + MissingReplacementString: + "Chaine de caractère de remplacement manquante pour la définition %1", - RunawayArgument: - "Argument manquant pour la commande %1?" - } + MismatchUseDef: + "L'utilisation de la commande %1 ne correspond pas à sa définition", + + RunawayArgument: + "Argument manquant pour la commande %1?" + } }); diff --git a/unpacked/localization/fr/fr.js b/unpacked/localization/fr/fr.js index ee95a6941..ba7f3ea5e 100644 --- a/unpacked/localization/fr/fr.js +++ b/unpacked/localization/fr/fr.js @@ -1,4 +1,4 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr,{ +MathJax.Localization.addTranslation("fr",null,{ isLoaded: true, domains: { "_": { diff --git a/unpacked/localization/fr/v1.0-warning.js b/unpacked/localization/fr/v1.0-warning.js index c2c6568da..d9a1149e1 100644 --- a/unpacked/localization/fr/v1.0-warning.js +++ b/unpacked/localization/fr/v1.0-warning.js @@ -1,14 +1,14 @@ -MathJax.Hub.Insert(MathJax.Localization.strings.fr.domains,{ - "v1.0-warning": { - isLoaded: true, - strings: { - MissingConfig: - "MathJax ne charge plus de fichier de configuration par défaut; "+ - "vous devez spécifier ces fichiers de façons explicites. Cette "+ - "page semble utiliser l'ancien fichier de configuration par "+ - "défaut %1 and doit donc être mise à jour. Ceci est expliqué "+ - "en détails à l'addresse suivante: %2" - } +MathJax.Localization.addTranslation("fr","v1.0-warning",{ + isLoaded: true, + strings: { + + MissingConfig: + "MathJax ne charge plus de fichier de configuration par défaut; "+ + "vous devez spécifier ces fichiers de façons explicites. Cette "+ + "page semble utiliser l'ancien fichier de configuration par "+ + "défaut %1 and doit donc être mise à jour. Ceci est expliqué "+ + "en détails à l'addresse suivante: %2" + } });