Sindbad~EG File Manager

Current Path : /home/beeson/public_html/WebMathXpert/
Upload File :
Current File : //home/beeson/public_html/WebMathXpert/TranslateEnterPages.js

// This script provides translations into all supported languages of the 
// text needed for PHP pages Enter*.php, as well as GraphDoc.php and SymbolDoc.php.
// so we can change the language of static interface elements without the Engine.
// Translations provided by ChatGPT4o.  
// MakeGraph.php and index.php have their own tranlation tables
// Tooltips and the Term Selection menu items are translated by the Engine and sent down

const translations = {
	english: {
		mathematical: "Mathematical",
		assistant: "Assistant",
		make: "Make a",
		graph: "Graph",
		enter: "Enter a",
		problem: "Problem", 
		problem2: "Problem",
		library: "Library",
		credit: "Designed and implemented by Dr. Michael Beeson",
		draw3: "Draw",
		draw: "Draw",
		draw2: "Draw",
		drag: "Drag",
		changeTypeSize: "Type Size",
		normalSize: "Normal",
		largerSize: "Larger",
		smallerSize: "Smaller",
		functiontograph: "Function to graph",
		functionstograph: "Functions to graph",
		displayButton: "Display",
		displayButton1: "Display",
		displayButton2: "Display",
		displayButton3: "Display",
		displayButton4: "Display",
		displayButton5: "Display",
		displayButton6: "Display",
		displayButton7: "Display",
		displayButton8: "Display",
		displayButton9: "Display", 
		displayButton10: "Display", 
		shadowID1: "y = x^3-ax for example, or just x^3-ax",
		shadowInequalityID: "x < y < sqrt x  or cos x <= y <= sin x",
		assumptions: "Assumptions",
		singularities: "Singularities",
		jumps: "Jumps",
		remarks: "Remarks",
		enterfunctions: "Compare the graphs of",
		addFunctionLabel: "Add another function",
		addEquationLabel: "Add another equation",
		addEquationLabel2: "Add another equation",
		dataID3: "Enter formula",
		dataID4: "Enter formula",
		dataID5: "Enter formula",
		dataID6: "Enter formula",
		"tooltip-draw3": "Draw the graphs",
		"tooltip-draw2": "Draw the graph",
		"tooltip-displayButton1": "Display the formula in mathematical notation",
		"tooltip-displayButton": "Display the equations in mathematical notation",
		"tooltip-displayButton2": "Display the limit in mathematical notation",
		"tooltip-displayButton3": "Display the integral in mathematical notation",
		"tooltip-displayButton4": "Display the derivative in mathematical notation",
		"tooltip-displayButton5": "Display the identity in mathematical notation",
		"tooltip-displayButton6": "Display the equation in mathematical notation",
		"tooltip-displayButton7": "Display the expression in mathematical notation",
		"tooltip-displayButton8": "Display the inequality in mathematical notation",
		"tooltip-displayButton9": "Display the function in mathematical notation",
		"tooltip-displayButton10": "Display the series in mathematical notation",
		"tooltip-arrowButton": "Shoots a sample problem \n into the entry field to the left",
		title_EnterOrdinaryGraph: "Enter an Ordinary Graph",
		title_EnterCompareSame: "Compare Graphs",
		title_EnterCompareDifferent: "Compare Graphs",
		title_EnterGraphPolar: "Enter a Polar Graph",
		title_EnterGraphComplexRoots: "Enter Polynomial",
		EnterGraphComplexRoots: "Draw the roots of this polynomial:",
		title_EnterGraphParametric: "Enter a Parametric Graph",
		EnterGraphParametric: "Enter a parametric graph:",
		EnterGraphPolar: "Enter a polar graph:",
		title_EnterGraphInequality: "Enter Inequality",
		title_EnterGraphRelation: "Graph Relation using =",
		title_EnterGraphRelationInequality: "Graph  Relation with Inequality",
		relationtograph: "Enter relation with =",
		inequalityrelationtograph: "Enter relation with inequality",
		title_EnterGraphDeriv: "Compare f and f'",
		comparederiv: "Compare f and f'.  Enter f",
		title_EnterGraphDerivs: "Compare f, f', and f''",
		comparederivs: "Compare f, f, and f''.  Enter f",
		title_EnterODE: "Enter differential equation",
		title_EnterTwoODEs: "Enter two differential quations",
		title_EnterHDE: "Enter differential equation",
		title_EnterRiemannSums: "Enter a Riemann sum graph",
		title_EnterTrapezoidRule: "Enter a trapezoid rule graph",
		title_EnterSimpsonsRule: "Enter a Simpson's rule graph",
		titleSymbolicDoc: "MathXpert Symbolic Calculator",
		titleGraphDoc: "MathXpert Grapher",
		title_GetProblemAsync: "MathXpert Problem Library",
		functionRiemannSums: "Function to integrate",
		shadowRiemannSumsID: "sin x for example",
		from:  "from",
		to:    "to",
		shadowfrom: "0",
		shadowto: "2 pi",
		nintervals:  "Number of intervals",
		riemannStyle: "Style of rectangles",
		shadownintervals: "2^(n+1)",
		inequalitytograph: "Inequality to Graph:",
		shadowInequality: "x < y < sqrt x for example",
		shadowPolar: "r = 2 cos theta for example",
		shadowPolyrootsID: "x^n-1 for example",
		shadowRelationID:  "(x/4)^2 + (y/3)^2 = 1 for example",
		shadowInequalityRelationID:  "y^2 <=  sin^2 x for example",
		shadowParametric: "x= cos(nt), y = sin(mt) for example",
		shadowCompareDerivID: "sin x,  or f(x) = sin x, or y = sin x",
		styleLeft: "Left",
		styleRight: "Right",
		styleCentered: "Centered",
		shadowODE: "y'=y or diff(y,x) = y sin x",
		odetograph: "Differential Equation",
		initialConditions: "Initial Conditions",
		shadowInitialConditions: "(3,2)",
		shadowInitialConditionsHDE: "0,1,2", 
		alertParametric: "You must enter two formulas and the range of the parameter.",
		alertPolar: "You must enter a formula and the range of the parameter.",
		alertCompareGraphs: "You must enter two or more formulas to be graphed.",
		shadowParameterInterval: "0 <= t <= 2pi",
		shadowHDE: "y''= y + y' or diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "Your equation must contain exactly one = sign",
		toomanyconditions: "Too many initial conditions",
		toofewconditions:  "Too few initial conditions",
		badleftside: "Left side must look like y'''...",
		odeFirst:  "First Differential Equation",
		odeSecond: "Second Differential Equation",
		ode2First:  "First Differential Equation",
		ode2Second: "Second Differential Equation",
		parameterInterval: "Parameter Interval",
		undoButtonRef: "Undo",
		hintButtonRef: "Hint",
		graphButtonRef: "Graph",
		autoFinishButtonRef: "AutoFinish",
		autoStepButtonRef: "AutoStep",
		showStepButtonRef: "ShowStep",
		assumptionsButtonRef: "Assumptions",
		finishedButtonRef: "Finished?",
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",	
		title_EnterLinearEquations:   "Linear Equations", 		
		enterequations: "Linear equations to solve:",
		enterequation: "Equation to solve:",
		enteridentity: "Identity to verify:",
		entersimplify: "Expression to simplify:",
		enterfactor: "Expression to factor:",
		enterinequality: "Inequality:",
		solveNowButton:  "Do the Math",	
		select: "Select a Problem Type",
		simplify: "Simplify", 
		factor: "Factor", 
		solveEquation: "Solve One Equation", 
		solveLinearEquations: "Solve Linear Equations",  // with a selector for the method 
		substitution:  "Substitution", 
		rowandcolumn:  "Row Operations",
		matrices:      "Matrix Algebra",
		solveInequality: "Solve Inequality",
		gaussJordan:   "Gauss Jordan", 
		matrixInverse:  "Use Matrix Inverse", 
		cramer:         "Cramer's rule", 
		verifyIdentity: "Verify an identity", 
		limits:         "Evaluate a Limit", 
		derivatives:    "Differentiate", 
		integrals:      "Integrate", 
		sums:           "Finite Sums", 
		infiniteseries:         "Infinite Series", 
		evaluateseries:  "Evaluate an Infinite Series",
		convergencetests:  "Test Series for Convergence",  // with a selector for the method 
		integraltest:    "Integral Test", 
		comparisontest:  "Comparison Test",
		rootratio:       "Root and Ratio Tests", 
		powerseries:     "Power Series",
		"tooltip-solveNowButton": "Open a MathXpert calculation page",
		"tooltip-solveEquationButton": "Open a MathXpert calculation page",
		"tooltip-selector2": "Your selection from this list determines how AutoFinish and AutoStep will solve your problem.",
		"tooltip-complexSelector": "Allow or disallow square roots of negative numbers",
		selector2Label: "You can optionally tell MathXpert how you want to solve the equations:",		
		alert1: "You must enter at least two equations.",
		alert2: "An equation must have an = sign.",
		alert3: "An equation must have only one = sign.",
		alert4: "Input should have the form integral(f,x) or integral(f,x,a,b).",
		alert5: "Second argument must be a variable name.",
		alert6: "Please enter an expression.", 
		alert7: "Please enter an equation.",
		alert8: "Please enter an inequality.",
		alert9: "Please enter an interval.",
		integralID:  "integral(sin x, x) or integral(sin x,x,0,1)",
		enterintegral:  "Integral to evaluate:",
		enterimproperintegral: "Improper integral to evaluate:",
		improperintegralID: "integral(1/x^2,x,0,infinity) or integral(1/ln x,x,0,1)",
		alertlim: "Input should have the form lim(x->a,f) or lim(x->a+,f) or lim(x->a-,f)",
		limitID:  "lim(x->0, sin(x)/x) or lim(x->0+, sin(x)/x)",
		enterlimit:  "Limit to evaluate:",
		derivativeID: "y = sin x  or f(x) = sin x  or just sin x",
		enterderivative: "Expression to differentiate:",
		enterderivativedefn:"Expression to differentiate,",
		enterderivativedefn2:"using the definition of derivative:",
		alertdif: "Input should have the form diff(y,x)",
		alertdif2: "In diff(y,x), y and x must be valid variable names.",
		enterimplicitequation: "Equation relating the variables:",
		enterimplicitderivative:"Derivative to calculate:",
		enterratesequation: "Equations good for all times:",
		enteronetime: "Equation good for one special time:",
		functionmaxmin: "Find the maxima and minima of",
		interval: "on the interval:",
		maxminID1: "x^3 - x, or y = x^3 - x, or f(x) = x^3 - x",
		alertseries: "Input should have the form sum(f,n,firstIndex,infinity).",
		alertinfinity: "Last argument should be \"infinity\"",
		alertlower:  "Lower limit of sum must be a specific integer.",
		enterseries: "Series to evaluate or test for convergence:",
		seriesEval: "Evaluate the series",
		comparisontest: "Comparison test",
		rootorratiotest: "Root or ratio test",
		integraltest:  "Integral test", 
		selector22Label:  "What do you want to do?",
		enterpowerseries: "Function to expand in a power series:",
		powerseries: "Power Series",
		real_roots: "Find real solutions (only)",
		complex_roots: "Find complex solutions",
		factor_quadratics: "Use real numbers only",
		simple_factoring: "Use real numbers only",
		alg1_factor_quadratic: "Use real numbers only",
		factor_by_grouping: "Use real numbers only",
		advanced_factoring: "Allow factors with complex numbers",
		done: "Done",
		changes: "changes",
		by:  "by",
		cheerMessage: "You have earned applause. Click Play to hear it.",
		playButton: "Play",
		cheerMessage2: "You took more than half the steps without assistance.",
		selectTermHint:  "To take a step yourself, select the expression you want to change.",
		showMeButton:  "Show me how",
		real_simplify: "Use real numbers only",
		complex_simplify: "Allow complex numbers",
		real_identities: "Use real numbers only",
		complex_identities: "Use complex numbers",
		topicReminder0: "Selected method:",
		topicReminder37:  "Riemann sums",
		topicReminder38:  "Trapezoid rule",
		topicReminder39:  "Simpson's rule",
		derivAdvice:   "If you want the second derivative, hover here.",
		"tooltip-derivAdvice": "Enter an equation like y = sin x and compute the derivative. \n Then differentiate the equation again.",
		shadowODE2InputID1: "x' = f(x,y) or x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) or y' = g(x,y,t)",
		subjectHeader: "Subject",
		topicHeader: "Topic",
		problemNumberHeader: "Problem Number",
		acceptButton: "Accept Selected Problem",
		editButton: "Edit Selected Problem",
	},
	german: {
		mathematical: "Mathematisch",
		assistant: "Assistent",
		make: "erstellen",
		graph: "Ein Graph",
		enter: "eingeben",
		problem: "Problem",
		problem2: "Problem",
		library: "Bibliothek",
		credit: "Entworfen und implementiert von Dr. Michael Beeson",
		draw3: "Zeichnen",
		draw: "Zeichnen",
		draw2: "Zeichnen",
		drag: "Ziehen",
		changeTypeSize: "Schriftgröße",
		normalSize: "Normal",
		largerSize: "Größer",
		smallerSize: "Kleiner",
		functiontograph: "Funktion zum grafieren",
		functionstograph: "Funktionen zum grafieren",
		displayButton: "Anzeigen",
		displayButton1: "Anzeigen",
		displayButton2: "Anzeigen",
		displayButton3: "Anzeigen",
		displayButton4: "Anzeigen",
		displayButton5: "Anzeigen",
		displayButton6: "Anzeigen",
		displayButton7: "Anzeigen",
		displayButton8: "Anzeigen",
		displayButton9: "Anzeigen",
		displayButton10: "Anzeigen",
		shadowID1: "z.B. y = x^3-ax oder einfach x^3-ax",
		shadowInequalityID: "x < y < sqrt x  oder cos x <= y <= sin x",
		assumptions: "Annahmen",
		singularities: "Singularitäten",
		jumps: "Sprünge",
		remarks: "Bemerkungen",
		enterfunctions: "Vergleichen Sie die Graphen von",
		addFunctionLabel: "Weitere Funktion hinfügen",
		addEquationLabel: "Weitere Gleichung hinfügen",
		addEquationLabel2: "Weitere Gleichung hinfügen",
		dataID3: "Formel eingeben",
		dataID4: "Formel eingeben",
		dataID5: "Formel eingeben",
		dataID6: "Formel eingeben",
		"tooltip-draw3": "Zeichnen Sie die Graphen",
		"tooltip-draw2": "Zeichnen Sie den Graphen",
		"tooltip-displayButton1": "Formel in mathematischer Notation anzeigen",
		"tooltip-displayButton": "Gleichungen in mathematischer Notation anzeigen",	
		"tooltip-displayButton2": "Grenzwert in mathematischer Notation anzeigen",	
		"tooltip-displayButton3": "Integral in mathematischer Notation anzeigen",	
		"tooltip-displayButton4": "Zeige die Ableitung in mathematischer Notation an",
		"tooltip-displayButton5": "Zeige die Identität in mathematischer Notation an",
		"tooltip-displayButton6": "Zeige die Gleichung in mathematischer Notation an",
		"tooltip-displayButton7": "Zeige den Ausdruck in mathematischer Notation an",
		"tooltip-displayButton8": "Zeige die Ungleichung in mathematischer Notation an",
		"tooltip-displayButton9": "Zeige die Funktion in mathematischer Notation an",
		"tooltip-displayButton10": "Zeige die Reihe in mathematischer Notation an",
		"tooltip-arrowButton": "Schießt ein Beispielproblem \n in das Eingabefeld links ein",
		title_EnterOrdinaryGraph: "Geben Sie einen gewöhnlichen Graphen ein",	
		title_EnterCompareSame: "Vergleiche Graphen",
		title_EnterCompareDifferent: "Vergleiche Graphen",
		title_EnterGraphPolar: "Polargraph eingeben",
		title_EnterGraphComplexRoots: "Polynom eingeben",
		EnterGraphComplexRoots: "Zeichnen Sie die Wurzeln dieses Polynoms:",
		title_EnterGraphParametric: "Parametrischen Graphen eingeben",
		EnterGraphPolar: "Polargraph eingeben:",
		EnterGraphParametric: "Parametrischen Graphen eingeben:",
		title_EnterGraphInequality: "Ungleichung eingeben",
		title_EnterGraphRelation: 'Relation zeichnen',
		title_EnterGraphRelationInequality: 'Ungleichung einer Relation zeichnen',	
		relationtograph: "Relation mit = eingeben",
		inequalityrelationtograph: "Relation mit Ungleichung eingeben",
		title_EnterGraphDeriv: "Vergleiche f und f'",
		comparederiv: "Vergleiche f und f'. f eingeben",
		title_EnterGraphDerivs: "Vergleiche f, f' und f''",
		comparederivs: "Vergleiche f, f' und f''. f eingeben",
		title_EnterODE: "Differentialgleichung eingeben",
		title_EnterTwoODEs: "Zwei Differentialgleichungen eingeben",
		title_EnterHDE: "Differentialgleichung eingeben",
		title_EnterRiemannSums: "Riemann-Summen-Graphen eingeben",
		title_EnterTrapezoidRule: "Trapezregel-Graphen eingeben",
		title_EnterSimpsonsRule: "Simpsons Regel-Graphen eingeben",
		titleSymbolicDoc: "MathXpert Symbolischer Rechner",
		titleGraphDoc: "MathXpert Graphenrechner",
		title_GetProblemAsync: "MathXpert Problem Library",	
		functionRiemannSums: "Zu integrierende Funktion",
		shadowRiemannSumsID: "z.B. sin x",
		from: "von",
		to: "bis",
		shadowfrom: "0",
		shadowto: "2 pi",
		nintervals: "Anzahl der Intervalle",
		riemannStyle: "Stil der Rechtecke",
		shadownintervals: "2^(n+1)",
		inequalitytograph: "Zu zeichnende Ungleichung:",
		shadowInequality: "z.B. x < y < sqrt x",
		shadowPolar: "z.B. r = 2 cos theta",
		shadowPolyrootsID: "z.B. x^n-1",
		shadowRelationID: "(x/4)^2 + (y/3)^2 = 1 z.B.",
		shadowInequalityRelationID:  "y^2 <=  sin^2 x z.B.",
		shadowParametric: "z.B. x= cos(nt), y = sin(mt)",
		shadowCompareDerivID: "sin x,  oder f(x) = sin x, oder y = sin x",
		styleLeft: "Links",
		styleRight: "Rechts",
		styleCentered: "Zentriert",
		shadowODE: "y'=y oder diff(y,x) = y sin x",
		odetograph: "Differentialgleichung",
		initialConditions: "Bedingungen zu Beginn",
		shadowInitialConditions: "(3,2)",
		shadowInitialConditionsHDE: "(0,1,2)", 
		alertParametric: "Sie müssen zwei Formeln und den Parameterbereich eingeben.",
		alertPolar: "Sie müssen eine Formel und den Bereich des Parameters eingeben.",
		alertCompareGraphs: "Sie müssen zwei oder mehr Formeln eingeben, die dargestellt werden sollen.",
		shadowParameterInterval: "0 <= t <= 2pi",
		shadowHDE: "y''= y + y' oder diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "Ihre Gleichung muss genau ein = Zeichen enthalten",
		toomanyconditions: "Zu viele Anfangsbedingungen",
		toofewconditions: "Zu wenige Anfangsbedingungen",
		badleftside: "Die linke Seite muss wie y'''... aussehen",
		odeFirst: "Erste Differentialgleichung",
		odeSecond: "Zweite Differentialgleichung",
		ode2First: "Erste Differentialgleichung",
		ode2Second: "Zweite Differentialgleichung",
		parameterInterval: "Parameterintervall",
		undoButtonRef: "Rück",
		hintButtonRef: "Hinweis",
		graphButtonRef: "Graph",
		autoFinishButtonRef: "AutoEnde",
		autoStepButtonRef: "AutoSchritt",
		showStepButtonRef: "SchrittAnz.",    // SchrittAnzeigen",
		assumptionsButtonRef: "Annahmen",
		finishedButtonRef: "Fertig?",
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",
		title_EnterLinearEquations:   "Lineare Gleichungen", 	
		enterequations: "Lineare Gleichungen zum Lösen:",
		enterequation: "Gleichung zum Lösen:",
		enteridentity: "Identität zum Überprüfen:",
		entersimplify: "Ausdruck zum Vereinfachen:",
		enterfactor: "Ausdruck zum Faktorisieren:",
		enterinequality: "Ungleichung:",
		solveNowButton:  "Rechne",	
		select: "Wähle einen Aufgabentyp",
		simplify: "Vereinfachen", 
		factor: "Faktorisieren", 
		solveEquation: "Eine Gleichung lösen", 
		solveLinearEquations: "Lineare Gleichungen lösen",  // mit einem Selektor für die Methode 
		substitution:  "Substitution", 
		rowandcolumn:  "Zeilenoperationen",
		matrices:      "Matrizenalgebra",
		solveInequality: "Ungleichung lösen",
		gaussJordan:   "Gauss-Jordan", 
		matrixInverse:  "Matrix-Inverse verwenden", 
		cramer:         "Cramers Regel", 
		verifyIdentity: "Eine Identität überprüfen", 
		limits:         "Grenzwert berechnen", 
		derivatives:    "Ableiten", 
		integrals:      "Integrieren", 
		sums:           "Endliche Summen", 
		infiniteseries:         "Unendliche Reihen", 
		evaluateseries:  "Eine unendliche Reihe berechnen",
		convergencetests:  "Reihe auf Konvergenz prüfen",  // mit einem Selektor für die Methode 
		integraltest:    "Integralsatz", 
		comparisontest:  "Vergleichssatz",
		rootratio:       "Wurzel- und Quotiententest", 
		powerseries:     "Potenzreihen",
		"tooltip-solveNowButton": "Öffnet eine MathXpert-Berechnungsseite",
		"tooltip-solveEquationButton": "Öffnet eine MathXpert-Berechnungsseite",
		"tooltip-selector2": "Ihre Auswahl aus dieser Liste bestimmt, wie AutoFinish und AutoStep Ihr Problem lösen.",	
		"tooltip-complexSelector": "Quadratwurzeln aus negativen Zahlen erlauben oder verbieten",
		selector2Label: "Sie können MathXpert optional mitteilen, wie Sie die Gleichungen lösen möchten:",
		alert1: "Sie müssen mindestens zwei Gleichungen eingeben.",
		alert2: "Eine Gleichung muss ein = Zeichen enthalten.",
		alert3: "Eine Gleichung darf nur ein = Zeichen enthalten.",
		alert4: "Die Eingabe sollte die Form integral(f,x) oder integral(f,x,a,b) haben.",
		alert5: "Das zweite Argument muss ein Variablenname sein.",
		alert6: "Bitte geben Sie einen Ausdruck ein.", 
		alert7: "Bitte geben Sie eine Gleichung ein.",
		alert8: "Bitte geben Sie eine Ungleichung ein.",
		alert9: "Bitte geben Sie ein Intervall ein.",
		integralID: "integral(sin x, x) oder integral(sin x,x,0,1)",
		enterintegral: "Zu berechnendes Integral:",
		enterimproperintegral: "Unbestimmtes Integral zu berechnen:",
		improperintegralID: "integral(1/x^2,x,0,infinity) oder integral(1/ln x,x,0,1)",
		alertlim: "Die Eingabe sollte die Form lim(x->a,f) oder lim(x->a+,f) oder lim(x->a-,f) haben",
		limitID: "lim(x->0, sin(x)/x) oder lim(x->0+, sin(x)/x)",
		enterlimit: "Grenzwert, der berechnet werden soll:",
		derivativeID: "y = sin x  oder f(x) = sin x oder sin x",
		enterderivative: "Ausdruck zum Differenzieren:",
		enterderivativedefn: "Zu differenzierender Ausdruck,",  
		enterderivativedefn2: "mit der Ableitungsdefinition:",
		alertdif: "Die Eingabe sollte die Form diff(y,x) haben",
		alertdif2: "In diff(y,x) müssen y und x gültige Variablennamen sein.",
		enterimplicitequation: "Gleichung, die die Variablen verknüpft:",
		enterimplicitderivative:"Ableitung, die berechnet werden soll:",
		enterratesequation: "Gleichungen, die für alle Zeiten gelten:",
		enteronetime: "Gleichung, die für eine spezielle Zeit gilt:",
		functionmaxmin: "Finde die Maxima und Minima von",
		interval: "im Intervall:",
		maxminID1: "x^3 - x, oder y = x^3 - x, oder f(x) = x^3 - x",
		alertseries: "Die Eingabe sollte die Form sum(f,n,firstIndex,unendlich) haben.",
		alertinfinity: "Das letzte Argument sollte \"unendlich\" sein.",
		alertlower: "Die untere Grenze der Summe muss eine bestimmte ganze Zahl sein.",
		enterseries: "Zu bewertende Reihe",
		seriesEval: "Berechne die Reihe",
		comparisontest: "Vergleichstest",
		rootorratiotest: "Wurzel- oder Quotiententest",
		integraltest: "Integraltest",
		selector22Label: "Was möchten Sie tun?",
		enterpowerseries: "Funktion, die in eine Potenzreihe entwickelt werden soll:",
		powerseries: "Potenzreihe",
		real_roots: "Finde nur reale Lösungen",
		complex_roots: "Finde komplexe Lösungen",
		factor_quadratics: "Nur reelle Zahlen verwenden",
		simple_factoring: "Nur reelle Zahlen verwenden",
		alg1_factor_quadratic: "Nur reelle Zahlen verwenden",
		factor_by_grouping: "Nur reelle Zahlen verwenden",
		advanced_factoring: "Faktoren mit komplexen Zahlen zulassen",
		done: "Fertig",
		changes: "ändert",
		by: "um",	
		cheerMessage: "Sie haben Applaus verdient. Klicken Sie auf Abspielen, um ihn zu hören.",
		playButton: "Abspielen",
		cheerMessage2: "Sie haben mehr als die Hälfte der Schritte ohne Unterstützung gemacht.",	
		selectTermHint: "Um selbst einen Schritt zu machen, wählen Sie den Ausdruck aus, den Sie ändern möchten.",
		showMeButton: "Zeigen Sie mir wie",
		real_simplify: "Nur reelle Zahlen verwenden",
		complex_simplify: "Komplexe Zahlen zulassen",
		real_identities: "Nur reelle Zahlen verwenden",
		complex_identities: "Komplexe Zahlen verwenden",
		topicReminder0: "Ausgewählte Methode:",
		topicReminder37: "Riemann-Summen",
		topicReminder38: "Trapezregel",
		topicReminder39: "Simpsonsche Regel",
		derivAdvice: "Wenn Sie die zweite Ableitung möchten, hier berühren oder bewegen.",
		"tooltip-derivAdvice": "Geben Sie eine Gleichung wie y = sin x ein und berechnen Sie die\n Ableitung. Dann differenzieren Sie die Gleichung erneut.",
		shadowODE2InputID1: "x' = f(x,y) oder x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) oder y' = g(x,y,t)",
		subjectHeader: "Fach",
		topicHeader: "Thema",
		problemNumberHeader: "Problemnummer",
		acceptButton: "Ausgewähltes Problem akzeptieren",
		editButton: "Ausgewähltes Problem bearbeiten",
	},
	french: {
		mathematical: "Mathématique",
		assistant: "Assistant",
		make: "Créer un",
		graph: "Graphique",
		enter: "Saisir un",
		problem: "Problème", 
		problem2: "Problème",
		library: "Bibliothèque",
		credit: "Conçu et mis en œuvre par Dr. Michael Beeson",
		draw3: "Dessiner",
		draw: "Dessiner",
		draw2: "Dessiner",
		drag: "Glisser",
		changeTypeSize: "Taille du texte",
		normalSize: "Normal",
		largerSize: "Plus grand",
		smallerSize: "Plus petit",
		functiontograph: "Fonction à tracer",
		functionstograph: "Fonctions à tracer",
		displayButton: "Afficher",
		displayButton1: "Afficher",
		displayButton2: "Afficher",
		displayButton3: "Afficher",
		displayButton4: "Afficher",
		displayButton5: "Afficher",
		displayButton6: "Afficher",
		displayButton7: "Afficher",
		displayButton8: "Afficher",
		displayButton9: "Afficher",
		displayButton10: "Afficher",
		shadowID1: "y = x^3-ax par exemple, ou simplement x^3-ax",
		shadowInequalityID: "x < y < sqrt x  ou cos x <= y <= sin x",
		assumptions: "Hypothèses",
		singularities: "Singularités",
		jumps: "Sauts",
		remarks: "Remarques",
		enterfunctions: "Comparer les graphiques de",
		addFunctionLabel: "Ajouter une autre fonction",
		addEquationLabel: "Ajouter une autre équation",
		addEquationLabel2: "Ajouter une autre équation",
		dataID3: "Entrer la formule",
		dataID4: "Entrer la formule",
		dataID5: "Entrer la formule",
		dataID6: "Entrer la formule",
		"tooltip-draw3": "Tracer les graphes",
		"tooltip-draw2": "Tracer le graphe",
		"tooltip-displayButton1": "Afficher la formule en notation mathématique",
		"tooltip-displayButton": "Afficher les équations en notation mathématique",
		"tooltip-displayButton2": "Afficher la limite en notation mathématique",		
		"tooltip-displayButton3": "Afficher  l'intégrale en notation mathématique",
		"tooltip-displayButton4": "Afficher la dérivée en notation mathématique",
		"tooltip-displayButton5": "Afficher l'identité en notation mathématique",
		"tooltip-displayButton6": "Afficher l'équation en notation mathématique",
		"tooltip-displayButton7": "Afficher l'expression en notation mathématique",
		"tooltip-displayButton8": "Afficher l'inégalité en notation mathématique",
		"tooltip-displayButton9": "Afficher la fonction en notation mathématique",
		"tooltip-displayButton10": "Afficher la série en notation mathématique",
		"tooltip-arrowButton": "Envoie un problème exemple \n dans le champ de saisie à gauche",
		title_EnterOrdinaryGraph: "Entrez un graphique ordinaire", 
		title_EnterCompareSame: "Comparer les graphes",
		title_EnterCompareDifferent: "Comparer les graphes",
		title_EnterGraphPolar: "Entrer un graphe polaire",
		title_EnterGraphComplexRoots: "Entrer un polynôme",
		EnterGraphComplexRoots: "Tracez les racines de ce polynôme:", 
		title_EnterGraphParametric: "Entrer un graphe paramétrique",
		EnterGraphParametric: "Entrer un graphe paramétrique:",
		EnterGraphPolar: "Entrer un graphe polaire:",
		title_EnterGraphInequality: "Entrer une inégalité",
		title_EnterGraphRelation: "Tracer une relation",
		title_EnterGraphRelationInequality: "Tracer une inégalité d'une relation",
		relationtograph: "Entrer une relation avec =",
		inequalityrelationtograph: "Entrer une relation avec une inégalité",
		title_EnterGraphDeriv: "Comparer f et f'",
		comparederiv: "Comparer f et f'.  Entrer f",
		title_EnterGraphDerivs: "Comparer f, f' et f''",
		comparederivs: "Comparer f, f' et f''. Entrer f",
		title_EnterODE: "Entrer une équation différentielle",
		title_EnterTwoODEs: "Entrer deux équations différentielles",
		title_EnterHDE: "Entrer une équation différentielle",
		title_EnterRiemannSums: "Entrer un graphe de somme de Riemann",
		title_EnterTrapezoidRule: "Entrer un graphe de la règle du trapèze",
		title_EnterSimpsonsRule: "Entrer un graphe de la règle de Simpson",
		titleSymbolicDoc: "MathXpert Calcul Symbolique",
		titleGraphDoc: "MathXpert Grapheur",
		title_GetProblemAsync: "MathXpert Problem Library",
		functionRiemannSums: "Fonction à intégrer",
		shadowRiemannSumsID: "par exemple sin x",
		from: "de",
		to: "à",
		shadowfrom: "0",
		shadowto: "2 pi",
		nintervals: "Nombre d'intervalles",
		riemannStyle: "Style des rectangles",
		shadownintervals: "2^(n+1)",
		inequalitytograph: "Inégalité à tracer:",
		shadowInequality: "par exemple x < y < sqrt x",
		shadowPolar: "par exemple r = 2 cos theta",
		shadowPolyrootsID: "par exemple x^n-1",
		shadowRelationID: "(x/4)^2 + (y/3)^2 = 1 par exemple",
		shadowInequalityRelationID:  "y^2 <=  sin^2 x par exemple",
		shadowParametric: "par exemple x = cos(nt), y = sin(mt)",
		shadowCompareDerivID: "sin x,  ou f(x) = sin x, ou y = sin x",
		styleLeft: "À gauche",
		styleRight: "À droite",
		styleCentered: "Centré",
		shadowODE: "y'=y ou diff(y,x) = y sin x",
		odetograph: "Équation Différentielle",
		initialConditions: "Conditions Initiales",  
		shadowInitialConditions: "(3,2)", 
		shadowInitialConditionsHDE: "(0,1,2)", 
		alertParametric: "Vous devez entrer deux formules et la plage du paramètre.",
		alertPolar: "Vous devez saisir une formule et la plage du paramètre.",
		alertCompareGraphs: "Vous devez entrer deux formules ou plus à tracer.",
		shadowParameterInterval: "0 <= t <= 2pi",		
		shadowHDE: "y''= y + y' ou diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "Votre équation doit contenir exactement un signe =",
		toomanyconditions: "Trop de conditions initiales",
		toofewconditions: "Pas assez de conditions initiales",
		badleftside: "Le côté gauche doit ressembler à y'''...",
		odeFirst: "Première équation différentielle",
		odeSecond: "Deuxième équation différentielle",
		ode2First: "Première équation différentielle",
		ode2Second: "Deuxième équation différentielle",
		parameterInterval: "Intervalle de Paramètre",
		undoButtonRef: "Annuler",
		hintButtonRef: "Indice",
		graphButtonRef: "Graphique",
		autoFinishButtonRef: "TermineAuto",
		autoStepButtonRef: "ÉtapeAuto",
		showStepButtonRef: "MontreÉtape",
		assumptionsButtonRef: "Hypothèses",
		finishedButtonRef: "Terminé?",	
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",
		title_LinearEquations: "Équations linéaires",
		title_EnterLinearEquations:   "Équations Linéaires", 	
		enterequations: "Équations linéaires à résoudre:",
		enterequation: "Équation à résoudre:",
		enteridentity: "Identité à vérifier:",
		entersimplify: "Expression à simplifier:",
		enterfactor: "Expression à factoriser",
		enterinequality: "Inégalité",
		solveNowButton:  "Faire le calcul",	
		select: "Choisissez un type de problème",
		simplify: "Simplifier", 
		factor: "Factoriser", 
		solveEquation: "Résoudre une équation", 
		solveLinearEquations: "Résoudre des équations linéaires",  // avec un sélecteur pour la méthode 
		substitution:  "Substitution", 
		rowandcolumn:  "Opérations sur les lignes",
		matrices:      "Algèbre matricielle",
		solveInequality: "Résoudre une inégalité",
		gaussJordan:   "Gauss-Jordan", 
		matrixInverse:  "Utiliser l'inverse de la matrice", 
		cramer:         "Règle de Cramer", 
		verifyIdentity: "Vérifier une identité", 
		limits:         "Calculer une limite", 
		derivatives:    "Dériver", 
		integrals:      "Intégrer", 
		sums:           "Sommes finies", 
		infiniteseries:         "Séries infinies", 
		evaluateseries:  "Calculer une série infinie",
		convergencetests:  "Tester la convergence d'une série",  // avec un sélecteur pour la méthode 
		integraltest:    "Test intégral", 
		comparisontest:  "Test de comparaison",
		rootratio:       "Tests de racine et de rapport", 
		powerseries:     "Séries de puissances",
		"tooltip-solveNowButton": "Ouvre une page de calcul MathXpert",
		"tooltip-solveEquationButton": "Ouvre une page de calcul MathXpert",
		"tooltip-selector2": "Votre sélection dans cette liste détermine comment AutoFinish et AutoStep résoudront votre problème.",
		"tooltip-complexSelector": "Autoriser ou interdire les racines carrées de nombres négatifs",
		selector2Label: "Vous pouvez, si vous le souhaitez, indiquer à MathXpert comment vous voulez résoudre les équations :",
		alert1: "Vous devez entrer au moins deux équations.",
		alert2: "Une équation doit contenir un signe =.",
		alert3: "Une équation ne doit contenir qu'un seul signe =.",
		alert4: "La saisie doit avoir la forme integral(f,x) ou integral(f,x,a,b).",
		alert5: "Le deuxième argument doit être un nom de variable.",
		alert6: "Veuillez entrer une expression.", 
		alert7: "Veuillez entrer une équation.",
		alert8: "Veuillez entrer une inégalité.",
		alert9: "Veuillez entrer un intervalle.",
		integralID: "integral(sin x, x) ou integral(sin x,x,0,1)",
		enterintegral: "Intégrale à évaluer :",
		enterimproperintegral: "Intégrale impropre à évaluer :",
		improperintegralID: "integral(1/x^2,x,0,infinity) ou integral(1/ln x,x,0,1)",
		alertlim: "L'entrée doit avoir la forme lim(x->a,f) ou lim(x->a+,f) ou lim(x->a-,f)",
		limitID: "lim(x->0, sin(x)/x) ou lim(x->0+, sin(x)/x)",
		enterlimit: "Limite à évaluer :",
		derivativeID: "y = sin x  ou f(x) = sin x  ou sin x",
		enterderivative: "Expression à différencier :",
		enterderivativedefn: "Expression à dériver,",
		enterderivativedefn2: "en utilisant la définition de la dérivée :",
		alertdif: "L'entrée doit avoir la forme diff(y,x)",
		alertdif2: "Dans diff(y,x), y et x doivent être des noms de variables valides.",
		enterimplicitequation: "Équation reliant les variables :",
		enterimplicitderivative:"Dérivée à calculer :",
		enterratesequation: "Équations valables pour tous les temps :",
		enteronetime: "Équation valable pour un moment précis :",
		functionmaxmin: "Trouver les maxima et minima de",
		interval: "sur l'intervalle :",
		maxminID1: "x^3 - x, ou y = x^3 - x, ou f(x) = x^3 - x",
		alertseries: "L'entrée doit avoir la forme sum(f,n,firstIndex,infinity).",
		alertinfinity: "Le dernier argument doit être \"infinity\".",
		alertlower: "La limite inférieure de la somme doit être un entier spécifique.",
		enterseries: "Série à évaluer",
		seriesEval: "Évaluer la série",
		comparisontest: "Test de comparaison",
		rootorratiotest: "Test de racine ou de rapport",
		integraltest: "Test intégral",
		selector22Label: "Que voulez-vous faire ?",
		enterpowerseries: "Fonction à développer en série de puissances :",
		powerseries: "Série de puissances",
		real_roots: "Trouver uniquement des solutions réelles",
		complex_roots: "Trouver des solutions complexes",
		factor_quadratics: "Utiliser uniquement des nombres réels",
		simple_factoring: "Usar solo números reales",
		alg1_factor_quadratic: "Usar solo números reales",
		factor_by_grouping: "Usar solo números reales",
		simple_factoring: "Utiliser uniquement des nombres réels",
		alg1_factor_quadratic: "Utiliser uniquement des nombres réels",
		factor_by_grouping: "Utiliser uniquement des nombres réels",
		advanced_factoring: "Autoriser des facteurs avec des nombres complexes",
		done: "Terminé",
		changes: "modifie",
		by: "de",
		cheerMessage: "Vous avez mérité des applaudissements. Cliquez sur Lecture pour les entendre.",
		playButton: "Lecture",
		cheerMessage2: "Vous avez effectué plus de la moitié des étapes sans assistance.",
		selectTermHint: "Pour effectuer une étape vous-même, sélectionnez l'expression que vous souhaitez modifier.",
		showMeButton: "Montrez-moi comment",
		real_simplify: "Utiliser uniquement des nombres réels",
		complex_simplify: "Autoriser les nombres complexes",
		real_identities: "Utiliser uniquement des nombres réels",
		complex_identities: "Utiliser des nombres complexes",
		topicReminder0: "Méthode sélectionnée:",
		topicReminder37: "Sommes de Riemann",
		topicReminder38: "Règle du trapèze",
		topicReminder39: "Règle de Simpson",
		derivAdvice: "Si vous voulez la dérivée seconde, survolez ici.",
		"tooltip-derivAdvice": "Entrez une équation comme y = sin x et calculez la dérivée. \n Ensuite, dérivez l'équation à nouveau.",
		shadowODE2InputID1: "x' = f(x,y) ou x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) ou y' = g(x,y,t)",
		subjectHeader: "Sujet",
		topicHeader: "Sujet",
		problemNumberHeader: "Numéro du problème",
		acceptButton: "Accepter le problème sélectionné",
		editButton: "Modifier le problème sélectionné",
	},
	spanish: {
		mathematical: "Matemático",
		assistant: "Asistente",
		make: "Crear un",
		graph: "Gráfico",
		enter: "Ingresar un",
		problem: "Problema", 
		problem2: "Problema",
		library: "Biblioteca",
		credit: "Diseñado e implementado por Dr. Michael Beeson",
		draw3: "Dibujar",
		draw: "Dibujar",
		draw2: "Dibujar",
		drag: "Arrastrar",
		changeTypeSize: "Tamaño de fuente",
		normalSize: "Normal",
		largerSize: "Más grande",
		smallerSize: "Más pequeño",
		functiontograph: "Función para graficar",
		functionstograph: "Funciones para graficar",
		displayButton: "Mostrar",
		displayButton1: "Mostrar",
		displayButton2: "Mostrar",
		displayButton3: "Mostrar",
		displayButton4: "Mostrar",
		displayButton5: "Mostrar",
		displayButton6: "Mostrar",
		displayButton7: "Mostrar",
		displayButton8: "Mostrar",
		displayButton9: "Mostrar",
		displayButton10: "Mostrar",
		shadowID1: "y = x^3-ax, por ejemplo, o simplemente x^3-ax",
		shadowInequalityID: "x < y < sqrt x  o cos x <= y <= sin x",
		assumptions: "Suposiciones",
		singularities: "Singularidades",
		jumps: "Saltos",
		remarks: "Observaciones",
		enterfunctions: "Comparar los gráficos de",
		addFunctionLabel: "Agregar otra función",
		addEquationLabel: "Agregar otra ecuación",
		addEquationLabel2: "Agregar otra ecuación",
		dataID3: "Ingresar fórmula",
		dataID4: "Ingresar fórmula",
		dataID5: "Ingresar fórmula",
		dataID6: "Ingresar fórmula",	
		"tooltip-draw3": "Dibujar los gráficos",
		"tooltip-draw2": "Dibujar el gráfico",
		"tooltip-displayButton1": "Mostrar la fórmula en notación matemática",
		"tooltip-displayButton": "Mostrar las ecuaciones en notación matemática",
		"tooltip-displayButton2": "Mostrar el límite en notación matemática",		
		"tooltip-displayButton3": "Mostrar  la integral  en notación matemática",
		"tooltip-displayButton4": "Mostrar la derivada en notación matemática",
		"tooltip-displayButton5": "Mostrar la identidad en notación matemática",
		"tooltip-displayButton6": "Mostrar la ecuación en notación matemática",
		"tooltip-displayButton7": "Mostrar la expresión en notación matemática",
		"tooltip-displayButton8": "Mostrar la desigualdad en notación matemática",
		"tooltip-displayButton9": "Mostrar la función en notación matemática",
		"tooltip-displayButton10": "Mostrar la serie en notación matemática",
		"tooltip-arrowButton": "Lanza un problema de ejemplo \n en el campo de entrada a la izquierda",
		title_EnterOrdinaryGraph: "Introduzca un gráfico ordinario",
		title_EnterCompareSame: "Comparar gráficos",
		title_EnterCompareDifferent: "Comparar gráficos",
		title_EnterGraphPolar: "Ingresar un gráfico polar",
		title_EnterGraphComplexRoots: "Ingresar un polinomio",
		EnterGraphComplexRoots: "Dibuja las raíces de este polinomio:",
		title_EnterGraphParametric: "Ingresar un gráfico paramétrico",
		EnterGraphParametric: "Ingresar un gráfico paramétrico:",
		EnterGraphPolar:"Ingresar un gráfico polar:",
		title_EnterGraphInequality: "Ingresar una desigualdad",
		title_EnterGraphRelation: "Graficar una relación",
		title_EnterGraphRelationInequality: "Graficar una inecuación de una relación",		
		relationtograph: "Ingresar una relación con =",
		inequalityrelationtograph: "Ingresar una relación con desigualdad",
		title_EnterGraphDeriv: "Comparar f y f'",
		comparederiv: "Comparar f y f'.  Ingresar f",
		title_EnterGraphDerivs: "Comparar f, f' y f''",
		comparederivs: "Comparar f, f' y f''.  Ingresar f",
		title_EnterODE: "Ingresar una ecuación diferencial",
		title_EnterTwoODEs: "Ingresar dos ecuaciones diferenciales",
		title_EnterHDE: "Ingresar una ecuación diferencial",
		title_EnterRiemannSums: "Ingresar un gráfico de suma de Riemann",
		title_EnterTrapezoidRule: "Ingresar un gráfico de la regla del trapecio",
		title_EnterSimpsonsRule: "Ingresar un gráfico de la regla de Simpson",
		titleSymbolicDoc: "MathXpert Calculadora Simbólica",
		titleGraphDoc: "MathXpert Graficador",
		title_GetProblemAsync: "MathXpert Problem Library",
		functionRiemannSums: "Función a integrar",
		shadowRiemannSumsID: "por ejemplo sin x",
		from: "de",
		to: "a",
		shadowfrom: "0",
		shadowto: "2 pi",
		nintervals: "Número de intervalos",
		riemannStyle: "Estilo de los rectángulos",
		shadownintervals: "2^(n+1)",
		inequalitytograph: "Desigualdad a graficar:",
		shadowInequality: "por ejemplo x < y < sqrt x",
		shadowPolar: "por ejemplo r = 2 cos theta",
		shadowPolyrootsID: "por ejemplo x^n-1",
		shadowRelationID: "(x/4)^2 + (y/3)^2 = 1 por ejemplo",
		shadowInequalityRelationID:  "y^2 <=  sin^2 x por ejemplo",
		shadowParametric: "por ejemplo x = cos(nt), y = sin(mt)",
		shadowCompareDerivID: "sin x, o f(x) = sin x, o y = sin x",
		styleLeft: "Izquierda",
		styleRight: "Derecha",
		styleCentered: "Centrado",
		shadowODE: "y'=y o diff(y,x) = y sin x",
		odetograph: "Ecuación Diferencial",
		initialConditions: "Condiciones Iniciales",  
		shadowInitialConditions: "(3,2)",
		shadowInitialConditionsHDE: "(0,1,2)", 
		alertParametric: "Debe ingresar dos fórmulas y el rango del parámetro."	,
		alertPolar: "Debe ingresar una fórmula y el rango del parámetro.",
		alertCompareGraphs: "Vous devez entrer deux formules ou plus à tracer.",
		shadowParameterInterval: "0 <= t <= 2pi",
		shadowHDE: "y''= y + y' o diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "Su ecuación debe contener exactamente un signo =",
		toomanyconditions: "Demasiadas condiciones iniciales",
		toofewconditions: "No hay suficientes condiciones iniciales",
		badleftside: "El lado izquierdo debe parecerse a y'''...",
		odeFirst: "Primera ecuación diferencial",
		odeSecond: "Segunda ecuación diferencial",
		ode2First: "Primera ecuación diferencial",
		ode2Second: "Segunda ecuación diferencial",
		parameterInterval: "Intervalo de Parámetros",
		undoButtonRef: "Deshacer",
		hintButtonRef: "Pista",
		graphButtonRef: "Gráfico",
		autoFinishButtonRef: "AutoFin", // not  "AutoFinalizar",
		autoStepButtonRef: "AutoPaso",
		showStepButtonRef: "MostrarPaso",
		assumptionsButtonRef: "Supuestos",
		finishedButtonRef: "¿Terminado?",
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",
		title_EnterLinearEquations: "Ecuaciones Lineales",
		enterequations: "Ecuaciones lineales para resolver:",
		enterequation: "Ecuación a resolver:",
		enteridentity: "Identidad a verificar:",
		entersimplify: "Expresión a simplificar:",
		enterfactor: "Expresión a factorizar:",
		enterinequality: "Desigualdad:",
		solveNowButton:  "Realizar el cálculo",	
		select: "Seleccionar un tipo de problema",
		simplify: "Simplificar", 
		factor: "Factorizar", 
		solveEquation: "Resolver una ecuación", 
		solveLinearEquations: "Resolver ecuaciones lineales",  // con un selector para el método 
		substitution:  "Sustitución", 
		rowandcolumn:  "Operaciones con filas",
		matrices:      "Álgebra matricial",
		solveInequality: "Resolver una desigualdad",
		gaussJordan:   "Gauss-Jordan", 
		matrixInverse:  "Usar la inversa de la matriz", 
		cramer:         "Regla de Cramer", 
		verifyIdentity: "Verificar una identidad", 
		limits:         "Evaluar un límite", 
		derivatives:    "Diferenciar", 
		integrals:      "Integrar", 
		sums:           "Sumas finitas", 
		infiniteseries:         "Series infinitas", 
		evaluateseries:  "Evaluar una serie infinita",
		convergencetests:  "Probar la convergencia de una serie",  // con un selector para el método 
		integraltest:    "Prueba del integral", 
		comparisontest:  "Prueba de comparación",
		rootratio:       "Pruebas de raíz y razón", 
		powerseries:     "Series de potencias",
		"tooltip-solveNowButton": "Abre una página de cálculo de MathXpert",
		"tooltip-solveEquationButton": "Abre una página de cálculo de MathXpert",
		"tooltip-selector2": "Su selección de esta lista determina cómo AutoFinish y AutoStep resolverán su problema.",
		"tooltip-complexSelector": "Permitir o prohibir las raíces cuadradas de números negativos",
		selector2Label: "Opcionalmente, puede decirle a MathXpert cómo desea resolver las ecuaciones:",	
		alert1: "Debe ingresar al menos dos ecuaciones.",
		alert2: "Una ecuación debe contener un signo =.",
		alert3: "Una ecuación debe contener solo un signo =.",
		alert4: "La entrada debe tener la forma integral(f,x) o integral(f,x,a,b).",
		alert5: "El segundo argumento debe ser un nombre de variable.",
		alert6: "Por favor, introduzca una expresión.", 
		alert7: "Por favor, introduzca una ecuación.",
		alert8: "Por favor, introduzca una desigualdad.",	
		alert9: "Por favor, introduzca un intervalo.",
		integralID: "integral(sin x, x) o integral(sin x,x,0,1)",
		enterintegral: "Integral a evaluar:",
		enterimproperintegral: "Integral impropia para evaluar:",
		improperintegralID: "integral(1/x^2,x,0,infinity) o integral(1/ln x,x,0,1)",
		alertlim: "La entrada debe tener la forma lim(x->a,f) o lim(x->a+,f) o lim(x->a-,f)",
		limitID: "lim(x->0, sin(x)/x) o lim(x->0+, sin(x)/x)",
		enterlimit: "Límite a evaluar:",
		derivativeID: "y = sin x  o f(x) = sin x  o sin x",
		enterderivative: "Expresión a derivar:",
		enterderivativedefn: "Expresión a derivar,",
		enterderivativedefn2: "usando la definición de derivada:",
		alertdif: "La entrada debe tener la forma diff(y,x)",
		alertdif2: "En diff(y,x), y y x deben ser nombres de variables válidos.",
		enterimplicitequation: "Ecuación que relaciona las variables:",
		enterimplicitderivative:"Derivada a calcular:",
		enterratesequation: "Ecuaciones válidas para todos los tiempos:",
		enteronetime: "Ecuación válida para un momento específico:",
		functionmaxmin: "Encontrar los máximos y mínimos de",
		interval: "en el intervalo:",
		maxminID1: "x^3 - x, o y = x^3 - x, o f(x) = x^3 - x",
		alertseries: "La entrada debe tener la forma sum(f,n,firstIndex,infinity).",
		alertinfinity: "El último argumento debe ser \"infinity\".",
		alertlower: "El límite inferior de la suma debe ser un número entero específico.",
		enterseries: "Serie a evaluar",
		seriesEval: "Evaluar la serie",
		comparisontest: "Prueba de comparación",
		rootorratiotest: "Prueba de raíz o razón",
		integraltest: "Prueba integral",
		selector22Label: "¿Qué quieres hacer?",
		enterpowerseries: "Función para expandir en una serie de potencias:",
		powerseries: "Serie de potencias",
		real_roots: "Encontrar solo soluciones reales",
		complex_roots: "Encontrar soluciones complejas",
		factor_quadratics: "Usar solo números reales",
		simple_factoring: "Usa solo numeri reali",
		alg1_factor_quadratic: "Usa solo numeri reali",
		factor_by_grouping: "Usa solo numeri reali",
		advanced_factoring: "Permitir factores con números complejos",
		done: "Hecho",
		changes: "cambia",
		by: "por",
		cheerMessage: "Has ganado un aplauso. Haz clic en Reproducir para escucharlo.",
		playButton: "Reproducir",
		cheerMessage2: "Has realizado más de la mitad de los pasos sin ayuda.",
		selectTermHint: "Para realizar un paso tú mismo, selecciona la expresión que deseas cambiar.",
		showMeButton: "Muéstrame cómo",
		real_simplify: "Usar solo números reales",
		complex_simplify: "Permitir números complejos",
		real_identities: "Usar solo números reales",
		complex_identities: "Usar números complejos",
		topicReminder0: "Método seleccionado:",
		topicReminder37: "Sumas de Riemann",
		topicReminder38: "Regla del trapecio",
		topicReminder39: "Regla de Simpson",
		derivAdvice: "Si quieres la segunda derivada, pasa el cursor aquí.",
		"tooltip-derivAdvice": "Introduce una ecuación como y = sin x y calcula la derivada. \n Luego, deriva la ecuación nuevamente.",
		shadowODE2InputID1: "x' = f(x,y) o x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) o y' = g(x,y,t)",
		subjectHeader: "Asignatura",
		topicHeader: "Tema",
		problemNumberHeader: "Número de problema",
		acceptButton: "Aceptar el problema seleccionado",
		editButton: "Editar el problema seleccionado",
	},
	italian: {
		mathematical: "Matematico",
		assistant: "Assistente",
		make: "Crea un",
		graph: "Grafico",
		enter: "Inserisci un",
		problem: "Problema", 
		problem2: "Problema",
		library: "Libreria",
		credit: "Progettato e implementato da Dr. Michael Beeson",
		draw3: "Disegna",
		draw: "Disegna",
		draw2: "Disegna",
		drag: "Trascina",
		changeTypeSize: "Dimensione del testo",
		normalSize: "Normale",
		largerSize: "Più grande",
		smallerSize: "Più piccolo",
		functiontograph: "Funzione da graficare",
		functionstograph: "Funzioni da graficare",
		displayButton: "Visualizza",
		displayButton1: "Visualizza",
		displayButton2: "Visualizza",
		displayButton3: "Visualizza",
		displayButton4: "Visualizza",
		displayButton5: "Visualizza",
		displayButton6: "Visualizza",
		displayButton7: "Visualizza",
		displayButton8: "Visualizza",
		displayButton9: "Visualizza",
		displayButton10: "Visualizza",
		shadowID1: "y = x^3-ax, ad esempio, o semplicemente x^3-ax",
		shadowInequalityID: "x < y < sqrt x  o cos x <= y <= sin x",
		assumptions: "Assunzioni",
		singularities: "Singolarità",
		jumps: "Salti",
		remarks: "Osservazioni",
		enterfunctions: "Confronta i grafici di",
		addFunctionLabel: "Aggiungi un'altra funzione",
		addEquationLabel: "Aggiungi un'altra equazione",
		addEquationLabel2: "Aggiungi un'altra equazione",
		dataID3: "Inserisci formula",
		dataID4: "Inserisci formula",
		dataID5: "Inserisci formula",
		dataID6: "Inserisci formula",
		"tooltip-draw3": "Disegna i grafici",
		"tooltip-draw2": "Disegna il grafico",
		"tooltip-displayButton1": "Visualizza la formula in notazione matematica",
		"tooltip-displayButton": "Visualizza le ecuaciones in notazione matematica",
		"tooltip-displayButton2": "Visualizza il limite in notazione matematica",		
		"tooltip-displayButton3":  "Visualizza l'integrale in notazione matematica",
		"tooltip-displayButton4": "Mostra la derivata in notazione matematica",
		"tooltip-displayButton5": "Mostra l'identità in notazione matematica",
		"tooltip-displayButton6": "Mostra l'equazione in notazione matematica",
		"tooltip-displayButton7": "Mostra l'espressione in notazione matematica",
		"tooltip-displayButton8": "Mostra la disuguaglianza in notazione matematica",
		"tooltip-displayButton9": "Mostrar la función en notación matemática",
		"tooltip-displayButton10": "Mostrar la serie en notación matemática",
		"tooltip-arrowButton": "Invia un problema di esempio \n nel campo di inserimento a sinistra",
		title_EnterOrdinaryGraph: "Inserisci un grafico ordinario", 
		title_EnterCompareSame: "Confronta grafici",
		title_EnterCompareDifferent: "Confronta grafici",
		title_EnterGraphPolar: "Inserisci un grafico polare",
		title_EnterGraphComplexRoots: "Inserisci un polinomio",
		EnterGraphComplexRoots: "Disegna le radici di questo polinomio:",
		title_EnterGraphParametric: "Inserisci un grafico parametrico",
		EnterGraphPolar: "Inserisci un grafico polare:",
		EnterGraphParametric: "Inserisci un grafico parametrico:",
		title_EnterGraphInequality: "Inserisci una disuguaglianza",
		title_EnterGraphRelation: "Disegnare una relazione",
		title_EnterGraphRelationInequality: "Disegnare una disequazione di una relazione",
		relationtograph: "Inserisci una relazione con =",
		inequalityrelationtograph: "Inserisci una relazione con disuguaglianza",
		title_EnterGraphDeriv: "Confronta f e f'",
		comparederiv: "Confronta f e f'. Inserisci f",
		title_EnterGraphDerivs: "Confronta f, f' e f''. Inserisci f",
		comparederivs: "Confronta f, f' e f''",
		title_EnterODE: "Inserisci un'equazione differenziale",
		title_EnterTwoODEs: "Inserisci due ecuaciones differenziali",
		title_EnterHDE: "Inserisci un'equazione differenziale",
		title_EnterRiemannSums: "Inserisci un grafico della somma di Riemann",
		title_EnterTrapezoidRule: "Inserisci un grafico della regola del trapezio",
		title_EnterSimpsonsRule: "Inserisci un grafico della regola di Simpson",
		titleSymbolicDoc: "MathXpert Calcolatore Simbolico",
		titleGraphDoc: "MathXpert Grafico",
		title_GetProblemAsync: "MathXpert Problem Library",
		functionRiemannSums: "Funzione da integrare",
		shadowRiemannSumsID: "per esempio sin x",
		from: "da",
		to: "a",
		shadowfrom: "0",
		shadowto: "2 pi",
		nintervals: "Numero di intervalli",
		riemannStyle: "Stile dei rettangoli",
		shadownintervals: "2^(n+1)",
		inequalitytograph: "Disuguaglianza da tracciare:",
		shadowInequality: "per esempio x < y < sqrt x",
		shadowPolar: "per esempio r = 2 cos theta",
		shadowPolyrootsID: "per esempio x^n-1",
		shadowRelationID: "(x/4)^2 + (y/3)^2 = 1 per esempio",
		shadowInequalityRelationID:  "y^2 <=  sin^2 x per esempio",
		shadowParametric: "per esempio x = cos(nt), y = sin(mt)",
		shadowCompareDerivID: "sin x,  o f(x) = sin x, o y = sin x",
		styleLeft: "Sinistra",
		styleRight: "Destra",
		styleCentered: "Centrato",
		shadowODE: "y'=y o diff(y,x) = y sin x",
		odetograph: "Equazione Differenziale",
		initialConditions: "Condizioni Iniziali",  
		shadowInitialConditions: "(3,2)",  
		shadowInitialConditionsHDE: "(0,1,2)", 
		alertParametric: "È necessario inserire due formule e l'intervallo del parametro.",
		alertPolar: "Devi inserire una formula e l'intervallo del parametro.",
		alertCompareGraphs: "Devi inserire due o più formule da graficare.",
		shadowParameterInterval: "0 <= t <= 2pi",
		shadowHDE: "y''= y + y' o diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "La tua equazione deve contenere esattamente un segno =",
		toomanyconditions: "Troppe condizioni iniziali",
		toofewconditions: "Non ci sono abbastanza condizioni iniziali",
		badleftside: "Il lato sinistro deve essere simile a y'''...",
		odeFirst: "Prima equazione differenziale",
		odeSecond: "Seconda equazione differenziale",
		ode2First: "Prima equazione differenziale",
		ode2Second: "Seconda equazione differenziale",
		parameterInterval: "Intervallo dei Parametri",
		undoButtonRef: "Annulla",
		hintButtonRef: "Dritta",
		graphButtonRef: "Grafico",
		autoFinishButtonRef: "AutoFine",
		autoStepButtonRef: "AutoPasso",
		showStepButtonRef: "MostraPasso",
		assumptionsButtonRef: "Assunzioni",
		finishedButtonRef: "Finito?",
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",
		title_EnterLinearEquations:   "Equazioni Lineari", 	
		enterequations: "Equazioni lineari da risolvere:",
		enterequation: "Equazione da risolvere:",
		enteridentity: "Identità da verificare:",
		entersimplify: "Espressione da semplificare:",
		enterfactor: "Espressione da fattorizzare", 
		enterinequality: "Disuguaglianza:",
		solveNowButton:  "Fai il calcolo",	
		select: "Seleziona un tipo di problema",
		simplify: "Semplificare", 
		factor: "Fattorizzare", 
		solveEquation: "Risolvi un'equazione", 
		solveLinearEquations: "Risolvi equazioni lineari",  // con un selettore per il metodo 
		substitution:  "Sostituzione", 
		rowandcolumn:  "Operazioni su righe",
		matrices:      "Algebra matriciale",
		solveInequality: "Risolvi una disuguaglianza",
		gaussJordan:   "Gauss-Jordan", 
		matrixInverse:  "Usa l'inversa della matrice", 
		cramer:         "Regola di Cramer", 
		verifyIdentity: "Verifica un'identità", 
		limits:         "Calcola un limite", 
		derivatives:    "Derivare", 
		integrals:      "Integrare", 
		sums:           "Somme finite", 
		infiniteseries:         "Serie infinite", 
		evaluateseries:  "Calcola una serie infinita",
		convergencetests:  "Testa la convergenza di una serie",  // con un selettore per il metodo 
		integraltest:    "Test dell'integrale", 
		comparisontest:  "Test di confronto",
		rootratio:       "Test della radice e del rapporto", 
		powerseries:     "Serie di potenze",
		"tooltip-solveNowButton": "Apre una pagina di calcolo MathXpert",
		"tooltip-solveEquationButton": "Apre una pagina di calcolo MathXpert",
		"tooltip-selector2": "La tua selezione da questa lista determina come AutoFinish e AutoStep risolveranno il tuo problema.",
		"tooltip-complexSelector": "Permettere o vietare le radici quadrate di numeri negativi",
		selector2Label: "Puoi opzionalmente dire a MathXpert come desideri risolvere le equazioni:",
		alert1: "È necessario inserire almeno due equazioni.",
		alert2: "Un'equazione deve contenere un segno =.",
		alert3: "Un'equazione deve contenere solo un segno =.",
		alert4: "L'input deve avere la forma integral(f,x) o integral(f,x,a,b).",
		alert5: "Il secondo argomento deve essere un nome di variabile.",
		alert6: "Per favore, inserisci un'espressione.", 
		alert7: "Per favore, inserisci un'equazione.",
		alert8: "Per favore, inserisci una disuguaglianza.",
		alert9: "Per favore, inserisci un intervallo.",
		integralID: "integral(sin x, x) o integral(sin x,x,0,1)",
		enterintegral: "Integrale da valutare:",
		enterimproperintegral: "Integrale improprio da valutare:",
		improperintegralID: "integral(1/x^2,x,0,infinity) o integral(1/ln x,x,0,1)",
		alertlim: "L'input deve avere la forma lim(x->a,f) o lim(x->a+,f) o lim(x->a-,f)",
		limitID: "lim(x->0, sin(x)/x) o lim(x->0+, sin(x)/x)",
		enterlimit: "Limite da valutare:",
		derivativeID: "y = sin x  o f(x) = sin x o sin x",
		enterderivative: "Espressione da derivare:",
		enterderivativedefn: "Espressione da derivare,",
		enterderivativedefn2: "usando la definizione di derivata:",
		alertdif: "L'input deve avere la forma diff(y,x)",
		alertdif2: "In diff(y,x), y e x devono essere nomi di variabili validi.",
		enterimplicitequation: "Equazione che collega le variabili:",
		enterimplicitderivative:"Derivata da calcolare:",
		enterratesequation: "Equazioni valide per tutti i tempi:",
		enteronetime: "Equazione valida per un momento specifico:",
		functionmaxmin: "Trova i massimi e i minimi di",
		interval: "nell'intervallo:",
		maxminID1: "x^3 - x, oppure y = x^3 - x, oppure f(x) = x^3 - x",
		alertseries: "L'input deve avere la forma sum(f,n,firstIndex,infinity).",
		alertinfinity: "L'ultimo argomento deve essere \"infinity\".",
		alertlower: "Il limite inferiore della somma deve essere un numero intero specifico.",
		enterseries: "Serie da valutare",
		seriesEval: "Valuta la serie",
		comparisontest: "Test di confronto",
		rootorratiotest: "Test della radice o del rapporto",
		integraltest: "Test integrale",
		selector22Label: "Cosa vuoi fare?",
		enterpowerseries: "Funzione da espandere in una serie di potenze:",
		powerseries: "Serie di potenze",
		real_roots: "Trova solo soluzioni reali",
		complex_roots: "Trova soluzioni complesse",
		factor_quadratics: "Usa solo numeri reali",
		simple_factoring: "Usa solo numeri reali",
		alg1_factor_quadratic: "Usa solo numeri reali",
		factor_by_grouping: "Usa solo numeri reali",
		advanced_factoring: "Permetti fattori con numeri complessi",
		done: "Fatto",
		changes: "cambia",
		by: "di",
		cheerMessage: "Hai guadagnato un applauso. Fai clic su Riproduci per ascoltarlo.",
		playButton: "Riproduci",
		cheerMessage2: "Hai eseguito più della metà dei passaggi senza assistenza.",
		selectTermHint: "Per fare un passo da solo, seleziona l'espressione che vuoi cambiare.",
		showMeButton: "Mostrami come",
		real_simplify: "Usa solo numeri reali",
		complex_simplify: "Permetti numeri complessi",
		real_identities: "Usa solo numeri reali",
		complex_identities: "Usa numeri complessi",
		topicReminder0: "Metodo selezionato:",
		topicReminder37: "Somme di Riemann",
		topicReminder38: "Regola del trapezio",
		topicReminder39: "Regola di Simpson",
		derivAdvice: "Se vuoi la seconda derivata, passa il mouse qui.",
		"tooltip-derivAdvice": "Inserisci un'equazione come y = sin x e calcola la derivata. \n Quindi, deriva nuovamente l'equazione.",
		shadowODE2InputID1: "x' = f(x,y) o x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) o y' = g(x,y,t)",
		subjectHeader: "Materia",
		topicHeader: "Argomento",
		problemNumberHeader: "Numero del problema",
		acceptButton: "Accetta il problema selezionato",
		editButton: "Modifica il problema selezionato",
	},
	dutch: {
		mathematical: "Wiskundig",
		assistant: "Assistent",
		make: "Maak een",
		graph: "Grafiek",
		enter: "Voer een",
		problem: "Probleem", 
		problem2: "Probleem",
		library: "Bibliotheek",
		credit: "Ontworpen en geïmplementeerd door Dr. Michael Beeson",
		draw3: "Teken",
		draw: "Teken",
		draw2: "Teken",
		drag: "Slepen",
		changeTypeSize: "Lettergrootte",
		normalSize: "Normaal",
		largerSize: "Groter",
		smallerSize: "Kleiner",
		functiontograph: "Functie om te tekenen",
		functionstograph: "Functies om te tekenen",
		displayButton: "Weergave",
		displayButton1: "Weergave",
		displayButton2: "Weergave",
		displayButton3: "Weergave",
		displayButton4: "Weergave",
		displayButton5: "Weergave",
		displayButton6: "Weergave",
		displayButton7: "Weergave",
		displayButton8: "Weergave",
		displayButton9: "Weergave",
		displayButton10: "Weergave",
		shadowID1: "y = x^3-ax bijvoorbeeld, of gewoon x^3-ax",
		shadowInequalityID: "x < y < sqrt x  of cos x <= y <= sin x",
		assumptions: "Aannames",
		singularities: "Singulariteiten",
		jumps: "Sprongen",
		remarks: "Opmerkingen",
		enterfunctions: "Vergelijk de grafieken van",
		addFunctionLabel: "Voeg een andere functie toe",
		addEquationLabel: "Voeg een andere vergelijking toe",
		addEquationLabel2: "Voeg een andere vergelijking toe",
		dataID3: "Voer formule in",
		dataID4: "Voer formule in",
		dataID5: "Voer formule in",
		dataID6: "Voer formule in",
		"tooltip-draw3": "Teken de grafieken",
		"tooltip-draw2": "Teken de grafiek",
		"tooltip-displayButton1": "Toon de formule in wiskundige notatie",
		"tooltip-displayButton": "Toon de vergelijkingen in wiskundige notatie",
		"tooltip-displayButton2": "De limiet in wiskundige notatie weergeven",		
		"tooltip-displayButton3": "Toon de integraal in wiskundige notatie",
		"tooltip-displayButton4": "Toon de afgeleide in wiskundige notatie",
		"tooltip-displayButton5": "Toon de identiteit in wiskundige notatie",
		"tooltip-displayButton6": "Toon de vergelijking in wiskundige notatie",
		"tooltip-displayButton7": "Toon de uitdrukking in wiskundige notatie",
		"tooltip-displayButton8": "Toon de ongelijkheid in wiskundige notatie",
		"tooltip-displayButton9": "Toon de functie in wiskundige notatie",
		"tooltip-displayButton10": "Toon de reeks in wiskundige notatie",
		"tooltip-arrowButton": "Schiet een voorbeeldprobleem \n in het invoerveld links",
		title_EnterOrdinaryGraph: "Voer een gewone grafiek in",
		title_EnterCompareSame: "Vergelijk grafieken",
		title_EnterCompareDifferent: "Vergelijk grafieken",
		title_EnterGraphPolar: "Voer een polaire grafiek in",
		title_EnterGraphComplexRoots: "Voer een polynoom in",
		EnterGraphComplexRoots: "Teken de wortels van dit polynoom:", 
		title_EnterGraphParametric: "Voer een parametrische grafiek in",
		EnterGraphParametric: "Voer een parametrische grafiek in:",
		EnterGraphPolar:"Voer een polaire grafiek in:",
		title_EnterGraphInequality: "Voer een ongelijkheid in",
		title_EnterGraphRelation: "Een relatie tekenen",
		title_EnterGraphRelationInequality: "Een ongelijkheid van een relatie tekenen",
		relationtograph: "Voer een relatie met = in",
		inequalityrelationtograph: "Voer een relatie met ongelijkheid in",
		title_EnterGraphDeriv: "Vergelijk f en f'",
		comparederiv: "Vergelijk f en f'.  Voer f in",
		title_EnterGraphDerivs: "Vergelijk f, f' en f''. Voer f in",
		comparederivs: "Vergelijk f, f' en f''",
		title_EnterODE: "Voer een differentiaalvergelijking in",
		title_EnterTwoODEs: "Voer twee differentiaalvergelijkingen in",
		title_EnterHDE: "Voer een differentiaalvergelijking in",
		title_EnterRiemannSums: "Voer een Riemann-sommen grafiek in",
		title_EnterTrapezoidRule: "Voer een trapeziumregel grafiek in",
		title_EnterSimpsonsRule: "Voer een Simpson-regel grafiek in",
		titleSymbolicDoc: "MathXpert Symbolische Calculator",
		titleGraphDoc: "MathXpert Graficus",
		title_GetProblemAsync: "MathXpert Problem Library",
		functionRiemannSums: "Functie om te integreren",
		shadowRiemannSumsID: "bijvoorbeeld sin x",
		from: "van",
		to: "tot",
		shadowfrom: "0",
		shadowto: "2 pi",
		nintervals: "Aantal intervallen",
		riemannStyle: "Stijl van rechthoeken", 
		shadownintervals: "2^(n+1)",
		inequalitytograph: "Ongelijkheid om te grafieken:",
		shadowInequality: "bijvoorbeeld x < y < sqrt x",
		shadowPolar: "bijvoorbeeld r = 2 cos theta",
		shadowPolyrootsID: "bijvoorbeeld x^n-1",
		shadowRelationID: "(x/4)^2 + (y/3)^2 = 1 bijvoorbeeld",
		shadowInequalityRelationID:  "y^2 <=  sin^2 x bivoorbeeld",
		shadowParametric: "bijvoorbeeld x = cos(nt), y = sin(mt)",
		shadowCompareDerivID: "sin x,  of f(x) = sin x, of y = sin x",
		styleLeft: "Links",
		styleRight: "Rechts",
		styleCentered: "Gecentreerd",
		shadowODE: "y'=y of diff(y,x) = y sin x",
		odetograph: "Differentiaalvergelijking",
		initialConditions: "Beginvoorwaarden",  
		shadowInitialConditions: "(3,2)",  
		shadowInitialConditionsHDE: "(0,1,2)", 
		alertParametric: "U moet twee formules en het bereik van de parameter invoeren.",
		alertPolar: "Je moet een formule en het bereik van de parameter invoeren.",
		alertCompareGraphs: "U moet twee of meer formules invoeren om te grafieken.",
		shadowParameterInterval: "0 <= t <= 2pi",
		shadowHDE: "y''= y + y' of diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "Uw vergelijking moet precies één = teken bevatten",
		toomanyconditions: "Te veel beginvoorwaarden",
		toofewconditions: "Te weinig beginvoorwaarden",
		badleftside: "De linkerkant moet eruitzien als y'''...",
		odeFirst: "Eerste differentiaalvergelijking",
		odeSecond: "Tweede differentiaalvergelijking",
		ode2First: "Eerste differentiaalvergelijking",
		ode2Second: "Tweede differentiaalvergelijking",
		parameterInterval: "Parameterinterval",
		undoButtonRef: "Undo",   // "Ongedaan Maken" is way too long  
		hintButtonRef: "Hint",
		graphButtonRef: "Grafiek",
		autoFinishButtonRef: "AutoKlaar",
		autoStepButtonRef: "AutoStap",
		showStepButtonRef: "ToonStap",
		assumptionsButtonRef: "Aannames",
		finishedButtonRef: "Klaar?",
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",
		title_EnterLinearEquations:   "Lineaire Vergelijkingen", 	
		enterequations: "Lineaire vergelijkingen om op te lossen:",
		enterequation: "Vergelijking om op te lossen:",
		enteridentity: "Identiteit om te verifiëren:",
		entersimplify: "Uitdrukking om te vereenvoudigen:",
		enterfactor: "Uitdrukking om te factoriseren",
		enterinequality: "Ongelijkheid:",
		solveNowButton:  "Reken uit",	
		select: "Selecteer een probleemtype",
		simplify: "Vereenvoudigen", 
		factor: "Factoriseren", 
		solveEquation: "Los één vergelijking op", 
		solveLinearEquations: "Los lineaire vergelijkingen op",  // met een selector voor de methode 
		substitution:  "Substitutie", 
		rowandcolumn:  "Rijbewerkingen",
		matrices:      "Matrixalgebra",
		solveInequality: "Los een ongelijkheid op",
		gaussJordan:   "Gauss-Jordan", 
		matrixInverse:  "Gebruik matrix-inversie", 
		cramer:         "Regel van Cramer", 
		verifyIdentity: "Controleer een identiteit", 
		limits:         "Bereken een limiet", 
		derivatives:    "Differentieer", 
		integrals:      "Integreer", 
		sums:           "Eindige sommen", 
		infiniteseries:         "Oneindige reeksen", 
		evaluateseries:  "Bereken een oneindige reeks",
		convergencetests:  "Test een reeks op convergentie",  // met een selector voor de methode 
		integraltest:    "Integratietest", 
		comparisontest:  "Vergelijkingstest",
		rootratio:       "Wortel- en verhoudingsproeven", 
		powerseries:     "Machtsreeksen",
		"tooltip-solveNowButton": "Open een MathXpert berekeningspagina",
		"tooltip-solveEquationButton": "Open een MathXpert berekeningspagina",
		"tooltip-selector2": "Uw selectie uit deze lijst bepaalt hoe AutoFinish en AutoStep uw probleem oplossen.",
		"tooltip-complexSelector": "Vierkantswortels van negatieve getallen toestaan of verbieden",
		selector2Label: "U kunt optioneel aan MathXpert aangeven hoe u de vergelijkingen wilt oplossen:",
		alert1: "U moet ten minste twee vergelijkingen invoeren.",
		alert2: "Een vergelijking moet een = teken bevatten.",
		alert3: "Een vergelijking mag slechts één = teken bevatten.",
		alert4: "De invoer moet de vorm hebben integral(f,x) of integral(f,x,a,b).",
		alert5: "Het tweede argument moet een variabelenaam zijn.",
		alert6: "Voer alstublieft een expressie in.", 
		alert7: "Voer alstublieft een vergelijking in.",
		alert8: "Voer alstublieft een ongelijkheid in.",
		alert9: "Voer alstublieft een interval in.",
		integralID: "integral(sin x, x) of integral(sin x,x,0,1)",
		enterintegral: "Integraal om te evalueren:",
		enterimproperintegral: "Onjuiste integraal te evalueren:",
		improperintegralID: "integral(1/x^2,x,0,infinity) of integral(1/ln x,x,0,1)",
		alertlim: "De invoer moet de vorm hebben lim(x->a,f) of lim(x->a+,f) of lim(x->a-,f)",
		limitID: "lim(x->0, sin(x)/x) of lim(x->0+, sin(x)/x)",
		enterlimit: "Limiet om te evalueren:",
		derivativeID: "y = sin x  of f(x) = sin x  of gewoon sin x",
		enterderivative: "Uitdrukking om te differentiëren:",
		enterderivativedefn: "Uitdrukking om te differentiëren,",
		enterderivativedefn2: "Met behulp van de definitie van afgeleide:",
		alertdif: "De invoer moet de vorm diff(y,x) hebben",
		alertdif2: "In diff(y,x) moeten y en x geldige variabelnamen zijn.",
		enterimplicitequation: "Vergelijking die de variabelen verbindt:",
		enterimplicitderivative:"Afgeleide om te berekenen:",
		enterratesequation: "Vergelijkingen die voor alle tijden gelden:",
		enteronetime: "Vergelijking die voor één specifiek moment geldt:",
		functionmaxmin: "Vind de maxima en minima van",
		interval: "op het interval:",
		maxminID1: "x^3 - x, of y = x^3 - x, of f(x) = x^3 - x",
		alertseries: "De invoer moet de vorm sum(f,n,firstIndex,infinity) hebben.",
		alertinfinity: "Het laatste argument moet \"infinity\" zijn.",
		alertlower: "De ondergrens van de som moet een specifiek geheel getal zijn.",
		enterseries: "Reeks om te evalueren",
		seriesEval: "Evalueer de reeks",
		comparisontest: "Vergelijkingstoets",
		rootorratiotest: "Wortel- of verhoudingsproef",
		integraltest: "Integraaltoets",
		selector22Label: "Wat wil je doen?",
		enterpowerseries: "Functie om uit te breiden in een machtreeks:",
		powerseries: "Machtreeks",
		real_roots: "Vind alleen reële oplossingen",
		complex_roots: "Vind complexe oplossingen",
		factor_quadratics: "Gebruik alleen reële getallen",
		simple_factoring: "Alleen reële getallen gebruiken",
		alg1_factor_quadratic: "Alleen reële getallen gebruiken",
		factor_by_grouping: "Alleen reële getallen gebruiken",
		advanced_factoring: "Sta factoren met complexe getallen toe",
		done: "Klaar",
		changes: "verandert",
		by: "met",
		cheerMessage: "Je hebt applaus verdiend. Klik op Afspelen om het te horen.",
		playButton: "Afspelen",
		cheerMessage2: "Je hebt meer dan de helft van de stappen zonder hulp uitgevoerd.",
		selectTermHint: "Om zelf een stap te zetten, selecteer de uitdrukking die je wilt wijzigen.",
		showMeButton: "Laat me zien hoe",
		real_simplify: "Alleen reële getallen gebruiken",
		complex_simplify: "Complexe getallen toestaan",
		real_identities: "Alleen reële getallen gebruiken",
		complex_identities: "Complexe getallen gebruiken",
		topicReminder0: "Geselecteerde methode:",
		topicReminder37: "Riemann-sommen",
		topicReminder38: "Trapeziumregel",
		topicReminder39: "Simpsonregel",
		derivAdvice:  "Als je de tweede afgeleide wilt, tik of beweeg hier.",
		"tooltip-derivAdvice": "Voer een vergelijking in zoals y = sin x en bereken de afgeleide. \n Differentieer vervolgens de vergelijking opnieuw.",
		shadowODE2InputID1: "x' = f(x,y) of x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) of y' = g(x,y,t)",
		subjectHeader: "Onderwerp",
		topicHeader: "Thema",
		problemNumberHeader: "Opgavenummer",
		acceptButton: "Geselecteerd probleem accepteren",
		editButton: "Geselecteerd probleem bewerken",
	},
	chinese: {
		mathematical: "数学",
		assistant: "助手",
		make: "创建",
		graph: "图表",
		enter: "输入",
		problem: "问题", 
		problem2: "问题",
		library: "图书馆",
		credit: "由Michael Beeson博士设计和实施",
		draw3: "画",
		draw: "画",
		draw2: "画",
		drag: "拖拽",
		changeTypeSize: "字体大小",
		normalSize: "正常",
		largerSize: "更大",
		smallerSize: "更小",
		functiontograph: "绘制的函数",
		functionstograph: "绘制的函数",
		displayButton: "显示",
		displayButton1: "显示",
		displayButton2: "显示",
		displayButton3: "显示",
		displayButton4: "显示",
		displayButton5: "显示",
		displayButton6: "显示",
		displayButton7: "显示",
		displayButton8: "显示",
		displayButton9: "显示",
		displayButton10: "显示",
		shadowID1: "例如 y = x^3-ax,或仅 x^3-ax",
		shadowInequalityID: "x < y < sqrt x 或者 cos x <= y <= sin x",
		assumptions: "假设",
		singularities: "奇点",
		jumps: "跳跃",
		remarks: "备注",
		enterfunctions: "比较以下图像:",
		addFunctionLabel: "添加另一个函数",
		addEquationLabel: "添加另一个方程",
		addEquationLabel2: "添加另一个方程",
		dataID3: "输入公式",
		dataID4: "输入公式",
		dataID5: "输入公式",
		dataID6: "输入公式",	
		"tooltip-draw3": "绘制图形",
		"tooltip-draw2": "绘制图表",
		"tooltip-displayButton1": "以数学符号显示公式",
		"tooltip-displayButton": "以数学符号显示方程式",	
		"tooltip-displayButton2": "以数学符号显示极限",		
		"tooltip-displayButton3": "以数学符号显示积分",		
		"tooltip-displayButton4": "以数学符号显示导数",
		"tooltip-displayButton5": "以数学符号显示恒等式",
		"tooltip-displayButton6": "以数学符号显示方程",
		"tooltip-displayButton7": "以数学符号显示表达式",
		"tooltip-displayButton8": "以数学符号显示不等式",	
		"tooltip-arrowButton": "将示例问题 \n 输入到左侧的输入框中",	
		"tooltip-displayButton9": "以数学符号显示函数",
		"tooltip-displayButton10": "以数学符号显示级数",
		title_EnterOrdinaryGraph: "输入一个普通图形", 	
		title_EnterCompareSame: "比较图形",
		title_EnterCompareDifferent: "比较图形",
		title_EnterGraphPolar: "输入极坐标图",
		title_EnterGraphComplexRoots: "输入多项式",
		EnterGraphComplexRoots: "绘制此多项式的根:", 
		title_EnterGraphParametric: "输入参数方程图",
		EnterGraphPolar:"输入极坐标图:",
		EnterGraphParametric: "输入参数方程图:",
		title_EnterGraphInequality: "输入不等式",		
		relationtograph: "输入带有 = 的关系",
		inequalityrelationtograph: "输入不等式",
		title_EnterGraphRelation: "绘制关系",
		title_EnterGraphRelationInequality: "绘制关系不等式",	
		title_EnterGraphDeriv: "比较 f 和 f'",
		comparederiv: "比较 f 和 f'",
		title_EnterGraphDerivs: "比较 f, f' 和 f''",
		comparederivs: "比较 f, f' 和 f''",
		title_EnterODE: "输入微分方程",
		title_EnterTwoODEs: "输入两个微分方程",
		title_EnterHDE: "输入微分方程",
		title_EnterRiemannSums: "输入黎曼和图形",
		title_EnterTrapezoidRule: "输入梯形法则图形",
		title_EnterSimpsonsRule: "输入辛普森法则图形",
		titleSymbolicDoc: "MathXpert 符号计算器",
		titleGraphDoc: "MathXpert 图形计算器",
		title_GetProblemAsync: "MathXpert Problem Library",
		functionRiemannSums: "需要积分的函数",
		shadowRiemannSumsID: "例如 sin x",
		from: "从",
		to: "到",
		shadowfrom: "0",
		shadowto: "2π",
		nintervals: "区间数",
		riemannStyle: "矩形的样式", 
		shadownintervals: "2^(n+1)",
		inequalitytograph: "需要绘制的不等式:",
		shadowInequality: "例如 x < y < sqrt x",
		shadowPolar: "例如 r = 2 cos θ",
		shadowPolyrootsID: "例如 x^n-1",
		shadowRelationID: "例如 (x/4)^2 + (y/3)^2 = 1",
		shadowInequalityRelationID: "例如 y^2 <=  sin^2 x",
		shadowParametric: "例如 x= cos(nt), y = sin(mt)",
		shadowCompareDerivID: "sin x 或者 f(x) = sin x 或者 y = sin x",
		styleLeft: "左对齐",
		styleRight: "右对齐",
		styleCentered: "居中",
		shadowODE: "y'=y 或 diff(y,x) = y sin x",
		odetograph: "微分方程",
		initialConditions: "初始条件",  
		shadowInitialConditions: "(3,2)", 
		shadowInitialConditionsHDE: "(0,1,2)", 
		alertParametric: "您必须输入两个公式和参数范围。",
		alertPolar: "您必须输入公式和参数范围。",
		alertCompareGraphs: "您必须输入两个或更多公式进行绘图。",
		shadowParameterInterval: "0 <= t <= 2pi",
		shadowHDE: "y''= y + y' 或 diff(y,x,2) = y + diff(y,x)",
		oneequalsign: "您的方程必须包含一个等号",
		toomanyconditions: "初始条件过多",
		toofewconditions: "初始条件过少",
		badleftside: "左侧必须像 y'''...",
		odeFirst: "第一微分方程",
		odeSecond: "第二微分方程",
		ode2First: "第一微分方程",
		ode2Second: "第二微分方程",
		parameterInterval: "参数区间",
		undoButtonRef: "撤销",
		hintButtonRef: "提示",
		graphButtonRef: "图表",
		autoFinishButtonRef: "自动完成",
		autoStepButtonRef: "自动步骤",
		showStepButtonRef: "显示步骤",
		assumptionsButtonRef: "假设",
		finishedButtonRef: "完成?",
		linearEquationID1: "x+y = 12",
		linearEquationID2: "x-y = 4",
		linearEquationID3: "x+z = 9",
		linearEquationID4: "u+y+z = 7",
		linearEquationID5: "x+ 2y +4t = 20",
		linearEquationID6: "x+ 3y+w = 25",
		title_EnterLinearEquations:   "线性方程", 	
		enterequations: "需要求解的线性方程:",
		enterequation: "需要求解的方程:",
		enteridentity: "需要验证的恒等式:",
		entersimplify: "需要化简的表达式:",
		enterfactor: "待分解的表达式",
		enterinequality: "不等式:",
		solveNowButton:  "开始计算",	
		select: "选择问题类型",
		simplify: "简化", 
		factor: "因式分解", 
		solveEquation: "解一个方程", 
		solveLinearEquations: "解线性方程",  // 带有方法选择器 
		substitution:  "代换法", 
		rowandcolumn:  "行操作",
		matrices:      "矩阵代数",
		solveInequality: "解不等式",
		gaussJordan:   "高斯-若尔当法", 
		matrixInverse:  "使用矩阵逆", 
		cramer:         "克莱姆法则", 
		verifyIdentity: "验证恒等式", 
		limits:         "求极限", 
		derivatives:    "求导", 
		integrals:      "积分", 
		sums:           "有限和", 
		infiniteseries:         "无穷级数", 
		evaluateseries:  "计算无穷级数",
		convergencetests:  "测试级数的收敛性",  // 带有方法选择器 
		integraltest:    "积分判别法", 
		comparisontest:  "比较判别法",
		rootratio:       "根值和比值测试", 
		powerseries:     "幂级数",
		"tooltip-solveNowButton": "打开一个 MathXpert 计算页面",
		"tooltip-solveEquationButton": "打开一个 MathXpert 计算页面",
		"tooltip-selector2": "您从此列表中的选择决定了 AutoFinish 和 AutoStep 如何解决您的问题。",
		"tooltip-complexSelector": "允许或禁止负数的平方根",
		selector2Label: "您可以选择告诉 MathXpert 您想如何解这些方程:",
		alert1: "您必须输入至少两个方程。",
		alert2: "方程必须包含一个 = 符号。",
		alert3: "方程只能包含一个 = 符号。",
		alert4: "输入应该为 integral(f,x) 或 integral(f,x,a,b) 的形式。",
		alert5: "第二个参数必须是变量名称。",
		alert6: "请输入一个表达式。", 
		alert7: "请输入一个方程。",
		alert8: "请输入一个不等式。",
		alert9: "请输入一个区间。",
		integralID: "integral(sin x, x) 或 integral(sin x,x,0,1)",
		enterintegral: "要计算的积分:",
		enterimproperintegral: "需要求值的瑕积分:",
		improperintegralID: "integral(1/x^2,x,0,infinity) 或 integral(1/ln x,x,0,1)",
		alertlim: "输入应具有形式 lim(x->a,f) 或 lim(x->a+,f) 或 lim(x->a-,f)",
		limitID: "lim(x->0, sin(x)/x) 或 lim(x->0+, sin(x)/x)",
		enterlimit: "要计算的极限:",
		derivativeID: "y = sin x   或 f(x) = sin x 或 sin x",
		enterderivative: "需要求导的表达式:",
		enterderivativedefn: "要求导的表达式,",
		enterderivativedefn2: "使用导数的定义:",
		alertdif: "输入应具有 diff(y,x) 的形式",
		alertdif2: "在 diff(y,x) 中,y 和 x 必须是有效的变量名。",
		enterimplicitequation: "变量之间的方程:",
		enterimplicitderivative:"要计算的导数:",
		enterratesequation: "适用于所有时间的方程:",
		enteronetime: "适用于特定时间的方程:",
		functionmaxmin: "寻找...的极大值和极小值",
		interval: "在区间:",
		maxminID1: "x^3 - x,或 y = x^3 - x,或 f(x) = x^3 - x",
		alertseries: "输入应具有 sum(f,n,firstIndex,infinity) 的形式。",
		alertinfinity: "最后一个参数应为 \"infinity\"。",
		alertlower: "求和的下限必须是一个特定的整数。",
		enterseries: "要评估的级数",
		seriesEval: "计算数列",
		comparisontest: "比较测试",
		rootorratiotest: "根值或比值测试",
		integraltest: "积分测试",
		selector22Label: "您想要做什么?",
		enterpowerseries: "要展开为幂级数的函数:",
		powerseries: "幂级数",
		real_roots: "仅查找实数解",
		complex_roots: "查找复数解",
		factor_quadratics: "仅使用实数",
		simple_factoring: "仅使用实数",
		alg1_factor_quadratic: "仅使用实数",
		factor_by_grouping: "仅使用实数",
		advanced_factoring: "允许含复数的因式分解",
		done: "完成",
		changes: "更改",
		by: "通过",
		cheerMessage: "你赢得了掌声。点击播放来听。",
		playButton: "播放",
		cheerMessage2: "你在没有帮助的情况下完成了超过一半的步骤。",
		selectTermHint: "要自己执行一步,请选择您想更改的表达式。",
		showMeButton: "告诉我怎么做",
		real_simplify: "仅使用实数",
		complex_simplify: "允许复数",
		real_identities: "仅使用实数",
		complex_identities: "使用复数",
		topicReminder0: "选定的方法:",
		topicReminder37: "黎曼和",
		topicReminder38: "梯形法则",
		topicReminder39: "辛普森法则",
		derivAdvice: "如果你想要二阶导数,请将鼠标悬停在这里。",
		"tooltip-derivAdvice": "输入一个方程,例如 y = sin x 并计算导数。\n 然后再次对方程求导。",
		shadowODE2InputID1: "x' = f(x,y) 或 x' =f(x,y,t)",
		shadowODE2InputID2: "y' = g(x,y) 或 y' = g(x,y,t)",
		subjectHeader: "科目",
		topicHeader: "主题",
		problemNumberHeader: "问题编号",
		acceptButton: "接受选定的问题",
		editButton: "编辑选定的问题",
	}
};

