More attempts to translate messages.
This commit is contained in:
parent
d71498ee25
commit
4fdb68a080
|
@ -882,7 +882,10 @@ MathJax.fileversion = "2.1";
|
|||
// The default error hook for file load failures
|
||||
//
|
||||
loadError: function (file) {
|
||||
BASE.Message.Set("File failed to load: "+file,null,2000);
|
||||
BASE.Message.Set(
|
||||
BASE.Localization._(["Message", "LoadFailed"],
|
||||
"File failed to load: %1", file),
|
||||
null,2000);
|
||||
BASE.Hub.signal.Post(["file load error",file]);
|
||||
},
|
||||
|
||||
|
@ -1758,9 +1761,10 @@ MathJax.Hub.Startup = {
|
|||
var user = MathJax.HTML.Cookie.Get("user");
|
||||
if (user.URL || user.Config) {
|
||||
if (confirm(
|
||||
"MathJax has found a user-configuration cookie that includes code to be run. " +
|
||||
"Do you want to run it?\n\n"+
|
||||
"(You should press Cancel unless you set up the cookie yourself.)"
|
||||
MathJax.Localization._("CookieConfig",
|
||||
"MathJax has found a user-configuration cookie that includes code to"+
|
||||
"be run. Do you want to run it?\n\n"+
|
||||
"(You should press Cancel unless you set up the cookie yourself.)")
|
||||
)) {
|
||||
if (user.URL) {this.queue.Push(["Require",MathJax.Ajax,user.URL])}
|
||||
if (user.Config) {this.queue.Push(new Function(user.Config))}
|
||||
|
@ -2488,9 +2492,28 @@ MathJax.Localization = {
|
|||
isLoaded: true,
|
||||
domains: {
|
||||
"_": {
|
||||
isLoaded: true,
|
||||
strings: {
|
||||
CookieConfie:
|
||||
"MathJax a trouvé un cookie de configuration utilisateur qui inclut"+
|
||||
"du code à exécuter. Souhaitez vous l'exécuter?\n\n"+
|
||||
"(Choisissez Annuler sauf si vous avez créé ce cookie vous-même",
|
||||
}
|
||||
},
|
||||
Message: {
|
||||
LoadFailed: "Échec du téléchargement de %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",
|
||||
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",
|
||||
MathJaxNotSupported:
|
||||
"Votre navigateur ne supporte pas MathJax"
|
||||
},
|
||||
FontWarnings: {
|
||||
isLoaded: true,
|
||||
strings: {
|
||||
|
@ -2623,10 +2646,33 @@ MathJax.Localization = {
|
|||
}
|
||||
},
|
||||
|
||||
Message: {
|
||||
MathML: {
|
||||
isLoaded: true,
|
||||
strings: {
|
||||
LoadFailed: "Échec du chargement du fichier %1"
|
||||
BadMglyph: "Élement mglyph incorrect: %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"+
|
||||
"expressions mathématiques.",
|
||||
CantCreateXMLParser:
|
||||
"MathJax ne peut créer un analyseur grammatical XML pour le MathML",
|
||||
UnknownNodeType: "Type de noeud inconnu: %1",
|
||||
UnexpectedTextNode: "Noeud de texte inattendu: %1",
|
||||
ErrorParsingMathML:
|
||||
"Erreur lors de l'analyse grammaticale du code MathML",
|
||||
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"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/extensions/v1.0-warning.js
|
||||
|
@ -64,6 +66,9 @@
|
|||
} else {delete CONFIG.style.filter}
|
||||
CONFIG.style.maxWidth = (document.body.clientWidth-75) + "px";
|
||||
DIV = HTML.addElement(frame,"div",{id:"MathJax_ConfigWarning",style:CONFIG.style},
|
||||
// Localization:
|
||||
// - decide HTML snippet format
|
||||
// - how do we ensure it is updated when the language is changed?
|
||||
_("MissingConfig",
|
||||
"%1 MathJax no longer loads a default configuration file; " +
|
||||
"you must specify such files explicitly. " +
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
["Do this",
|
||||
["b", null,
|
||||
["now!", ["img", {src: url}]]
|
||||
]
|
||||
]
|
||||
|
||||
_("dothis", "Do this %1",
|
||||
["b", null,
|
||||
_("now", "now! %1", ["img", {src: url}])
|
||||
]
|
||||
)
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/input/MathML/jax.js
|
||||
|
@ -26,6 +28,11 @@
|
|||
(function (MATHML,BROWSER) {
|
||||
var MML;
|
||||
|
||||
var _ = function (id) {
|
||||
return MathJax.Localization._.apply(MathJax.Localization,[
|
||||
["MathML",id] ].concat([].slice.call(arguments,1)))
|
||||
};
|
||||
|
||||
MATHML.Parse = MathJax.Object.Subclass({
|
||||
|
||||
Init: function (string) {this.Parse(string)},
|
||||
|
@ -46,18 +53,35 @@
|
|||
}
|
||||
math = math.replace(/^\s*(?:\/\/)?<!(--)?\[CDATA\[((.|\n)*)(\/\/)?\]\]\1>\s*$/,"$2");
|
||||
math = math.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity);
|
||||
doc = MATHML.ParseXML(math); if (doc == null) {MATHML.Error("Error parsing MathML")}
|
||||
doc = MATHML.ParseXML(math);
|
||||
if (doc == null) {
|
||||
MATHML.Error(_("ErrorParsingMathML", "Error parsing MathML"))
|
||||
}
|
||||
}
|
||||
var err = doc.getElementsByTagName("parsererror")[0];
|
||||
// Localization: This seems to replace error messages produced
|
||||
// by browsers. Does that work in all languages?
|
||||
if (err) MATHML.Error("Error parsing MathML: "+err.textContent.replace(/This page.*?errors:|XML Parsing Error: |Below is a rendering of the page.*/g,""));
|
||||
if (doc.childNodes.length !== 1) MATHML.Error("MathML must be formed by a single element");
|
||||
if (doc.childNodes.length !== 1) {
|
||||
MATHML.Error(
|
||||
_("MathMLSingleElement", "MathML must be formed by a single element")
|
||||
);
|
||||
}
|
||||
if (doc.firstChild.nodeName.toLowerCase() === "html") {
|
||||
var h1 = doc.getElementsByTagName("h1")[0];
|
||||
if (h1 && h1.textContent === "XML parsing error" && h1.nextSibling)
|
||||
// Localization: This seems to replace error messages produced
|
||||
// by browsers. Does that work in all languages?
|
||||
MATHML.Error("Error parsing MathML: "+String(h1.nextSibling.nodeValue).replace(/fatal parsing error: /,""));
|
||||
}
|
||||
if (doc.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") !== "math")
|
||||
MATHML.Error("MathML must be formed by a <math> element, not <"+doc.firstChild.nodeName+">");
|
||||
if (doc.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") !==
|
||||
"math") {
|
||||
MATHML.Error(
|
||||
_("MathMLRootElement",
|
||||
"MathML must be formed by a <math> element, not %1",
|
||||
"<"+doc.firstChild.nodeName+">")
|
||||
);
|
||||
}
|
||||
this.mml = this.MakeMML(doc.firstChild);
|
||||
},
|
||||
|
||||
|
@ -72,7 +96,10 @@
|
|||
mml = this.TeXAtom(match[2]);
|
||||
} else if (!(MML[type] && MML[type].isa && MML[type].isa(MML.mbase))) {
|
||||
MathJax.Hub.signal.Post(["MathML Jax - unknown node type",type]);
|
||||
return MML.merror("Unknown node type: "+type);
|
||||
return MML.merror(
|
||||
MathJax.Localization._(
|
||||
"UnknownNodeType", "Unknown node type: %1", type)
|
||||
);
|
||||
} else {
|
||||
mml = MML[type]();
|
||||
}
|
||||
|
@ -148,7 +175,10 @@
|
|||
var text = child.nodeValue.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity);
|
||||
mml.Append(MML.chars(this.trimSpace(text)));
|
||||
} else if (child.nodeValue.match(/\S/)) {
|
||||
MATHML.Error("Unexpected text node: '"+child.nodeValue+"'");
|
||||
MATHML.Error(
|
||||
_("UnexpectedTextNode", "Unexpected text node: %1",
|
||||
"'"+child.nodeValue+"'")
|
||||
);
|
||||
}
|
||||
} else if (mml.type === "annotation-xml") {
|
||||
mml.Append(MML.xml(child));
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/input/TeX/jax.js
|
||||
|
@ -72,8 +74,9 @@
|
|||
|
||||
var STACKITEM = STACK.Item = MathJax.Object.Subclass({
|
||||
type: "base",
|
||||
closeError: "Extra close brace or missing open brace",
|
||||
rightError: "Missing \\left or extra \\right",
|
||||
// Localization: should be updated when the language is changed
|
||||
closeError: _("closeError", "Extra close brace or missing open brace"),
|
||||
rightError: _("rightError", "Missing \\left or extra \\right"),
|
||||
Init: function () {
|
||||
if (this.isOpen) {this.env = {}}
|
||||
this.data = [];
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/output/HTML-CSS/autoload/mglyph.js
|
||||
|
@ -39,7 +41,11 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
if (HTMLCSS.Font.testFont(font)) {
|
||||
this.HTMLhandleVariant(span,variant,String.fromCharCode(index));
|
||||
} else {
|
||||
if (values.alt === "") {values.alt = "Bad font: "+font.family}
|
||||
if (values.alt === "") {
|
||||
values.alt =
|
||||
MathJax.Localization._(["MathML", "BadMglyphFont"],
|
||||
"Bad font: %1", font.family);
|
||||
}
|
||||
err = MML.merror(values.alt).With({mathsize:"75%"});
|
||||
this.Append(err); err.toHTML(span); this.data.pop();
|
||||
span.bbox = err.HTMLspanElement().bbox;
|
||||
|
@ -57,7 +63,10 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
MathJax.Hub.RestartAfter(img.onload);
|
||||
}
|
||||
if (this.img.status !== "OK") {
|
||||
err = MML.merror("Bad mglyph: "+values.src).With({mathsize:"75%"});
|
||||
err = MML.merror(
|
||||
MathJax.Localization._(["MathML", "BadMglyph"],
|
||||
"Bad mglyph: %1", values.src)
|
||||
).With({mathsize:"75%"});
|
||||
this.Append(err); err.toHTML(span); this.data.pop();
|
||||
span.bbox = err.HTMLspanElement().bbox;
|
||||
} else {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/output/HTML-CSS/config.js
|
||||
|
@ -145,7 +147,10 @@ MathJax.Hub.Register.StartupHook("End Config",[function (HUB,HTMLCSS) {
|
|||
!HUB.Browser.versionAtLeast(CONFIG.minBrowserVersion[HUB.Browser]||0.0)) {
|
||||
HTMLCSS.Translate = CONFIG.minBrowserTranslate;
|
||||
HUB.Config({showProcessingMessages: false});
|
||||
MathJax.Message.Set("Your browser does not support MathJax",null,4000);
|
||||
MathJax.Message.Set(
|
||||
MathJax.Localization._(["Message", "MathJaxNotSupported"],
|
||||
"Your browser does not support MathJax"),
|
||||
null,4000);
|
||||
HUB.Startup.signal.Post("MathJax not supported");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/output/HTML-CSS/jax.js
|
||||
|
@ -129,7 +131,12 @@
|
|||
|
||||
loadWebFont: function (font) {
|
||||
HUB.Startup.signal.Post("HTML-CSS Jax - Web-Font "+HTMLCSS.fontInUse+"/"+font.directory);
|
||||
var n = MathJax.Message.File("Web-Font "+HTMLCSS.fontInUse+"/"+font.directory);
|
||||
var n = MathJax.Message.File(
|
||||
// Localization: Message.File(fileName) will write "Loading "+fileName
|
||||
// Here, this will become "Loading Web-Font "+fileName. Does it work
|
||||
// for all languages (word order might be different)?
|
||||
"Web-Font "+HTMLCSS.fontInUse+"/"+font.directory
|
||||
);
|
||||
var done = MathJax.Callback({}); // called when font is loaded
|
||||
var callback = MathJax.Callback(["loadComplete",this,font,n,done]);
|
||||
AJAX.timer.start(AJAX,[this.checkWebFont,font,callback],0,this.timeout);
|
||||
|
@ -149,11 +156,17 @@
|
|||
if (!this.webFontLoaded) {HTMLCSS.loadWebFontError(font,done)} else {done()}
|
||||
},
|
||||
loadError: function (font) {
|
||||
MathJax.Message.Set("Can't load web font "+HTMLCSS.fontInUse+"/"+font.directory,null,2000);
|
||||
MathJax.Message.Set(
|
||||
MathJax.Localization._("Message", "CantLoadWebFont",
|
||||
"Can't load web font %1", HTMLCSS.fontInUse+"/"+font.directory),
|
||||
null,2000);
|
||||
HUB.Startup.signal.Post(["HTML-CSS Jax - web font error",HTMLCSS.fontInUse+"/"+font.directory,font]);
|
||||
},
|
||||
firefoxFontError: function (font) {
|
||||
MathJax.Message.Set("Firefox can't load web fonts from a remote host",null,3000);
|
||||
MathJax.Message.Set(
|
||||
MathJax.Localization._(["Message", "FirefoxCantLoadWebFont"],
|
||||
"Firefox can't load web fonts from a remote host"),
|
||||
null,3000);
|
||||
HUB.Startup.signal.Post("HTML-CSS Jax - Firefox web fonts on remote host error");
|
||||
},
|
||||
|
||||
|
@ -321,7 +334,11 @@
|
|||
HUB.Startup.signal.Post("HTML-CSS Jax - using image fonts");
|
||||
}
|
||||
} else {
|
||||
MathJax.Message.Set("Can't find a valid font using ["+this.config.availableFonts.join(", ")+"]",null,3000);
|
||||
MathJax.Message.Set(
|
||||
MathJax.Localization._(["Message", "CantFindFontUsing"],
|
||||
"Can't find a valid font using %1",
|
||||
"["+this.config.availableFonts.join(", ")+"]"),
|
||||
null,3000);
|
||||
this.FONTDATA = {
|
||||
TeX_factor: 1, baselineskip: 1.2, lineH: .8, lineD: .2, ffLineH: .8,
|
||||
FONTS: {}, VARIANT: {normal: {fonts:[]}}, RANGES: [],
|
||||
|
@ -1469,7 +1486,10 @@
|
|||
this.imgFonts = true;
|
||||
HUB.Startup.signal.Post("HTML-CSS Jax - switch to image fonts");
|
||||
HUB.Startup.signal.Post("HTML-CSS Jax - using image fonts");
|
||||
MathJax.Message.Set("Web-Fonts not available -- using image fonts instead",null,3000);
|
||||
MathJax.Message.Set(
|
||||
MathJax.Localization._(["Message", "WebFontNotAvailable"],
|
||||
"Web-Fonts not available -- using image fonts instead"),
|
||||
null,3000);
|
||||
AJAX.Require(this.directory+"/imageFonts.js",done);
|
||||
} else {
|
||||
this.allowWebFonts = false;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/output/NativeMML/jax.js
|
||||
|
@ -139,7 +141,12 @@
|
|||
//
|
||||
// If that fails, give an alert about security settings
|
||||
//
|
||||
alert("MathJax was not able to set up MathPlayer.\n\n"+
|
||||
// Localization: this seems to use "\n" to force new lines in the
|
||||
// dialog: is it really necessary? If so, we need a localization note
|
||||
// to explain that to localizers. Handling of concatenation might
|
||||
// be an additional difficulty for the string extractor.
|
||||
alert(_MathJax.Localization._(["MathML", "MathPlayer"],
|
||||
"MathJax was not able to set up MathPlayer.\n\n"+
|
||||
"If MathPlayer is not installed, you need to install it first.\n"+
|
||||
"Otherwise, your security settings may be preventing ActiveX \n"+
|
||||
"controls from running. Use the Internet Options item under\n"+
|
||||
|
@ -148,7 +155,7 @@
|
|||
"'Run ActiveX Controls', and 'Binary and script behaviors'\n"+
|
||||
"are enabled.\n\n"+
|
||||
"Currently you will see error messages rather than\n"+
|
||||
"typeset mathematics.");
|
||||
"typeset mathematics."));
|
||||
}
|
||||
} else {
|
||||
//
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/*************************************************************
|
||||
*
|
||||
* MathJax/jax/output/SVG/autoload/mglyph.js
|
||||
|
@ -70,7 +72,10 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
MathJax.Hub.RestartAfter(img.onload);
|
||||
}
|
||||
if (this.img.status !== "OK") {
|
||||
err = MML.merror("Bad mglyph: "+values.src).With({mathsize:"75%"});
|
||||
err = MML.merror(
|
||||
MathJax.Localization._(["MathML", "BadMglyph"],
|
||||
"Bad mglyph: %1", values.src)
|
||||
).With({mathsize:"75%"});
|
||||
this.Append(err); svg = err.toSVG(); this.data.pop();
|
||||
} else {
|
||||
var mu = this.SVGgetMu(svg);
|
||||
|
|
Loading…
Reference in New Issue
Block a user