From dd019796b0bcdd79222ad414bf546609bc8e8563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Wang?= Date: Mon, 25 Feb 2013 16:09:17 +0100 Subject: [PATCH] More translations... --- unpacked/MathJax.js | 53 +++++++++++++++++++-- unpacked/config/Accessible-full.js | 5 +- unpacked/config/Accessible.js | 5 +- unpacked/config/MMLorHTML.js | 7 ++- unpacked/config/default.js | 5 +- unpacked/extensions/FontWarnings.js | 5 ++ unpacked/extensions/MathMenu.js | 13 ++++++ unpacked/extensions/TeX/AMSmath.js | 67 ++++++++++++++++++++++----- unpacked/extensions/TeX/bbox.js | 32 +++++++++++-- unpacked/extensions/TeX/begingroup.js | 2 + unpacked/extensions/TeX/color.js | 2 + unpacked/extensions/TeX/extpfeil.js | 2 + unpacked/extensions/TeX/mhchem.js | 2 + unpacked/extensions/TeX/newcommand.js | 2 + unpacked/extensions/TeX/verb.js | 17 +++++-- unpacked/extensions/v1.0-warning.js | 9 +--- unpacked/jax/input/TeX/jax.js | 2 +- unpacked/jax/output/NativeMML/jax.js | 2 +- 18 files changed, 196 insertions(+), 36 deletions(-) diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index 7ef004fea..d71dcba6e 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -1136,6 +1136,13 @@ MathJax.Message = { frame.style.height = body.clientHeight + 'px'; }, + // Localization: + // - This will be a bit tedious, because some regexp matching and other + // concatenations are done. + // - In RTL languages: perhaps a "direction: rtl" style is needed somewhere ; + // the message box may need to be placed on the right hand side. + // - Perhaps related to the other messages "Loading", "Processing", + // "Typesetting" elsewhere. filterText: function (text,n) { if (MathJax.Hub.config.messageStyle === "simple") { if (text.match(/^Loading /)) { @@ -1210,6 +1217,9 @@ MathJax.Message = { File: function (file) { var root = MathJax.Ajax.config.root; if (file.substr(0,root.length) === root) {file = "[MathJax]"+file.substr(root.length)} + // Localization: + // This is used in the HTML output jax, + // MathJax.Message.File("Web-Font "+...) and so needs to be adapted. return this.Set("Loading "+file); }, @@ -1269,7 +1279,8 @@ MathJax.Hub = { }, errorSettings: { - message: ["[Math Processing Error]"], // HTML snippet structure for message to use + // Localization: should be updated when the language is changed + message: ["["+MathJax.Localization_("MathProcessingError", "Math Processing Error")+"]"], // HTML snippet structure for message to use style: {color: "#CC0000", "font-style":"italic"} // style for message } }, @@ -1554,6 +1565,7 @@ MathJax.Hub = { // Put up final message, reset the state and return // if (state.scripts.length && this.config.showProcessingMessages) + // Localization: see filterText {MathJax.Message.Set("Processing math: 100%",0)} state.start = new Date().getTime(); state.i = state.j = 0; return null; @@ -1653,6 +1665,7 @@ MathJax.Hub = { // Put up the typesetting-complete message // if (state.scripts.length && this.config.showProcessingMessages) { + // Localization: see filterText MathJax.Message.Set("Typesetting math: 100%",0); MathJax.Message.Clear(0); } @@ -1662,6 +1675,7 @@ MathJax.Hub = { processMessage: function (state,type) { var m = Math.floor(state.i/(state.scripts.length)*100); + // Localization: see filterText var message = (type === "Output" ? "Typesetting" : "Processing"); if (this.config.showProcessingMessages) {MathJax.Message.Set(message+" math: "+m+"%",0)} }, @@ -2302,10 +2316,13 @@ MathJax.Hub.Startup = { id: "Error", version: "2.1", config: {}, ContextMenu: function () {return BASE.Extension.MathEvents.Event.ContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)}, Mousedown: function () {return BASE.Extension.MathEvents.Event.AltContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)}, + // Localization: should this be translated? getJaxFromMath: function () {return {inputJax:"Error", outputJax:"Error", originalText:"Math Processing Error"}} }; BASE.InputJax.Error = { id: "Error", version: "2.1", config: {}, + // Localization: should this be translated? + // should be updated when the language is changed sourceMenuTitle: "Error Message" }; @@ -2494,10 +2511,14 @@ MathJax.Localization = { "_": { isLoaded: true, strings: { - CookieConfie: + CookieConfig: "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", + MathProcessingError: + "Erreur de traitement de la formule mathématique", + MathError: + "Erreur dans la formule mathématique" } }, Message: { @@ -2691,8 +2712,11 @@ MathJax.Localization = { "La commande %1 n'est autorisée qu'à l'intérieur d'une racine", MultipleMoveRoot: "Commande %1 redondante", - MoveRootArg: + IntegerArg: "L'argument de la commande %1 doit être un entier", + PositiveIntegerArg: + "L'argument de la commande %1 doit être un entier strictement"+ + "positif", NotMathMLToken: "L'élément %1 n'est pas un élément MathML élémentaire", InvalidMathMLAttr: @@ -2736,7 +2760,28 @@ MathJax.Localization = { IllegalMacroParam: "Paramètre de référence de macro non autorisé", MaxBufferSize: - "Taille maximale du tampon interne de MathJax dépassée. Il y a t'il un appel de macro récursif?" + "Taille maximale du tampon interne de MathJax dépassée. Il y a t'il un appel de macro récursif?", + CommandNotAllowedInEnv: + "La commande %1 n'est pas autorisé à l'intérieur de"+ + "l'environnement %2", + MultipleCommand: "Usage multiple de la commande %1", + MultipleLabel: "Étiquette '%1' déjà définie", + CommandAtTheBeginingOfLine: + "La commande %1 doit être placée en début de ligne", + IllegalAlign: "Alignement non autorisé pour la commande %1", + BadMathStyleFor: + "Style mathématique non valide pour la commande %1", + ErroneousNestingEq: + "Emboitement incorrect des structures d'équation" + MultipleRowsOneCol: + "Les lignes multiples doivent avoir exactement une colonne" + 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", + InvalidBboxProperty: + "La valeur '%1' ne semble pas être une couleur, une dimension ou"+ + "de marge intérieur ou un style." } }, diff --git a/unpacked/config/Accessible-full.js b/unpacked/config/Accessible-full.js index 96f3e943e..4aa8b06c2 100644 --- a/unpacked/config/Accessible-full.js +++ b/unpacked/config/Accessible-full.js @@ -1,3 +1,5 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ /* * /MathJax/unpacked/config/Accessible-full.js * @@ -22,7 +24,8 @@ MathJax.Hub.Config({ mpMouse: true }, errorSettings: { - message: ["[Math Error]"] + // Localization: should be updated when the language is changed + message: ["["+MathJax.Localization._("MathError", "Math Error")+"]"] } }); diff --git a/unpacked/config/Accessible.js b/unpacked/config/Accessible.js index 521f2eef1..384c60102 100644 --- a/unpacked/config/Accessible.js +++ b/unpacked/config/Accessible.js @@ -1,3 +1,5 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ /* * /MathJax/unpacked/config/Accessible.js * @@ -22,7 +24,8 @@ MathJax.Hub.Config({ mpMouse: true }, errorSettings: { - message: ["[Math Error]"] + // Localization: should be updated when the language is changed + message: ["["+MathJax.Localization._("MathError", "Math Error")+"]"] } }); diff --git a/unpacked/config/MMLorHTML.js b/unpacked/config/MMLorHTML.js index a0d6028ae..124d4cc7c 100644 --- a/unpacked/config/MMLorHTML.js +++ b/unpacked/config/MMLorHTML.js @@ -1,3 +1,5 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ /************************************************************* * * MathJax/config/MMLorHTML.js @@ -95,7 +97,10 @@ } else { HUB.PreProcess.disabled = true; HUB.prepareScripts.disabled = true; - 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"); } }); diff --git a/unpacked/config/default.js b/unpacked/config/default.js index f432e9c02..a308af5eb 100644 --- a/unpacked/config/default.js +++ b/unpacked/config/default.js @@ -1,3 +1,5 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ /************************************************************* * * MathJax/config/default.js @@ -234,7 +236,8 @@ MathJax.Hub.Config({ // jax that prevents it from operating properly). // errorSettings: { - message: ["[Math Processing Error]"], // HTML snippet structure for message to use + // Localization: should be updated when the language is changed + message: ["["+MathJax.Localization._("MathProcessingError", "Math Processing Error"])+"]"], // HTML snippet structure for message to use style: {color: "#CC0000", "font-style":"italic"} // style for message }, diff --git a/unpacked/extensions/FontWarnings.js b/unpacked/extensions/FontWarnings.js index 46612abac..a1cf936e2 100644 --- a/unpacked/extensions/FontWarnings.js +++ b/unpacked/extensions/FontWarnings.js @@ -118,6 +118,8 @@ // The messages for the various situations // Message: { + // Localization: + // how do we ensure it is updated when the language is changed? webFont: [ ["closeBox"], _("webFont", @@ -180,6 +182,9 @@ [["span",{style:{position:"relative", bottom:".2em"}},["x"]]] ]], + // Localization: + // - decide HTML snippet format + // how do we ensure it is updated when the language is changed? webFonts: [ ["p"], _("webFonts", diff --git a/unpacked/extensions/MathMenu.js b/unpacked/extensions/MathMenu.js index 0ba0af28f..f83d5a11a 100644 --- a/unpacked/extensions/MathMenu.js +++ b/unpacked/extensions/MathMenu.js @@ -602,6 +602,10 @@ /* * Handle the ABOUT box */ + // Localization: need to be reorganized. currently, there are concatenation + // of HTMLCSS.fontInUse and English strings based on the values of + // HTMLCSS.webFonts and HTMLCSS.imgFonts, HTMLCSS.allowWebFonts etc Update + // MENU.About.GetJax too. MENU.About = function () { var HTMLCSS = OUTPUT["HTML-CSS"] || {fontInUse: ""}; var local = (HTMLCSS.webFonts ? "" : "local "), web = (HTMLCSS.webFonts ? " web" : ""); @@ -619,6 +623,9 @@ (HTMLCSS.webFonts && !HTMLCSS.imgFonts ? " \u2014 " + HTMLCSS.allowWebFonts.replace(/otf/,"woff or otf") + " fonts" : "") ]]); + // Localization: + // - decide HTML snippet format + // - how do we ensure it is updated when the language is changed? MENU.About.div = MENU.Background(MENU.About); var about = HTML.addElement(MENU.About.div,"div",{ id: "MathJax_About" @@ -807,6 +814,7 @@ break; } if (message) { + // Localization: concatenation, new line message += "\n\n"; message += _("SwitchAnyway", "Switch the renderer anyway?\n\n" + @@ -823,6 +831,8 @@ }; MENU.Renderer.Messages = { MML: { + // Localization: should be updated when the language is changed + // concatenation WebKit: _("WebkitNativeMMLWarning", "Your browser doesn't seem to support MathML natively, " + "so switching to MathML output may cause the mathematics " + @@ -883,6 +893,8 @@ alert(MESSAGE.IE9warning); } }; + // Localization: should be updated when the language is changed + // concatenation MENU.MPEvents.Messages = { IE8warning: _("IE8warning", @@ -940,6 +952,7 @@ /* * The main menu */ + // Localization: items used as key, should be refactored. MENU.menu = MENU( ITEM.SUBMENU("Show Math As", ITEM.COMMAND("MathML Code", MENU.ShowSource, {nativeTouch: true, format: "MathML"}), diff --git a/unpacked/extensions/TeX/AMSmath.js b/unpacked/extensions/TeX/AMSmath.js index e2682e519..133f35464 100644 --- a/unpacked/extensions/TeX/AMSmath.js +++ b/unpacked/extensions/TeX/AMSmath.js @@ -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/TeX/AMSmath.js @@ -159,8 +161,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { var arg = this.trimSpaces(this.GetArgument(name)), tag = arg; if (!star) {arg = CONFIG.formatTag(arg)} var global = this.stack.global; global.tagID = tag; - if (global.notags) {TEX.Error(name+" not allowed in "+global.notags+" environment")} - if (global.tag) {TEX.Error("Multiple "+name)} + if (global.notags) { + TEX.Error(MathJax.Localization._(["TeX", "CommandNotAllowedInEnv"], + "%1 not allowed in %2 environment", + name, global.notags) + ) + } + if (global.tag) { + TEX.Error(MathJax.Localization._(["TeX", "MultipleCommand"], + "Multiple %1", name)) + } global.tag = MML.mtd.apply(MML,this.InternalMath(arg)).With({id:CONFIG.formatID(tag)}); }, HandleNoTag: function (name) { @@ -175,9 +185,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { var global = this.stack.global, label = this.GetArgument(name); if (label === "") return; if (!AMS.refUpdate) { - if (global.label) {TEX.Error("Multiple "+name+"'s")} + if (global.label) { + TEX.Error(MathJax.Localization._(["TeX", "MultipleCommand"], + "Multiple %1", name)) + } global.label = label; - if (AMS.labels[label] || AMS.eqlabels[label]) {TEX.Error("Label '"+label+"' mutiply defined")} + if (AMS.labels[label] || AMS.eqlabels[label]) { + TEX.Error(MathJax.Localization._(["TeX", "MultipleLabel"], + "Label '%1' mutiply defined", + label) + } AMS.eqlabels[label] = "???"; // will be replaced by tag value later } }, @@ -221,7 +238,10 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { */ HandleShove: function (name,shove) { var top = this.stack.Top(); - if (top.type !== "multline" || top.data.length) {TEX.Error(name+" must come at the beginning of the line")} + if (top.type !== "multline" || top.data.length) { + TEX.Error(MathJax.Localization._(["TeX", "CommandAtTheBeginingOfLine", + "%1 must come at the beginning of the line")) + } top.data.shove = shove; }, @@ -235,7 +255,11 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { var frac = MML.mfrac(TEX.Parse('\\strut\\textstyle{'+num+'}',this.stack.env).mml(), TEX.Parse('\\strut\\textstyle{'+den+'}',this.stack.env).mml()); lr = ({l:MML.ALIGN.LEFT, r:MML.ALIGN.RIGHT,"":""})[lr]; - if (lr == null) {TEX.Error("Illegal alignment specified in "+name)} + if (lr == null) { + TEX.Error(MathJax.Localization._(["TeX", "IllegalAlign"], + "Illegal alignment specified in %1", + name)) + } if (lr) {frac.numalign = frac.denomalign = lr} this.Push(frac); }, @@ -255,7 +279,10 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { if (left || right) {frac = MML.mfenced(frac).With({open: left, close: right})} if (style !== "") { var STYLE = (["D","T","S","SS"])[style]; - if (STYLE == null) {TEX.Error("Bad math style for "+name)} + if (STYLE == null) { + TEX.Error(MathJax.Localization._(["TeX", "BadMathStyleFor"], + "Bad math style for %1", name) + } frac = MML.mstyle(frac); if (STYLE === "D") {frac.displaystyle = true; frac.scriptlevel = 0} else {frac.displaystyle = false; frac.scriptlevel = style - 1} @@ -306,7 +333,11 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { var n, valign, align = "", spacing = []; if (!taggable) {valign = this.GetBrackets("\\begin{"+begin.name+"}")} n = this.GetArgument("\\begin{"+begin.name+"}"); - if (n.match(/[^0-9]/)) {TEX.Error("Argument to \\begin{"+begin.name+"} must me a positive integer")} + if (n.match(/[^0-9]/)) { + TEX.Error(MathJax.Localization._(["TeX", "PositiveIntegerArg"], + "Argument to %1 must me a positive integer"), + "\\begin{"+begin.name+"}") + } while (n > 0) {align += "rl"; spacing.push("0em 0em"); n--} spacing = spacing.join(" "); if (taggable) {return this.AMSarray(begin,numbered,taggable,align,spacing)} @@ -331,7 +362,12 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { * Check for bad nesting of equation environments */ checkEqnEnv: function () { - if (this.stack.global.eqnenv) {TEX.Error("Erroneous nesting of equation structures")} + if (this.stack.global.eqnenv) { + TEX.Error( + MathJax.Localization._(["TeX", "ErroneousNestingEq"], + "Erroneous nesting of equation structures") + ) + } this.stack.global.eqnenv = true; }, @@ -376,7 +412,11 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { GetDelimiterArg: function (name) { var c = this.trimSpaces(this.GetArgument(name)); if (c == "") {return null} - if (TEXDEF.delimiter[c] == null) {TEX.Error("Missing or unrecognized delimiter for "+name)} + if (TEXDEF.delimiter[c] == null) { + TEX.Error(MathJax.Localization._(["TeX", + "MissingOrUnrecognizedDelim"], + "Missing or unrecognized delimiter for %1", name)) + } return this.convertDelimiter(c); }, @@ -438,7 +478,12 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { this.data = []; }, EndRow: function () { - if (this.row.length != 1) {TEX.Error("multline rows must have exactly one column")} + if (this.row.length != 1) { + TEX.Error( + MathJax.Localization._(["TeX", "MultipleRowsOneCol"], + "multline rows must have exactly one column") + ) + } this.table.push(this.row); this.row = []; }, EndTable: function () { diff --git a/unpacked/extensions/TeX/bbox.js b/unpacked/extensions/TeX/bbox.js index 67e0fa1bc..d30026d24 100644 --- a/unpacked/extensions/TeX/bbox.js +++ b/unpacked/extensions/TeX/bbox.js @@ -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/TeX/bbox.js @@ -63,16 +65,38 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { var match = part.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/); if (match) { var pad = match[1]+match[3]; - if (def) {TEX.Error("Padding specified twice in "+name)} + if (def) { + TEX.Error( + MathJax.Localization._( + ["TeX", "MultipleBboxProperty"], + "%1 specified twice in %2", "Padding", name) + ) + } def = {height:"+"+pad, depth:"+"+pad, lspace:pad, width:"+"+(2*match[1])+match[3]}; } else if (part.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)) { - if (background) {TEX.Error("Background specified twice in "+name)} + if (background) { + TEX.Error( + MathJax.Localization._( + ["TeX", "MultipleBboxProperty"], + "%1 specified twice in %2", "Background", name) + ) + } background = part; } else if (part.match(/^[-a-z]+:/i)) { - if (style) {TEX.Error("Style specified twice in "+name)} + if (style) { + TEX.Error( + MathJax.Localization._( + ["TeX", "MultipleBboxProperty"], + "%1 specified twice in %2", "Style", name) + ) + } style = part; } else if (part !== "") { - TEX.Error("'"+part+"' doesn't look like a color, a padding dimension, or a style"); + TEX.Error( + MathJax.Localization._( + ["TeX", "InvalidBboxProperty"], + "'%1' doesn't look like a color, a padding dimension, or a style", + part); } } if (def) {math = MML.mpadded(math).With(def)} diff --git a/unpacked/extensions/TeX/begingroup.js b/unpacked/extensions/TeX/begingroup.js index 437a7a188..f8e831403 100644 --- a/unpacked/extensions/TeX/begingroup.js +++ b/unpacked/extensions/TeX/begingroup.js @@ -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/TeX/begingroup.js diff --git a/unpacked/extensions/TeX/color.js b/unpacked/extensions/TeX/color.js index f090b13c9..0e947d10d 100644 --- a/unpacked/extensions/TeX/color.js +++ b/unpacked/extensions/TeX/color.js @@ -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/TeX/color.js diff --git a/unpacked/extensions/TeX/extpfeil.js b/unpacked/extensions/TeX/extpfeil.js index dbcf42267..b0a5d2fcb 100644 --- a/unpacked/extensions/TeX/extpfeil.js +++ b/unpacked/extensions/TeX/extpfeil.js @@ -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/TeX/extpfeil.js diff --git a/unpacked/extensions/TeX/mhchem.js b/unpacked/extensions/TeX/mhchem.js index 4b939875f..4dcaf9cd0 100644 --- a/unpacked/extensions/TeX/mhchem.js +++ b/unpacked/extensions/TeX/mhchem.js @@ -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/TeX/mhchem.js diff --git a/unpacked/extensions/TeX/newcommand.js b/unpacked/extensions/TeX/newcommand.js index 158e9ef45..74aa1a46e 100644 --- a/unpacked/extensions/TeX/newcommand.js +++ b/unpacked/extensions/TeX/newcommand.js @@ -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/TeX/newcommand.js diff --git a/unpacked/extensions/TeX/verb.js b/unpacked/extensions/TeX/verb.js index b6d936e7f..2fc756e27 100644 --- a/unpacked/extensions/TeX/verb.js +++ b/unpacked/extensions/TeX/verb.js @@ -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/TeX/verb.js @@ -41,10 +43,19 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { */ Verb: function (name) { var c = this.GetNext(); var start = ++this.i; - if (c == "" ) {TEX.Error(name+" requires an argument")} + if (c == "" ) { + TEX.Error( + MathJax.Localization._( + ["TeX", "MissingArgFor"], + "Argument manquant pour la commande %1", name)) + } while (this.i < this.string.length && this.string.charAt(this.i) != c) {this.i++} - if (this.i == this.string.length) - {TEX.Error("Can't find closing delimiter for "+name)} + if (this.i == this.string.length) { + TEX.Error( + MathJax.Localization._( + ["TeX", "NoClosinDelim"], + "Can't find closing delimiter for %1", name)) + } var text = this.string.slice(start,this.i); this.i++; this.Push(MML.mtext(text).With({mathvariant:MML.VARIANT.MONOSPACE})); } diff --git a/unpacked/extensions/v1.0-warning.js b/unpacked/extensions/v1.0-warning.js index b9c72174b..0f7a41bab 100644 --- a/unpacked/extensions/v1.0-warning.js +++ b/unpacked/extensions/v1.0-warning.js @@ -28,13 +28,6 @@ (function (HUB,HTML) { var VERSION = "2.1"; - var _ = function (id) { - return MathJax.Localization._.apply( - MathJax.Localization, - [ ["ConfigWarning", id] ].concat([].slice.call(arguments,1)) - ); - }; - var CONFIG = { style: { position:"fixed", bottom:"4em", left:"3em", width:"40em", @@ -69,7 +62,7 @@ // Localization: // - decide HTML snippet format // - how do we ensure it is updated when the language is changed? - _("MissingConfig", + MathJax.Localization._(["ConfigWarning", "MissingConfig"], "%1 MathJax no longer loads a default configuration file; " + "you must specify such files explicitly. " + "This page seems to use the older default %2 file"+ diff --git a/unpacked/jax/input/TeX/jax.js b/unpacked/jax/input/TeX/jax.js index 2f758bef9..f1cd6f878 100644 --- a/unpacked/jax/input/TeX/jax.js +++ b/unpacked/jax/input/TeX/jax.js @@ -1407,7 +1407,7 @@ } var n = this.GetArgument(name); if (!n.match(/-?[0-9]+/)) { - TEX.Error(_("MoveRootArg", + TEX.Error(_("IntegerArg", "The argument to %1 must be an integer", name)); } n = (n/15)+"em"; diff --git a/unpacked/jax/output/NativeMML/jax.js b/unpacked/jax/output/NativeMML/jax.js index fb8da25aa..e982b3f13 100644 --- a/unpacked/jax/output/NativeMML/jax.js +++ b/unpacked/jax/output/NativeMML/jax.js @@ -145,7 +145,7 @@ // 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"], + 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"+