Sindbad~EG File Manager
/* English character strings used in MathXpert */
/* Last modified 11.24.98
This file should be viewed and translated in the ISO-Latin1 character set
Sent to translator.
3.19.99 added 159-162 to input_error_message
6.27.99 added CANADIAN
10.24.99 added error 162
10.31.99 added dem message 8
1.9.00 added messages 163 and 164
1.10.00 added aem 64
1.11.00 added input_error_message 165
7.10.00 added input_error_message 166
9.3.04 removed a superfluous include
9.5.04 added input_error_message 15.
9.4.06 corrected spacing near "or even up to"
5.3.13 changed names of exported functions
5.15.13 added case 54 in dem
5.17.13 added case 65 in aem
5.24.13 added case 66 in aem and 55 in dem
11.24.24 added 168 to English_input_error_message
*/
#include <assert.h>
#include "english1.h"
#include "lang.h"
/*___________________________________________________________________*/
const char * English_input_error_message(int k)
{ switch (k)
{
case 1: return "Input is not a polynomial."; /* for POLYROOTS */
case 2: return "You must enter both an upper and lower bound, as in sin x < y < cos x.";
case 3: return "The middle term must be a variable, as in sin x < y < cos x.";
case 4: return "The upper and lower bounds must not contain the variable in the middle.";
case 5: return "";
case 6: return "";
case 7: return "";
case 8: return "";
case 9: return "";
case 10: return "You must enter a list of equations, separated by commas";
case 11: return "You must enter LINEAR equations.";
case 12: return "You must enter an inequality (or inequalities)";
case 13: return "You can't use lists here"; /* encountering ',' ,';' in graphing */
case 14: return "You can't use matrices or vectors here";
/* e.g. in graphing, solving equations (unless one single matrix eqn is entered) */
case 15: return "MathXpert can't handle any more variables.";
case 16: return "In sum(term to add,index,first,last), index must be a variable";
case 17: return "In sum(term to add,index,first,last), first and last must be integers";
case 18: return "In product(term to add,index,first,last), index must be a variable";
case 19: return "In product(term to add,index,first,last), first and last must be integers.";
case 20: return "You entered an undefined expression.";
case 21: return "Can only take the determinant of a square matrix.";
case 22: return "Can't take the absolute value of that expression.";
/* e.g. matrices, vectors, equalities, inequalities,logical operators */
case 23: return "n! is defined only if n is a non-negative integer.";
case 24: return "floor(n) is defined only if n is an integer.";
case 25: return "binomial(n,m) is defined only if m and n are integers.";
/* in MathXpert, at least; Knuth notwithstanding */
case 26: return "gcd(n,m) is defined only for integers n and m.";
case 27: return "In lim(x->a,u), x must be a variable.";
case 28: return "Use notation lim(x->a,u), please."; /* if arrow is in wrong place */
case 29: return "Use of root(n,t) requires that n be an integer.";
case 30: return "Use of root(n,t) requires that n be positive.";
case 31: return "Lower index can't be greater than upper index.";
case 32: return "mod not defined for these arguments.";
case 33: return "Your equation must be LINEAR";
case 34: return "You can only enter one equation here, not several.";
case 35: return "Illegal inequality symbol";
case 36: return "Illegal vector or matrix";
case 37: return "Illegal commas or & signs";
case 38: return "Illegal symbol";
case 39: return "Illegal = sign";
case 40: return "Your input must contain at least two variables.";
case 41: return "Left side of equation must be a variable name.";
case 42: return "Separate the two entries by a comma, please.";
case 43: return "Can't graph a function mentioning derivatives.";
case 44: return "Can't graph a function mentioning limits.";
case 45: return "Can't graph a function mentioning integrals.";
case 46: return "Complex numbers not allowed in inequalities.";
case 47: return "Inequalities accepted only when the topic chosen from the menus is inequalities.";
case 48: return "Variable of integration cannot occur in limits of integral.";
case 49: return "Summation variable cannot occur in limits of sum.";
case 50: return "Index variable cannot occur in limits of product.";
case 51: return "Variable of integration cannot occur outside integral.";
case 52: return "Summation variable cannot occur outside indexed sum.";
case 53: return "Index variable cannot occur outside indexed product.";
case 54: return "Limit variable cannot occur outside limit expression.";
case 55: return "Limit variable cannot occur at right of arrow.";
case 56: return "Bound variable used two different ways.";
case 57: return "Nested identical bound variables are illegal.";
case 58: return "Input must be of the form y' = f(x,y)";
case 59: return "Only two equations can be entered.";
case 60: return "Input must be of the form x'=f(x,y), y'=g(x,y)";
case 61: return "Input must be of the form y''... = f(x,y,y',...)";
case 62: return "Equation must of order 5 or less.";
case 63: return "Left side must be a second or higher order derivative.";
case 64: return "Maybe you used diff(u,x,n) instead of diff(u,n,x)";
case 65: return "i is the square root of -1; it can't be used as a variable of integration.";
case 66: return "Index variable can't be used outide the sum.";
case 67: return "Index variable can't be used outside the product.";
case 68: return "Integration variable can't be used outside the integral.";
case 69: return "Limit variable can't be used outside the limit.";
case 70: return "Illegal use of variables";
case 71: return "Integrand must be continuous between limits of integration.";
case 72: return "Differentiating limits is beyond the scope of MathXpert.";
case 73: return "Integrating limits is beyond the scope of MathXpert.";
case 74: return "A limit in an indexed sum or product is beyond the scope of MathXpert.";
case 75: return "One-sided limits at infinity are not defined, use $lim(x\\to \\infty ,u)$";
case 76: return "Dimensions of matrix and vectors don't match properly.";
case 77: return "Delete the equals sign--just enter the expression to differentiate.";
case 78: return "Limits illegal here--make a different choice from initial menu.";
case 79: return "You chose to work on limits, so a limit problem is expected.";
case 80: return "Wrong number of commas. Enter integrand, lower, upper.";
case 81: return "Left side of equation must be a variable or function definition.";
case 82: return "Can't use x or y in formula for a polar graph--too misleading.";
case 83: return "Independent variable can't occur on left side of = sign.";
case 84: return "After turning complex numbers on, you can't use 'i' as a variable";
case 85: return "Definitions must be of the form f(x) = ...";
case 86: return "You can't redefine a built-in function.";
case 87: return "You can't define a function of more than 4 variables";
case 88: return "Warning, function is constant. If you meant it, you can proceed.";
case 89: return "Warning, function doesn't depend on all its variables.";
case 90: return "Too many defined functions, can't accept another one.";
case 91: return "Too long to display on menu, break into two definitions.";
case 92: return "in lim(x->a,u), u must be defined for x near a.";
case 93: return "in lim(x->a+,u), u must be defined for x near a on the right";
case 94: return "in lim(x->a-,u), u must be defined for x near a on the left";
case 95: return "Left side of equation must be a variable or function definition.";
case 96: return "Only one variable allowed in minmax problems";
case 97: return "No point seeking extrema of a constant expression";
case 98: return "Interval not properly defined";
case 99: return "Interval contains an extra variable";
case 100: return "Your entry contains a symbol that is illegal here.";
case 101: return "You must enter an equation or inequality.";
case 102: return "In root(n,x), n can't be larger than 65536.";
case 103: return "Enter an equation like $y = x^2$ to compute y', y'', etc.";
case 104: return "You must enter an equation or equations (separated by commas).";
case 105: return "The integrand must be defined on the interval of integration. Improper integrals are not allowed. Not even removable singularities are allowed. For example, $sin(x)/x$ cannot be integrated across zero, and $sec(x) cos(x)$ cannot be integrated across, or even up to, $\\pi/2$. It is also possible that your integrand is really defined, but is too complicated for MathXpert to analyze. ";
case 106: return "No variable of integration. Edit your problem.";
case 107: return "Undefined lower limit of integration";
case 108: return "Undefined upper limit of integration";
case 109: return "No new variables allowed in auxiliary equations";
case 110: return "No variable of summation. Edit your problem.";
case 111: return "Lower limit of sum must be an integer.";
case 112: return "Upper limit of sum must be an integer.";
case 113: return "You must use an = sign to enter an identity.";
case 114: return "Upper limit must be greater than lower limit.";
case 115: return "Endpoints of interval must be numerical.";
case 116: return "Number of intervals can contain parameters, but must be a positive integer.";
case 117: return "Specify function, left endpoint, right endpoint, number of intervals.";
case 118: return "Can't take the floor of that expression.";
case 119: return "Too many parameters. The order of the differential equation plus the number of parameters cannot exceed five.";
case 120: return "Enter two functions separated by a comma, for example cos t, sin t. You can also use equations as in x = cos t, y = sin t.";
case 121: return "Enter three equations. Example: x = cos t, y = sin t, z = t.";
case 122: return "Illegal interval.";
case 123: return "Enter an equation or equations, separating equations by commas.";
case 124: return "Use only one semicolon. After the semicolon, separate inequalities by commas.";
case 125: return "Enter three equations in the form x = ..., y = ..., z = ...";
case 126: return "If you specify ranges for any variables, you must specify ranges for both independent variables.";
case 127: return "Lower limit of sum must be less than or equal to upper limit.";
case 128: return "Either the expression is undefined for some value of the index variable, or the problem is too complicated for MathXpert to analyze the domain.";
case 129: return "Lower limit of product must be less than or equal to upper limit.";
case 130: return "Lower limit of product must be an integer.";
case 131: return "Upper limit of product must be an integer.";
case 132: return "Only integers or decimal numbers are allowed inside the degree symbol.";
case 133: return "Enter inequalities under Graph Inequality Relation.";
case 134: return "There must be at least two variables in the problem.";
case 135: return "Only the variable of integration should appear as the second argument of an integral.";
case 136: return "Instead of dt just type t";
case 137: return "Instead of dx just type x";
case 138: return "Instead of du just type u";
case 139: return "You can't use e as a variable. Choose a different letter.";
case 140: return "You can't use i as a limit variable. Choose a different letter.";
case 141: return "This function is undefined for certain values arbitrarily close to the limit point, so the limit is undefined.";
case 142: return "There must be at least one variable.";
case 143: return "You can't use pi as a limit variable. Choose a different letter.";
case 144: return "You can't use a constant as a limit variable.";
case 145: return "An integral within an integral is not allowed. Double integrals are beyond the scope of MathXpert.";
case 146: return "Improper integrals may not be entered under this topic.";
case 147: return "An interval is an inequality or pair of inequalities.";
case 148: return "The variable can only appear once in an interval.";
case 149: return "The formula entered does not define an interval.";
case 150: return "Only one variable can occur in an interval. Parameter are not allowed.";
case 151: return "You must use a variable to define an interval. Example: $0 \\le x \\le 1$.";
case 152: return "Sorry, MathXpert cannot analyze this integral, so it cannot be accepted.";
case 153: return "This series does not converge. You can enter it under a topic designed for testing convergence.";
case 154: return "MathXpert cannot handle definition by cases in an improper integral.";
case 155: return "The integrand is undefined at more than just isolated points, so the integral cannot be defined.";
case 156: return "Please enter an infinite series.";
case 157: return "MathXpert cannot handle definition by cases in an infinite series.";
case 158: return "The function must be defined on the interval.";
case 159: return "You must enter an integral, or a sum of (functions times) integrals";
case 160: return "Double integrals cannot be entered.";
case 161: return "You cannot enter integrals in a denominator or exponent.";
case 162: return "Cannot mention logical constants 'true' or 'false' in a mathematical expression.";
case 163: return "Cannot mention undefined function symbols. First define the functions you want to use.";
case 164: return "You cannot compare more than six graphs. Try to write a single formula with a parameter, instead.";
case 165: return "You mentioned a variable that does not occur in any of the equations valid for all times. This is a mistake.";
case 166: return "Limits containing complex numbers are not accepted.";
case 167: return "Too many variables.";
case 168: return "MathXpert cannot make that graph.";
default: return "";
}
assert(0); /* cases are exhaustive */
return "illegal input"; /* avoid a warning message */
}
/*____________________________________________________________________*/
const char * English_aem(int error) /* arithmetic error message */
{ switch (error)
{ case 1: return "I can't believe this is happening!"; /* assert(0) */
case 2: return "Expression has no value.";
case 3: return "Cannot divide by zero.";
case 4: return "Something is wrong with a denominator.";
case 5: return "0^0 is undefined.";
case 6: return "Even root of negative number is not real.";
case 7: return "Integer more than 10^308 can't be converted to decimal form.";
case 8: return "Value more than 10^308 cannot be handled.";
case 9: return "Lower limit of indexed sum is not an integer.";
case 10: return "Upper limit of indexed sum is not an integer.";
case 11: return "Lower limit of indexed sum is too large to do the sum.";
case 12: return "Upper limit of indexed sum is too large to do the sum.";
case 13: return "Non-numerical term in indexed sum.";
case 14: return "Lower limit of indexed product is too large to do the product.";
case 15: return "Upper limit of indexed product is too large to do the product.";
case 16: return "Non-numerical term in indexed product.";
case 17: return "Exponent too large to evaluate expression.";
case 18: return "Can't evaluate because exponent contains too big a number.";
case 19: return "Complex numbers would be required to evaluate this.";
case 20: return "Negative number to decimal power is undefined.";
case 21: return "0^0 is undefined.";
case 22: return "Function called incorrectly.";
case 23: return "Zero-th root undefined.";
case 24: return "MathXpert can't compute a root with such a large index.";
case 25: return "Fractional-indexed roots are undefined.";
case 26: return "Decimal-indexed roots are undefined.";
case 27: return "Roots with negative index are undefined.";
case 28: return "Floor is not defined for complex numbers.";
case 29: return "Modulus must be positive.";
case 30: return "Modulus must be an integer.";
case 31: return "Factorial is not defined on decimal numbers.";
case 32: return "Factorial is defined only on integers.";
case 33: return "Factorial is defined only for nonnegative integers.";
case 34: return "Factorial too large to compute.";
case 35: return "Binomial coefficients are defined only on integers.";
case 36: return "Binomial coefficients are not defined on negative arguments.";
case 37: return "In binomial(n,k), n cannot be less than k.";
case 38: return "Binomial coefficient too large to compute.";
case 39: return "can't evaluate root because index isn't an integer, or is too large";
case 40: return "gcd is not defined for complex numbers";
case 41: return "gcd is defined only for integers";
case 43: return "mod is not defined for complex numbers";
case 44: return "mod is defined only for integers";
case 45: return "power too large or small to compute";
case 46: return "root too large or small to compute";
case 47: return "complex numbers required, and they are turned off";
case 48: return "denominator too small, can't carry out division.";
case 49: return "Out of memory.";
case 52: return "determinant is defined only on matrices";
case 53: return "matrix is singular";
case 54: return "determinant only defined for matrices";
case 55: return "only matrices of the same size can be added";
case 56: return "matrix dimensions wrong for multiplication";
case 57: return "vector dimensions must be the same to take dot product";
case 58: return "attempt to invert a non-square matrix";
case 59: return "matrix to non-integer power is undefined";
case 60: return "Cannot divide by a matrix.";
case 61: return "Cannot divide by a vector.";
case 62: return "Computation stopped by user.";
case 63: return "Cannot compute determinant unless all entries are numbers.";
case 64: return "Entries must be integers or rational numbers.";
case 65: return "Bernoulli number too large to compute easily";
case 66: return "Euler number too large to compute easily";
default: return "Unanticipated arithmetic error.";
}
}
/*________________________________________________________________*/
const char *English_dem(int error) /* deval error message */
{ switch (error)
{ case 1: assert(0); /* non-evaluable functor--no message */
case 2: return "Integer too large to convert to decimal form.";
case 3: return "Large argument to trig function can't be accurately computed.";
case 4: return "Domain error, trig function undefined.";
case 5: return "Can't compute log of negative number.";
case 6: return "Can't compute ln of negative number.";
case 7: return "Can't compute square root of negative number.";
case 8: return "0^0 is undefined";
case 9: return "Can't divide by zero.";
case 10: return "Error computing power.";
case 11: return "Error computing root.";
case 12: assert(0); /* Don't translate this */
case 13: /* fall-through-- don't translate this */
case 14:
case 15: return "Index error in sigma notation.";
case 16: return "Binomial coefficient too big.";
case 17: return "Second argument of binomial coefficient must be an integer.";
case 18: return "Factorial too large to compute."; /* ln(n!) not a double */
case 19: return "Factorial defined only for nonnegative integers.";
case 20: return "Wrong arguments to mod.";
case 21: return "Can't compute Bessel function at singularity.";
case 22: return "Base of logarithms must be positive.";
case 23: return "Logarithms are only defined for positive numbers.";
case 24: return "Logarithms to base 1 are not defined.";
case 25: return "Logarithm to that small base too large to compute.";
case 26: return "Gamma function not defined at negative integers.";
case 27: return "Domain error computing incomplete gamma function.";
case 28: return "Beta function defined only for nonnegative arguments.";
case 29: return "In exponential integral, n must be an integer $\\ge 0$";
case 30: return "Value too large in computing exponential integral.";
case 31: return "Argument must be positive in exponential integral.";
case 32: return "arccosh(x) defined only for $x \\ge 1$";
case 33: return "arctanh(x) defined only for |x| < 1";
case 34: return "arccoth(x) defined only for |x| > 1";
case 35: return "arcsech(x) defined only for $0 < x \\le 1$";
case 36: return "Digamma function not defined at negative integers";
case 37: return "Insufficient memory to complete numerical computation.";
case 38: return "arccos x defined only for $|x| \\le 1$";
case 39: return "arcsin x defined only for $|x| \\le 1$";
case 40: return "arcsec x defined only for $|x| \\ge 1$";
case 41: return "arccsc x defined only for $|x| \\ge 1$";
case 42: return "Value of exponential function too large.";
case 43: return "Value of sinh too large.";
case 44: return "Value of cosh too large.";
case 45: return "Value too large when multiplying decimal numbers.";
case 46: return "Value too large when adding decimal numbers.";
case 47: return "Value too large or too small when dividing decimal numbers.";
case 48: return "Value of binomial coefficient too large to represent in decimal form.";
case 49: return "Value of beta function too large to represent in decimal form.";
case 50: return "Value of sum too large to represent in decimal form.";
case 51: return "Value of product too large to represent in decimal form.";
case 52: return "coth undefined at zero.";
case 53: return "csch undefined at zero.";
case 54: return "Bernoulli number too large to evaluate easily.";
case 55: return "Euler number too large to evaluate easily.";
default: return "Unanticipated computation error"; /* safer than assert(0) */
}
}
/*____________________________________________________________________*/
const char *English_LanguageName(int n)
/* Return names of different languages. The input is one of the
language identifiers in natlang.h, such as ENGLISH, FRENCH,...
On illegal input it just returns "English".
*/
{ switch(n)
{ case ENGLISH: return "English";
case FRENCH: return "French";
case CANADIAN: return "Canadian French";
case GERMAN: return "German";
case SPANISH: return "Spanish";
case DUTCH: return "Dutch";
case SWEDISH: return "Swedish";
case PORTUGUESE: return "Portugese";
case ITALIAN: return "Italian";
case RUSSIAN: return "Russian";
case JAPANESE: return "Japanese";
case CHINESE: return "Chinese";
default: return "English";
}
}
/*___________________________________________________________________*/
const char *English_month(int n)
/* Return the English name of the n-th month 0-11 */
{ switch(n)
{ case 0: return "January";
case 1: return "February";
case 2: return "March";
case 3: return "April";
case 4: return "May";
case 5: return "June";
case 6: return "July";
case 7: return "August";
case 8: return "September";
case 9: return "October";
case 10: return "November";
case 11: return "December";
default: assert(0);
}
return ""; /* avoid a warning message */
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists