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().

This commit is contained in:
Davide P. Cervone 2013-04-07 11:44:58 -04:00
parent c4d47bb10d
commit f23cb8a6b2
9 changed files with 412 additions and 379 deletions

View File

@ -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()}
},
//

View File

@ -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();

View File

@ -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"
}
});

View File

@ -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");

View File

@ -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 <math> et non un élément %1"
MathMLRootElement:
"Le code MathML doit être formé d'un élément <math> et non un élément %1"
}
}
});

View File

@ -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"
}
}
});

View File

@ -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?"
}
});

View File

@ -1,4 +1,4 @@
MathJax.Hub.Insert(MathJax.Localization.strings.fr,{
MathJax.Localization.addTranslation("fr",null,{
isLoaded: true,
domains: {
"_": {

View File

@ -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"
}
});