function getLastTextElement(element){
	// some of the buttons have images that are really UTF-8 text,
	// and the text we want to translate is not that but the other,
	// or last, text element.
	const svgTextElements = element.querySelectorAll("text"); 
	return svgTextElements[svgTextElements.length - 1]; 
}

function getPenultimateTextElement(element){
	const svgTextElements = element.querySelectorAll("text"); 
	const nTexts = svgTextElements.length;
	if (nTexts < 2)
		return null;
	return svgTextElements[nTexts - 2]; 
}

function estimatedWidth(text) {
    // Create a temporary canvas element
    const canvas = document.createElement('canvas');
    const context = canvas.getContext('2d');
    
    // Set the font to match the text's intended style
    context.font = '12px Arial'; // Replace with the desired font and size
    // console.log("Measuring text:", text);
    // console.log("Using font:", context.font);

    // Measure the width of the text
    const textWidth = context.measureText(text).width;

    // Check for potential errors
    if (!canvas || !context) {
        console.error("Failed to create canvas or get context");
        return 0;
    }
    
    // Return the width
    return textWidth;
}


function updateTextContentOrValue(element, text) {
	// Check if the element contains SVG text
	
	if (element.classList.contains('svg-button')) {
		// console.log(0,element,text);
		const svgTextElement = getLastTextElement(element);
		// Remove any previous transform
		//svgTextElement.removeAttribute('transform');

		// Estimate the length required for the translated text
		textWidth = estimatedWidth(text); // assuming 12 point type
		// console.log("Measured width:", textWidth);
		// find the available width
		const elementWidth = 62;  // it's always this for the Symbolic Toolbar	

		// Apply compression transform if text is too wide
		if (textWidth > elementWidth && element.id != "solveNowButton") {  // don't compress translations of "Do the Math"
			const compressionFactor = elementWidth / textWidth;
			svgTextElement.setAttribute('transform', `scale(${compressionFactor},1) translate(1.5, 0) `);
			// console.log("compressing to", compressionFactor);
		}
		if (svgTextElement) {
			svgTextElement.textContent = text;
		}
	}
		
	else if (element.tagName === "svg") {  // but it's not a button
		// Find the SVG <text> element or elements and update its (or their) content
		// console.log(1,element,text);
		if (text.includes("\n")) {
			const firstText = getPenultimateTextElement(element);
			const secondText = getLastTextElement(element);
			const lines = text.split("\n");
			if(firstText && secondText){
				firstText.textContent = lines[0];
				secondText.textContent = lines[1];
			}
			else if(secondText){
				secondText.textContent = text;   // the newline will not render
			}
		}
		else{
			const svgTextElement = getLastTextElement(element);
			if (svgTextElement) {
				svgTextElement.textContent = text;
			}
		}
	}
	else if (element.tagName.toLowerCase() === 'input') {
		if (element.type === 'text' && 'placeholder' in element) {
			// Set the translated text as a placeholder but do not clear existing value
			element.placeholder = text; 
		} 
		if (element.type === 'submit') {
			element.value = text;
		}
		// console.log(2,element,text);
	}
	else if (element.tagName.toLowerCase() === 'label') {
		element.textContent = text;
	}
	else if (element.tagName.toLowerCase() === 'th') {
		element.textContent = text;
	}
	else if (element.tagName.toLowerCase() === 'option') {
		element.textContent = text;
		// console.log(element);
	}
	else if (element.tagName.toLowerCase() === 'text') {
		element.textContent = text;       // Update the text content
		// console.log(3, element, text); 
	} 
	else if (element.tagName.toLowerCase() === 'div') {
		let textNodes = Array.from(element.childNodes).filter(node => node.nodeType === Node.TEXT_NODE);
		if (textNodes.length > 0) {
			textNodes[0].nodeValue = text; // Update only the first text node
			// console.log("updating", text);
		} 
		// console.log(4, element, text);
	}
	else if (element.tagName.toLowerCase() === 'button' && element.id == "showMeButton") {
		let textNodes = Array.from(element.childNodes).filter(node => node.nodeType === Node.TEXT_NODE);
		if (textNodes.length > 0) {
			textNodes[1].nodeValue = text; // Update only the first text node
			console.log("updating", text);
		} 
		// console.log(5, element, text);
	}
	else if(element.tagName.toLowerCase() == 'button'){
		element.textContent = text;   // acceptButton and editButton for example
	}
	else if ('textContent' in element) {
		// If the element has textContent (e.g.,  <p>, etc.)
		element.textContent = text;
		// console.log(5,element,text);
	} 
	else if ('text' in element) {
	    // If the element is an <option> or similar
	    element.text = text;
	    // console.log(7, element, text);
	}
	else {
		// console.log("updateTextContentOrValue failed on ", element);
	}
}

