TTCalc is an open source bignum mathematical calculator.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2316 lines
116 KiB

/*
* This file is a part of TTCalc - a mathematical calculator
* and is distributed under the (new) BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2006-2011, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name Tomasz Sowa nor the names of contributors to this
* project may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "compileconfig.h"
#include "languages.h"
const char * Languages::ErrorMessage(Country country, ttmath::ErrorCode code)
{
const char * unk_err = "unknown error";
if( error_messages_tab.empty() )
InitErrorMessagesTab();
unsigned int cid = static_cast<unsigned int>( country );
if( cid >= error_messages_tab.size() )
return unk_err;
std::map<ttmath::ErrorCode, std::string>::const_iterator i;
i = error_messages_tab[cid].find( code );
if( i == error_messages_tab[cid].end() )
return unk_err;
return i->second.c_str();
}
const char * Languages::ErrorMessage(ttmath::ErrorCode code)
{
return ErrorMessage(current_country, code);
}
void Languages::InsertErrorPair(ttmath::ErrorCode code, const char * message)
{
if( error_messages_tab.empty() )
return;
error_messages_tab.back().insert( std::make_pair(code, message) );
}
void Languages::InitErrorMessagesTab()
{
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
/*
english messages relating to ttmath library
*/
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"An unknown character");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"An unexpected final bracket");
InsertErrorPair(ttmath::err_stack_not_clear,"An unknown character has left");
InsertErrorPair(ttmath::err_unknown_variable,"An unknown variable");
InsertErrorPair(ttmath::err_division_by_zero,"Division by zero");
InsertErrorPair(ttmath::err_interrupt,"The calculating has been broken");
InsertErrorPair(ttmath::err_overflow,"Overflow");
InsertErrorPair(ttmath::err_unknown_function,"An unknown function");
InsertErrorPair(ttmath::err_unknown_operator,"An unknown operator");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"An unexpected semicolon operator");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Improper amount of arguments");
InsertErrorPair(ttmath::err_improper_argument,"Improper argument");
InsertErrorPair(ttmath::err_unexpected_end,"Unexpected end");
InsertErrorPair(ttmath::err_internal_error,"An internal error");
InsertErrorPair(ttmath::err_incorrect_name,"Incorrect name of a variable or function");
InsertErrorPair(ttmath::err_incorrect_value,"Incorrect value of a variable or function");
InsertErrorPair(ttmath::err_variable_exists,"This variable already exists");
InsertErrorPair(ttmath::err_variable_loop,"There's a recurrence between variables");
InsertErrorPair(ttmath::err_functions_loop,"There's a recurrence between functions");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Variables or functions must return only one value");
InsertErrorPair(ttmath::err_still_calculating,"Calculating...");
InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator");
// other english translation: the percentage operator used in incorrect way
/*
polish messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"Nieznany znak");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"Nieoczekiwany nawias zamykaj<EFBFBD>cy");
InsertErrorPair(ttmath::err_stack_not_clear,"Pozosta<EFBFBD> nieznany znak");
InsertErrorPair(ttmath::err_unknown_variable,"Nieznana zmienna");
InsertErrorPair(ttmath::err_division_by_zero,"Dzielenie przez zero");
InsertErrorPair(ttmath::err_interrupt,"Obliczenia zosta<EFBFBD>y przerwane");
InsertErrorPair(ttmath::err_overflow,"Przekroczony zakres");
InsertErrorPair(ttmath::err_unknown_function,"Nieznana funkcja");
InsertErrorPair(ttmath::err_unknown_operator,"Nieznany operator");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"Nieoczekiwany operator '<EFBFBD>rednik'");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Niew<EFBFBD>a<EFBFBD>ciwa liczba argument<EFBFBD>w");
InsertErrorPair(ttmath::err_improper_argument,"Niew<EFBFBD>a<EFBFBD>ciwy argument");
InsertErrorPair(ttmath::err_unexpected_end,"Nieoczekiwany koniec");
InsertErrorPair(ttmath::err_internal_error,"B<EFBFBD><EFBFBD>d wewn<EFBFBD>trzny programu!");
InsertErrorPair(ttmath::err_incorrect_name,"Nieprawid<EFBFBD>owa nazwa zmiennej lub funkcji");
InsertErrorPair(ttmath::err_incorrect_value,"Nieprawid<EFBFBD>owa warto<EFBFBD><EFBFBD> zmiennej lub funkcji");
InsertErrorPair(ttmath::err_variable_exists,"Ta zmienna juz istnieje");
InsertErrorPair(ttmath::err_variable_loop,"Pomi<EFBFBD>dzy zmiennymi zachodzi wywo<EFBFBD>anie rekurencyjne");
InsertErrorPair(ttmath::err_functions_loop,"Pomi<EFBFBD>dzy funkcjami zachodzi wywo<EFBFBD>anie rekurencyjne");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Zmienne albo funkcje mog<EFBFBD> posiada<EFBFBD> (zwraca<EFBFBD>) tylko jedn<EFBFBD> warto<EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_still_calculating,"Obliczanie...");
InsertErrorPair(ttmath::err_percent_from,"Nieprawid<EFBFBD>owo u<EFBFBD>yty operator procentu");
/*
spanish messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"Un caracter desconocido");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"corchete final inesperado");
InsertErrorPair(ttmath::err_stack_not_clear,"caracter desconocido a la izquierda");
InsertErrorPair(ttmath::err_unknown_variable,"Variable desconocida");
InsertErrorPair(ttmath::err_division_by_zero,"Division por cero");
InsertErrorPair(ttmath::err_interrupt,"El calculo se ha colapsado");
InsertErrorPair(ttmath::err_overflow,"Overflow");
InsertErrorPair(ttmath::err_unknown_function,"Funcion desconocida");
InsertErrorPair(ttmath::err_unknown_operator,"Operador desconocida");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"punto y coma inesperado");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"numero de argumentos incorrecto");
InsertErrorPair(ttmath::err_improper_argument,"argumento incorrecto");
InsertErrorPair(ttmath::err_unexpected_end,"Fin inexperado");
InsertErrorPair(ttmath::err_internal_error,"Error interno");
InsertErrorPair(ttmath::err_incorrect_name,"nombre incorrecto de variable o funcion");
InsertErrorPair(ttmath::err_incorrect_value,"valor incorrecto de variable o funcion");
InsertErrorPair(ttmath::err_variable_exists,"Variable ya existe");
InsertErrorPair(ttmath::err_variable_loop,"Recurrencia entre variables");
InsertErrorPair(ttmath::err_functions_loop,"Recurrencia entre funciones");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Variables o funciones solo pueden retornar un valor");
InsertErrorPair(ttmath::err_still_calculating,"Calculando ...");
InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator");
/*
danish messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"Et ukendt tegn");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"En uforventet endelig klasse");
InsertErrorPair(ttmath::err_stack_not_clear,"Et ukendt tegn er v<EFBFBD>k");
InsertErrorPair(ttmath::err_unknown_variable,"En ukendt variabel");
InsertErrorPair(ttmath::err_division_by_zero,"Division med nul");
InsertErrorPair(ttmath::err_interrupt,"Beregningen er blevet afbrydt");
InsertErrorPair(ttmath::err_overflow,"Overflow fejl");
InsertErrorPair(ttmath::err_unknown_function,"En ukendt funktion");
InsertErrorPair(ttmath::err_unknown_operator,"En ukendt operator");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"En ukendt semikolon operator");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Ukorrekt m<EFBFBD>ngde af argumenter");
InsertErrorPair(ttmath::err_improper_argument,"U<EFBFBD>gte argumentation");
InsertErrorPair(ttmath::err_unexpected_end,"Uforventet slutning");
InsertErrorPair(ttmath::err_internal_error,"En intern fejl");
InsertErrorPair(ttmath::err_incorrect_name,"Ukorrekt navn for en variabel eller function");
InsertErrorPair(ttmath::err_incorrect_value,"Ukorrekt v<EFBFBD>rdi for en variabel eller funktion");
InsertErrorPair(ttmath::err_variable_exists,"Denne variabel eksisterer allerede");
InsertErrorPair(ttmath::err_variable_loop,"Det er en gentagelse mellem variabler");
InsertErrorPair(ttmath::err_functions_loop,"Der er en gentagelse mellem funktioner");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Variabler eller funktioner skal kun returnere <EFBFBD>n v<EFBFBD>rdi");
InsertErrorPair(ttmath::err_still_calculating,"Regner...");
InsertErrorPair(ttmath::err_percent_from,"Procent operatoren blev ikke brugt korrekt");
/*
chinese messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ȷ<EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"δ֪<EFBFBD>ַ<EFBFBD>");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_stack_not_clear,"δ֪<EFBFBD>ַ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unknown_variable,"δ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_division_by_zero,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_interrupt,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>");
InsertErrorPair(ttmath::err_overflow,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unknown_function,"δ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unknown_operator,"δ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķֺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_improper_argument,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unexpected_end,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩ<EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_internal_error,"<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_incorrect_name,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_incorrect_value,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ");
InsertErrorPair(ttmath::err_variable_exists,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_variable_loop,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_functions_loop,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_must_be_only_one_value,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>ֵ");
InsertErrorPair(ttmath::err_still_calculating,"<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD>...");
InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator");
/*
russian messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_stack_not_clear,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unknown_variable,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_division_by_zero,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_interrupt,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_overflow,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unknown_function,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unknown_operator,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ;");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_improper_argument,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_unexpected_end,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_internal_error,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_incorrect_name,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_incorrect_value,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_variable_exists,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_variable_loop,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_functions_loop,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_must_be_only_one_value,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertErrorPair(ttmath::err_still_calculating,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...");
InsertErrorPair(ttmath::err_percent_from,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
/*
swedish messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"Ett ok<EFBFBD>nt tecken");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"En of<EFBFBD>rv<EFBFBD>ntat slutlig klass");
InsertErrorPair(ttmath::err_stack_not_clear,"Ett ok<EFBFBD>nt tecken saknas");
InsertErrorPair(ttmath::err_unknown_variable,"En ok<EFBFBD>nd variabel");
InsertErrorPair(ttmath::err_division_by_zero,"Division med noll");
InsertErrorPair(ttmath::err_interrupt,"Ber<EFBFBD>kningen har avbrutits");
InsertErrorPair(ttmath::err_overflow,"Overflow fel");
InsertErrorPair(ttmath::err_unknown_function,"En ok<EFBFBD>nd funktion");
InsertErrorPair(ttmath::err_unknown_operator,"En ok<EFBFBD>nd operator");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"En ok<EFBFBD>nd semikolonoperator");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Felaktig m<EFBFBD>ngd argument");
InsertErrorPair(ttmath::err_improper_argument,"Ogiltig argumentation");
InsertErrorPair(ttmath::err_unexpected_end,"Of<EFBFBD>rv<EFBFBD>ntat fel");
InsertErrorPair(ttmath::err_internal_error,"Ett internt fel");
InsertErrorPair(ttmath::err_incorrect_name,"Ogiltigt namn f<EFBFBD>r en variabel eller funktion");
InsertErrorPair(ttmath::err_incorrect_value,"Ogiltigt v<EFBFBD>rde f<EFBFBD>r en variabel eller funktion");
InsertErrorPair(ttmath::err_variable_exists,"Denna variabel existerar redan");
InsertErrorPair(ttmath::err_variable_loop,"Det <EFBFBD>r en upprepepning mellan variabler");
InsertErrorPair(ttmath::err_functions_loop,"Det <EFBFBD>r en upprepning mellan funktioner");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Variabler eller funktioner skall kunna avge ett v<EFBFBD>rde");
InsertErrorPair(ttmath::err_still_calculating,"R<EFBFBD>knar b<EFBFBD>vrar...");
InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator");
/*
italian traslation relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"Carattere sconosciuto");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"Parentesi finale inaspettata");
InsertErrorPair(ttmath::err_stack_not_clear,"Carattere sconosciuto mancante");
InsertErrorPair(ttmath::err_unknown_variable,"Variabile sconosciuta");
InsertErrorPair(ttmath::err_division_by_zero,"Divisione per zero");
InsertErrorPair(ttmath::err_interrupt,"Il calcolo e stato interrotto");
InsertErrorPair(ttmath::err_overflow,"Overflow");
InsertErrorPair(ttmath::err_unknown_function,"Funzione sconosciuta");
InsertErrorPair(ttmath::err_unknown_operator,"Operatore sconosciuto");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"Operatore punto e virgola inaspettato");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Quantita non appropriata di argomenti");
InsertErrorPair(ttmath::err_improper_argument,"Argomento inappropriato");
InsertErrorPair(ttmath::err_unexpected_end,"Fine inaspettata");
InsertErrorPair(ttmath::err_internal_error,"Errore interno");
InsertErrorPair(ttmath::err_incorrect_name,"Nome di funzione o variabile non corretto");
InsertErrorPair(ttmath::err_incorrect_value,"Valore di funzione o variabile non corretto");
InsertErrorPair(ttmath::err_variable_exists,"Questa variabile esiste gia");
InsertErrorPair(ttmath::err_variable_loop,"C'e una ricorrenza tra variabili");
InsertErrorPair(ttmath::err_functions_loop,"C'e una ricorrenza tra funzioni");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Le variabili o le funzioni devono dare come risultato un solo valore");
InsertErrorPair(ttmath::err_still_calculating,"Calcolo...");
InsertErrorPair(ttmath::err_percent_from,"Operatore percentuale non correttamente utilizzato");
/*
german messages relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
InsertErrorPair(ttmath::err_ok,"ok");
InsertErrorPair(ttmath::err_nothing_has_read,"");
InsertErrorPair(ttmath::err_unknown_character,"Unbekanntes Zeichen");
InsertErrorPair(ttmath::err_unexpected_final_bracket,"Unerwartete schlie<EFBFBD>ende Klammer");
InsertErrorPair(ttmath::err_stack_not_clear,"Unbekanntes Zeichen ist <EFBFBD>brig");
InsertErrorPair(ttmath::err_unknown_variable,"Unbekannte Variable");
InsertErrorPair(ttmath::err_division_by_zero,"Division durch Null");
InsertErrorPair(ttmath::err_interrupt,"Berechnung unterbrochen");
InsertErrorPair(ttmath::err_overflow,"<EFBFBD>berlauf");
InsertErrorPair(ttmath::err_unknown_function,"Unbekannte Funktion");
InsertErrorPair(ttmath::err_unknown_operator,"Unbekannter Operator");
InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"Unerwarteter Semikolon-Operator");
InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Falsche Parameteranzahl");
InsertErrorPair(ttmath::err_improper_argument,"Unpassender Parameter");
InsertErrorPair(ttmath::err_unexpected_end,"Unerwartetes Ende");
InsertErrorPair(ttmath::err_internal_error,"Interner Fehler");
InsertErrorPair(ttmath::err_incorrect_name,"Ung<EFBFBD>ltiger Name einer Variablen oder Funktion");
InsertErrorPair(ttmath::err_incorrect_value,"Ung<EFBFBD>ltiger Wert einer Variablen oder Funktion");
InsertErrorPair(ttmath::err_variable_exists,"Diese Variable existiert bereits");
InsertErrorPair(ttmath::err_variable_loop,"Rekursion zwischen Variablen gefunden");
InsertErrorPair(ttmath::err_functions_loop,"Rekursion zwischen Funktionen gefunden");
InsertErrorPair(ttmath::err_must_be_only_one_value,"Variablen und Funktionen d<EFBFBD>rfen nur einen R<EFBFBD>ckgabewert haben");
InsertErrorPair(ttmath::err_still_calculating,"Berechnung l<EFBFBD>uft...");
InsertErrorPair(ttmath::err_percent_from,"Falsch angewandter Prozent-Operator");
}
// for gui messages
const char * Languages::GuiMessage(Country country, GuiMsg code)
{
const char * unk_msg = "unknown";
if( gui_messages_tab.empty() )
InitGuiMessagesTab();
unsigned int cid = static_cast<unsigned int>( country );
if( cid >= gui_messages_tab.size() )
return unk_msg;
std::map<GuiMsg, std::string>::const_iterator i;
i = gui_messages_tab[cid].find( code );
if( i == gui_messages_tab[cid].end() )
return unk_msg;
return i->second.c_str();
}
const char * Languages::GuiMessage(GuiMsg code)
{
return GuiMessage(current_country, code);
}
void Languages::InsertGuiPair(GuiMsg code, const char * message)
{
if( gui_messages_tab.empty() )
return;
gui_messages_tab.back().insert( std::make_pair(code, message) );
}
void Languages::InitGuiMessagesTab()
{
/*
english gui messages
& - (ampersand) used in menus or buttons, means the key shortcut
(when left Alt is pressed you see a small line at the bottom of a specified letter)
\t - tabulator
\r\n - new line
%d - another integer value (leave it)
%s - another string (leave it)
*/
gui_messages_tab.push_back( std::map<GuiMsg, std::string>() );
InsertGuiPair(button_ok,"Ok");
InsertGuiPair(button_cancel,"Cancel");
InsertGuiPair(message_box_caption,"TTCalc");
InsertGuiPair(dialog_box_add_variable_caption,"Add a new variable");
InsertGuiPair(dialog_box_edit_variable_caption,"Edit a variable");
InsertGuiPair(dialog_box_add_variable_incorrect_name,"An incorrect name of the variable");
InsertGuiPair(dialog_box_add_variable_incorrect_value,"An incorrect value of the variable");
InsertGuiPair(dialog_box_add_variable_variable_exists,"This variable already exists");
InsertGuiPair(dialog_box_edit_variable_unknown_variable,"There isn't this variable in my table. There's probably an internal error!");
InsertGuiPair(dialog_box_delete_variable_confirm,"Do you want to delete these variables?");
InsertGuiPair(dialog_box_variable_not_all_deleted,"There are some variables which I was not able to delete. Probably an internal error!");
InsertGuiPair(dialog_box_add_function_caption,"Add a new function");
InsertGuiPair(dialog_box_edit_function_caption,"Edit a function");
InsertGuiPair(dialog_box_add_function_function_exists,"This function already exists");
InsertGuiPair(dialog_box_edit_function_unknown_function,"There isn't this function in my table. There's probably an internal error!");
InsertGuiPair(dialog_box_delete_function_confirm,"Do you want to delete these functions?");
InsertGuiPair(dialog_box_function_not_all_deleted,"There are some functions which I was not able to delete. Probably an internal error!");
InsertGuiPair(dialog_box_add_function_incorrect_name,"An incorrect name of the function");
InsertGuiPair(list_variables_header_1,"Name");
InsertGuiPair(list_variables_header_2,"Value");
InsertGuiPair(list_functions_header_1,"Name");
InsertGuiPair(list_functions_header_2,"Param.");
InsertGuiPair(list_functions_header_3,"Value");
InsertGuiPair(button_add,"Add");
InsertGuiPair(button_edit,"Edit");
InsertGuiPair(button_delete,"Delete");
InsertGuiPair(button_clear,"C");
InsertGuiPair(tab_standard,"Standard");
InsertGuiPair(tab_variables,"Variables");
InsertGuiPair(tab_functions,"Functions");
InsertGuiPair(tab_precision,"Precision");
InsertGuiPair(tab_display,"Display");
InsertGuiPair(tab_convert,"Convert");
InsertGuiPair(radio_precision_1,"Small - 96 bits for the mantissa, 32 bits for the exponent");
InsertGuiPair(radio_precision_2,"Medium - 512 bits for the mantissa, 64 bits for the exponent");
InsertGuiPair(radio_precision_3,"Big - 1024 bits for the mantissa, 128 bits for the exponent");
InsertGuiPair(precision_1_info,"(+/-)6.97...e+646457021, 26 valid decimal digits");
InsertGuiPair(precision_2_info,"(+/-)9.25...e+2776511644261678719, 152 valid decimal digits");
InsertGuiPair(precision_3_info,"(+/-)9.80...*10^(10^37), 306 valid decimal digits");
InsertGuiPair(overflow_during_printing,"Overflow during printing");
InsertGuiPair(combo_rounding_none,"none");
InsertGuiPair(combo_rounding_integer,"to integer");
InsertGuiPair(combo_rounding_to_number,"to");
InsertGuiPair(combo_rounding_after_comma,"digit(s)");
InsertGuiPair(check_remove_zeroes,"Remove last trailing zeroes");
InsertGuiPair(display_input, "Input base");
InsertGuiPair(display_output, "Output base");
InsertGuiPair(display_rounding, "Rounding");
InsertGuiPair(display_always_scientific,"Always");
InsertGuiPair(display_not_always_scientific,"When the exponent is greater than:");
InsertGuiPair(display_group_scientific, "Print the result as the scientific value");
InsertGuiPair(display_deg_rad_grad, "Trigonometric functions");
InsertGuiPair(display_grouping, "Grouping"); // e.g. 1`000`000
InsertGuiPair(display_grouping_none, "none");
InsertGuiPair(display_grouping_space, "space");
InsertGuiPair(display_input_decimal_point, "Input decimal point"); // Decimal point in formula
InsertGuiPair(display_input_decimal_point_item1, " . or ,");
InsertGuiPair(display_output_decimal_point, "Output decimal point"); // Decimal point in result
InsertGuiPair(display_param_sep, "Parameters separated by");
InsertGuiPair(display_param_sep_item2, " ; or .");
InsertGuiPair(display_param_sep_item3, " ; or ,");
InsertGuiPair(convert_type, "Type");
InsertGuiPair(convert_input, "Input");
InsertGuiPair(convert_output, "Output");
InsertGuiPair(convert_dynamic_output, "Auto prefix");
InsertGuiPair(menu_view, "&View");
InsertGuiPair(menu_edit, "&Edit");
InsertGuiPair(menu_help, "&Help");
InsertGuiPair(menu_language, "&Language");
InsertGuiPair(menu_view_new_window, "&New window");
InsertGuiPair(menu_view_normal_view, "No&rmal view");
InsertGuiPair(menu_view_compact_view, "C&ompact view");
InsertGuiPair(menu_view_pad, "&Calcpad"); // something like a notepad for calculating
InsertGuiPair(menu_view_always_on_top, "&Always on top");
InsertGuiPair(menu_view_lang_english, "&English");
InsertGuiPair(menu_view_lang_polish, "&Polish");
InsertGuiPair(menu_view_lang_spanish, "&Spanish");
InsertGuiPair(menu_view_lang_danish, "&Danish");
InsertGuiPair(menu_view_lang_chinese, "&Chinese");
InsertGuiPair(menu_view_lang_russian, "&Russian");
InsertGuiPair(menu_view_lang_swedish, "S&wedish");
InsertGuiPair(menu_view_lang_italian, "&Italian");
InsertGuiPair(menu_view_lang_german, "&German");
InsertGuiPair(menu_view_close_program, "&Close");
InsertGuiPair(menu_edit_undo, "&Undo \tCtrl+Z");
InsertGuiPair(menu_edit_cut, "Cu&t \tCtrl+X");
InsertGuiPair(menu_edit_copy, "&Copy \tCtrl+C");
InsertGuiPair(menu_edit_paste, "&Paste"); // cutting, copying, pasting the the edit which has a focus
InsertGuiPair(menu_edit_del, "&Delete \tDel");
InsertGuiPair(menu_edit_paste_formula, "Paste &formula\tCtrl+V"); // pasting directly to input edit
InsertGuiPair(menu_edit_copy_result, "Copy &result \tCtrl+R");
InsertGuiPair(menu_edit_copy_both, "Copy &both \tCtrl+B"); // copying in this way: "input edit = output edit"
InsertGuiPair(menu_edit_select_all, "Select &all \tEsc");
InsertGuiPair(menu_edit_bracket, "Brac&ket \tCtrl+0"); // inserting brackets: (...)
InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit
InsertGuiPair(menu_help_help, "&Help");
InsertGuiPair(menu_help_project_page, "&Project page");
InsertGuiPair(menu_help_check_update, "&Check update...");
InsertGuiPair(menu_help_about, "&About");
InsertGuiPair(menu_update_available, "&New version is available");
// this will be a new main menu item (one after 'help') visible only if there is an update
InsertGuiPair(cant_init_calculations, "I could not initialize the module for calculations");
InsertGuiPair(message_box_error_caption,"TTCalc");
InsertGuiPair(cant_create_thread, "I could not create the second thread for calculating");
InsertGuiPair(cant_create_pad, "I could not create the pad window");
InsertGuiPair(cant_create_main_window, "I could not create the main window of the application");
InsertGuiPair(cant_init_common_controls,"I could not initialize the common controls (InitCommonControlsEx)");
InsertGuiPair(about_text,
"Mathematical calculator TTCalc %d.%d.%d%s%s\r\n\r\n"
"Author: Tomasz Sowa\r\n"
"Contact: t.sowa@ttmath.org\r\n"
"Licence: BSD (open source)\r\n"
"Project page: http://ttcalc.sourceforge.net\r\n"
"Bignum library: TTMath %d.%d.%d%s (%s)\r\n"
"Bignum type: binary floating point numbers\r\n"
"Programming language: C++\r\n"
"Compiler: %s\r\n"
"%s" // for upx
"\r\n"
"TTCalc uses the TTMath bignum library"
" which can be found at http://www.ttmath.org\r\n"
"\r\n"
#ifdef TTCALC_PORTABLE
"This is the portable version of the program TTCalc. In this version "
"you can calculate only with one kind of precision (96 bits for the "
"mantissa and 32 bits for the exponent) it's about +/-6.9e+646457021.\r\n"
"\r\n"
#endif
"Translations:\r\n"
"Spanish Alejandro S. Valdezate\r\n"
" alesanval@gmail.com\r\n"
"Danish Rune Bisgaard Vammen\r\n"
" runebisgaard@gmail.com\r\n"
"Chinese Juis\r\n"
" zsyfly@gmail.com\r\n"
"Russian Vladimir Gladilovich\r\n"
" vdgladilovich@gmail.com\r\n"
"Swedish Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\r\n"
"Italian Damiano Monaco\r\n"
" dmonax@gmail.com\r\n"
"German Moritz Beleites\r\n"
" morbel@gmx.net\r\n"
);
InsertGuiPair(about_text_portable_version, " portable version");
InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n");
InsertGuiPair(about_box_title, "About");
InsertGuiPair(about_box_button_close, "Close");
InsertGuiPair(unknown_error, "An unknown error has occurred");
InsertGuiPair(cant_find_help, "I can't find any help files");
InsertGuiPair(cant_open_project_page, "I can't open the project webpage");
InsertGuiPair(update_title, "Check for a new version");
InsertGuiPair(update_button_next, "Next");
InsertGuiPair(update_button_finish, "Finish");
InsertGuiPair(update_button_cancel, "Cancel");
InsertGuiPair(update_check_at_startup, "Always check for the update on startup");
InsertGuiPair(update_check_for_info, "Press Next to check for the update...");
InsertGuiPair(update_is_new_version, "Version %d.%d.%d is available, press Next to download...");
InsertGuiPair(update_no_new_version1, "There is not a newer version available.");
InsertGuiPair(update_no_new_version2, "You have the newest version.");
InsertGuiPair(update_download_from, "Downloading from...");
#ifndef TTCALC_PORTABLE
InsertGuiPair(update_downloaded_info1, "A new setup program has been downloaded.");
InsertGuiPair(update_downloaded_info2, "Press Finish to close TTCalc and run the installer.");
#else
InsertGuiPair(update_downloaded_info1, "A new version of TTCalc has been downloaded.");
InsertGuiPair(update_downloaded_info2, "");
#endif
InsertGuiPair(update_download_error, "There was a problem with downloading, please try again later.");
InsertGuiPair(pad_title, "Calcpad");
InsertGuiPair(pad_menu_file, "&File");
InsertGuiPair(pad_menu_edit, "&Edit");
InsertGuiPair(pad_menu_file_new, "&New"); // temporarily not used
InsertGuiPair(pad_menu_file_open, "&Open...");
InsertGuiPair(pad_menu_file_saveas, "Save &as...");
InsertGuiPair(pad_menu_file_close, "&Close");
InsertGuiPair(pad_menu_edit_undo, "&Undo \tCtrl+Z");
InsertGuiPair(pad_menu_edit_cut, "Cu&t \tCtrl+X");
InsertGuiPair(pad_menu_edit_copy, "&Copy \tCtrl+C");
InsertGuiPair(pad_menu_edit_paste, "&Paste \tCtrl+V");
InsertGuiPair(pad_menu_edit_del, "&Del \tDel");
InsertGuiPair(pad_menu_edit_select_all, "Select &all \tCtrl+A");
InsertGuiPair(cannot_open_file, "I cannot open the file");
InsertGuiPair(cannot_save_file, "I cannot save to such a file");
InsertGuiPair(file_too_long, "The file is too long");
InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors
/*
polish gui messages
*/
gui_messages_tab.push_back( std::map<GuiMsg, std::string>() );
InsertGuiPair(button_ok,"Ok");
InsertGuiPair(button_cancel,"Anuluj");
InsertGuiPair(message_box_caption,"TTCalc");
InsertGuiPair(dialog_box_add_variable_caption,"Dodaj now<EFBFBD> zmienn<EFBFBD>");
InsertGuiPair(dialog_box_edit_variable_caption,"Zmie<EFBFBD> warto<EFBFBD><EFBFBD> zmiennej");
InsertGuiPair(dialog_box_add_variable_incorrect_name,"Nie prawid<EFBFBD>owa nazwa zmiennej");
InsertGuiPair(dialog_box_add_variable_incorrect_value,"Nie prawid<EFBFBD>owa warto<EFBFBD><EFBFBD> zmiennej");
InsertGuiPair(dialog_box_add_variable_variable_exists,"Podana zmienna ju<EFBFBD> istnieje");
InsertGuiPair(dialog_box_edit_variable_unknown_variable,"Podanej zmiennej nie ma w tablicy. Prawdopodobnie b<EFBFBD><EFBFBD>d wewn<EFBFBD>trzny programu.");
InsertGuiPair(dialog_box_delete_variable_confirm,"Czy napewno usun<EFBFBD><EFBFBD> zaznaczone zmienne?");
InsertGuiPair(dialog_box_variable_not_all_deleted,"Zosta<EFBFBD>o kilka zmiennych kt<EFBFBD>rych nie mo<EFBFBD>na by<EFBFBD>o skasowa<EFBFBD>. Prawdopodobnie b<EFBFBD><EFBFBD>d wewn<EFBFBD>trzny programu.");
InsertGuiPair(dialog_box_add_function_caption,"Dodaj now<EFBFBD> funkcj<EFBFBD>");
InsertGuiPair(dialog_box_edit_function_caption,"Zmie<EFBFBD> warto<EFBFBD><EFBFBD> funkcji");
InsertGuiPair(dialog_box_add_function_function_exists,"Podana funkcja ju<EFBFBD> istnieje");
InsertGuiPair(dialog_box_edit_function_unknown_function,"Podanej funkcji nie ma w tablicy. Prawdopodobnie b<EFBFBD><EFBFBD>d wewn<EFBFBD>trzny programu.");
InsertGuiPair(dialog_box_delete_function_confirm,"Czy napewno usun<EFBFBD><EFBFBD> zaznaczone funkcje?");
InsertGuiPair(dialog_box_function_not_all_deleted,"Zosta<EFBFBD>o kilka funkcji kt<EFBFBD>rych nie mo<EFBFBD>na by<EFBFBD>o skasowa<EFBFBD>. Prawdopodobnie b<EFBFBD><EFBFBD>d wewn<EFBFBD>trzny programu.");
InsertGuiPair(dialog_box_add_function_incorrect_name,"Nieprawid<EFBFBD>owa nazwa funkcji");
InsertGuiPair(list_variables_header_1,"Nazwa");
InsertGuiPair(list_variables_header_2,"Warto<EFBFBD><EFBFBD>");
InsertGuiPair(list_functions_header_1,"Nazwa");
InsertGuiPair(list_functions_header_2,"Parametry");
InsertGuiPair(list_functions_header_3,"Warto<EFBFBD><EFBFBD>");
InsertGuiPair(button_add,"Dodaj");
InsertGuiPair(button_edit,"Edytuj");
InsertGuiPair(button_delete,"Usu<EFBFBD>");
InsertGuiPair(button_clear,"C");
InsertGuiPair(tab_standard,"Standard");
InsertGuiPair(tab_variables,"Zmienne");
InsertGuiPair(tab_functions,"Funkcje");
InsertGuiPair(tab_precision,"Precyzja");