// Function to get the current page name
function getCurrentPageName() {
    const path = window.location.pathname;
    const page = path.split("/").pop(); // Get the last part of the path
    return page.split(".")[0]; // Remove the file extension (e.g., "EnterOrdinaryGraph" from "EnterOrdinaryGraph.php")
}


function setLanguage(lang) {
    const languageData = translations[lang]; // || translations.english; // Fallback to English if the language is not found
    // ("Selected language:", lang);
    // console.log("translations object:", translations); // This should log the entire translations object
    // console.log("Available languages:", Object.keys(translations));
   //  console.log("translations[lang]:", languageData); // Log the specific language data
   
    // Get the current page name without the extension (e.g., "EnterOrdinaryGraph" from "EnterOrdinaryGraph.php")
    const currentPage = getCurrentPageName();

    // Construct the title ID based on the current page name
    const titleId = `title_${currentPage}`;
	 console.log("titleId is ", titleId);
    
    // Set the title if it exists in the translation data
    if (languageData[titleId]) {
        document.title = languageData[titleId];
    }

    // Loop through each key-value pair in the selected language's data for other elements
    for (const [id, translation] of Object.entries(languageData)) {
        if (!id.startsWith("title_")) {
            const element = document.getElementById(id);
            if (element) {
                updateTextContentOrValue(element, translation);
            }
        }
    }
	 
}




Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists