/* * This file is a part of TTCalc - a mathematical calculator * and is distributed under the (new) BSD licence. * Author: Tomasz Sowa */ /* * Copyright (c) 2006-2007, 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( country ); if( cid >= error_messages_tab.size() ) return unk_err; std::map::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() ); 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_too_big_factorial,"A too big argument for the factorial() function"); // pl error_messages_tab.push_back( std::map() ); 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ący"); InsertErrorPair(ttmath::err_stack_not_clear,"Pozostał nieznany znak"); InsertErrorPair(ttmath::err_unknown_variable,"Nieznana zmienna"); InsertErrorPair(ttmath::err_division_by_zero,"Dzielenie przez zero"); InsertErrorPair(ttmath::err_interrupt,"Obliczenia został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 'średnik'"); InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Niewłaściwa liczba argumentów"); InsertErrorPair(ttmath::err_improper_argument,"Niewłaściwy argument"); InsertErrorPair(ttmath::err_unexpected_end,"Nieoczekiwany koniec"); InsertErrorPair(ttmath::err_internal_error,"Błąd wewnętrzny programu!"); InsertErrorPair(ttmath::err_incorrect_name,"Nieprawidłowa nazwa zmiennej lub funkcji"); InsertErrorPair(ttmath::err_incorrect_value,"Nieprawidłowa wartość zmiennej lub funkcji"); InsertErrorPair(ttmath::err_variable_exists,"Ta zmienna juz istnieje"); InsertErrorPair(ttmath::err_variable_loop,"Pomiędzy zmiennymi zachodzi wywołanie rekurencyjne"); InsertErrorPair(ttmath::err_functions_loop,"Pomiędzy funkcjami zachodzi wywołanie rekurencyjne"); InsertErrorPair(ttmath::err_must_be_only_one_value,"Zmienne albo funkcje mogą posiadać (zwracać) tylko jedną wartość"); InsertErrorPair(ttmath::err_still_calculating,"Obliczanie..."); InsertErrorPair(ttmath::err_too_big_factorial,"Zbyt duży argument dla funkcji factorial()"); // sp error_messages_tab.push_back( std::map() ); 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_too_big_factorial,"Argumento muy grande para la funcion factorial()"); } // 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( country ); if( cid >= gui_messages_tab.size() ) return unk_msg; std::map::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() { // en gui_messages_tab.push_back( std::map() ); 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 - 288 bits for the mantissa, 64 bits for the exponent"); InsertGuiPair(radio_precision_3,"Big - 864 bits for the mantissa, 128 bits for the exponent"); InsertGuiPair(precision_1_info,"(+/-)6.9 e+646457021, 26 valid digits (decimal)"); InsertGuiPair(precision_2_info,"(+/-)3.4e+2776511644261678652, 85 valid digits"); InsertGuiPair(precision_3_info,"(+/-)6.7e+51217599719369681875006054625051616609, 258 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 trailing zeroes"); InsertGuiPair(display_input, "Input"); InsertGuiPair(display_output, "Output"); 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_decimal_point, "Decimal point"); 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_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_close_program, "&Close"); InsertGuiPair(menu_edit_undo, "&Undo"); InsertGuiPair(menu_edit_paste, "&Paste"); InsertGuiPair(menu_edit_copy_result, "&Copy the result"); InsertGuiPair(menu_help_help, "&Help"); InsertGuiPair(menu_help_project_page, "&Project page"); InsertGuiPair(menu_help_about, "&About"); 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_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" "Author: Tomasz Sowa\r\n" "Contact: t.sowa@slimaczek.pl\r\n" "Licence: BSD (open source)\r\n" "Project page: http://ttcalc.sourceforge.net\r\n" "Bignum library: TTMath %d.%d.%d%s\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://sourceforge.net/projects/ttmath\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 "If you have any questions, advices or interesting ideas about" " this program or if you want to join to this project as" " a developer or a programmer feel free to contant with the author." ); InsertGuiPair(about_text_portable_version, " portable version"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.00\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"); // pl gui_messages_tab.push_back( std::map() ); InsertGuiPair(button_ok,"Ok"); InsertGuiPair(button_cancel,"Anuluj"); InsertGuiPair(message_box_caption,"TTCalc"); InsertGuiPair(dialog_box_add_variable_caption,"Dodaj nową zmienną"); InsertGuiPair(dialog_box_edit_variable_caption,"Zmień wartość zmiennej"); InsertGuiPair(dialog_box_add_variable_incorrect_name,"Nie prawidłowa nazwa zmiennej"); InsertGuiPair(dialog_box_add_variable_incorrect_value,"Nie prawidłowa wartość zmiennej"); InsertGuiPair(dialog_box_add_variable_variable_exists,"Podana zmienna już istnieje"); InsertGuiPair(dialog_box_edit_variable_unknown_variable,"Podanej zmiennej nie ma w tablicy. Prawdopodobnie błąd wewnętrzny programu."); InsertGuiPair(dialog_box_delete_variable_confirm,"Czy napewno usunąć zaznaczone zmienne?"); InsertGuiPair(dialog_box_variable_not_all_deleted,"Zostało kilka zmiennych których nie można było skasować. Prawdopodobnie błąd wewnętrzny programu."); InsertGuiPair(dialog_box_add_function_caption,"Dodaj nową funkcję"); InsertGuiPair(dialog_box_edit_function_caption,"Zmień wartość funkcji"); InsertGuiPair(dialog_box_add_function_function_exists,"Podana funkcja już istnieje"); InsertGuiPair(dialog_box_edit_function_unknown_function,"Podanej funkcji nie ma w tablicy. Prawdopodobnie błąd wewnętrzny programu."); InsertGuiPair(dialog_box_delete_function_confirm,"Czy napewno usunąć zaznaczone funkcje?"); InsertGuiPair(dialog_box_function_not_all_deleted,"Zostało kilka funkcji których nie można było skasować. Prawdopodobnie błąd wewnętrzny programu."); InsertGuiPair(dialog_box_add_function_incorrect_name,"Nieprawidłowa nazwa funkcji"); InsertGuiPair(list_variables_header_1,"Nazwa"); InsertGuiPair(list_variables_header_2,"Wartość"); InsertGuiPair(list_functions_header_1,"Nazwa"); InsertGuiPair(list_functions_header_2,"Parametry"); InsertGuiPair(list_functions_header_3,"Wartość"); InsertGuiPair(button_add,"Dodaj"); InsertGuiPair(button_edit,"Edytuj"); InsertGuiPair(button_delete,"Usuń"); InsertGuiPair(button_clear,"C"); InsertGuiPair(tab_standard,"Standard"); InsertGuiPair(tab_variables,"Zmienne"); InsertGuiPair(tab_functions,"Funkcje"); InsertGuiPair(tab_precision,"Precyzja"); InsertGuiPair(tab_display,"Wyświetlanie"); InsertGuiPair(tab_convert,"Konwersja"); InsertGuiPair(radio_precision_1,"Mała - 96 bitowa mantysa, 32 bitowy wykładnik"); InsertGuiPair(radio_precision_2,"Średnia - 288 bitowa mantysa, 64 bitowy wykładnik"); InsertGuiPair(radio_precision_3,"Duża - 864 bitowa mantysa, 128 bitowy wykładnik"); InsertGuiPair(precision_1_info,"(+/-)6.9e+646457021, 26 cyfr znaczących (w rozwinięciu dziesiętnym)"); InsertGuiPair(precision_2_info,"(+/-)3.4e+2776511644261678652, 85 cyfr znaczących"); InsertGuiPair(precision_3_info,"(+/-)6.7e+51217599719369681875006054625051616609, 258 cyfr"); InsertGuiPair(overflow_during_printing,"Przepełnienie podczas wypisywania"); InsertGuiPair(combo_rounding_none,"bez zmian"); InsertGuiPair(combo_rounding_integer,"do całkowitej"); InsertGuiPair(combo_rounding_to_number,"do"); InsertGuiPair(combo_rounding_after_comma,"cyfr(y)"); InsertGuiPair(check_remove_zeroes,"Skasuj nieznaczące zera"); InsertGuiPair(display_input,"Wejście"); InsertGuiPair(display_output,"Wyjście"); InsertGuiPair(display_rounding,"Zaokrąglenie"); InsertGuiPair(display_always_scientific,"Zawsze"); InsertGuiPair(display_not_always_scientific,"Jeśli eksponent jest większy niż:"); InsertGuiPair(display_group_scientific, "Wyświetl wynik w postaci naukowej"); InsertGuiPair(display_decimal_point, "Przecinek dziesiętny"); InsertGuiPair(convert_type, "Typ"); InsertGuiPair(convert_input, "Wejście"); InsertGuiPair(convert_output, "Wyjście"); InsertGuiPair(convert_dynamic_output, "Automatyczny prefiks"); InsertGuiPair(menu_view, "&Widok"); InsertGuiPair(menu_edit, "&Edycja"); InsertGuiPair(menu_help, "&Pomoc"); InsertGuiPair(menu_language, "&Język"); InsertGuiPair(menu_view_new_window, "&Nowe okno"); InsertGuiPair(menu_view_normal_view, "Widok no&rmalny"); InsertGuiPair(menu_view_compact_view, "Widok &kompaktowy"); InsertGuiPair(menu_view_always_on_top, "Zawsze na &wierzchu"); InsertGuiPair(menu_view_lang_english, "&Angielski"); InsertGuiPair(menu_view_lang_polish, "&Polski"); InsertGuiPair(menu_view_lang_spanish, "&Hiszpański"); InsertGuiPair(menu_view_close_program, "&Zamknij"); InsertGuiPair(menu_edit_undo, "&Cofnij"); InsertGuiPair(menu_edit_paste, "&Wklej"); InsertGuiPair(menu_edit_copy_result, "&Kopiuj wynik"); InsertGuiPair(menu_help_help, "&Pomoc"); InsertGuiPair(menu_help_project_page, "&Strona projektu"); InsertGuiPair(menu_help_about, "&O programie"); InsertGuiPair(cant_init_calculations, "Nie udało się zainicjalizować modułu obsługi obliczeń"); InsertGuiPair(message_box_error_caption,"TTCalc"); InsertGuiPair(cant_create_thread, "Nie udało się utworzyć drugiego wątku do obliczeń"); InsertGuiPair(cant_create_main_window, "Nie udało się utworzyć głównego okna aplikacji"); InsertGuiPair(cant_init_common_controls,"Nie udało się zainicjalizować obsługi Common Controls (InitCommonControlsEx)"); InsertGuiPair(about_text, "Kalkulator matematyczny TTCalc %d.%d.%d%s%s\r\n" "Autor: Tomasz Sowa\r\n" "Kontakt: t.sowa@slimaczek.pl\r\n" "Licencja: BSD (open source)\r\n" "Strona projektu: http://ttcalc.sourceforge.net\r\n" "Biblioteka dużych liczb: TTMath %d.%d.%d%s\r\n" "Język programowania: C++\r\n" "Kompilator: %s\r\n" "%s" // for upx "\r\n" "Ten program używa biblioteki dużych liczb TTMath" " która jest dostępna na http://sourceforge.net/projects/ttmath\r\n" "\r\n" #ifdef TTCALC_PORTABLE "To jest wersja portable programu TTCalc. W tej wersji możesz dokonywać " "obliczeń jedynie z jednym rodzajem precyzji (96 bitowa mantysa " "oraz 32 bitowy wykładnik) to jest około +/-6.9e+646457021.\r\n" "\r\n" #endif "Jeżeli masz jakieś pytania, rady, ciekawe pomysły dotyczące" " tego programu lub chciałbyś dołączyć jako projektant/programista" " poprostu skontaktuj się z autorem." ); InsertGuiPair(about_text_portable_version, " wersja portable"); InsertGuiPair(about_text_exe_packer, "Paker exe: UPX 3.00\r\n"); InsertGuiPair(about_box_title, "O programie"); InsertGuiPair(about_box_button_close, "Zamknij"); InsertGuiPair(unknown_error, "Nieznany kod błędu"); InsertGuiPair(cant_find_help, "Nie mogę znależć żadnych plików pomocy"); InsertGuiPair(cant_open_project_page, "Nie mogę otworzyć strony projektu"); // sp gui_messages_tab.push_back( std::map() ); InsertGuiPair(button_ok,"Ok"); InsertGuiPair(button_cancel,"Cancelar"); InsertGuiPair(message_box_caption,"TTCalc"); InsertGuiPair(dialog_box_add_variable_caption,"Ańadir nueva variable"); InsertGuiPair(dialog_box_edit_variable_caption,"Editar variable"); InsertGuiPair(dialog_box_add_variable_incorrect_name,"Nombre incorrecto de variable"); InsertGuiPair(dialog_box_add_variable_incorrect_value,"Valor incorrecto de variable"); InsertGuiPair(dialog_box_add_variable_variable_exists,"Esta variable ya existe"); InsertGuiPair(dialog_box_edit_variable_unknown_variable,"No hay variable en mi tabla!. Seguramente haya un error interno!"); InsertGuiPair(dialog_box_delete_variable_confirm,"Quiere borrar las variables internas?"); InsertGuiPair(dialog_box_variable_not_all_deleted,"Hay algunas variables que no se pueden borrar. Probablemente hay un error interno!"); InsertGuiPair(dialog_box_add_function_caption,"Ańadir funcion"); InsertGuiPair(dialog_box_edit_function_caption,"Editar funcion"); InsertGuiPair(dialog_box_add_function_function_exists,"Esta funcion ya existe"); InsertGuiPair(dialog_box_edit_function_unknown_function,"No existe esta funcion en mi tabla. Problablemente error interno!"); InsertGuiPair(dialog_box_delete_function_confirm,"Quiere borrar estas funciones?"); InsertGuiPair(dialog_box_function_not_all_deleted,"Hay algunas funciones que no se pueden borrar. Probablmenete error interno!"); InsertGuiPair(dialog_box_add_function_incorrect_name,"Nombre incorrecto de la funcion"); InsertGuiPair(list_variables_header_1,"Nombre"); InsertGuiPair(list_variables_header_2,"Valor"); InsertGuiPair(list_functions_header_1,"Nombre"); InsertGuiPair(list_functions_header_2,"Param."); InsertGuiPair(list_functions_header_3,"Valor"); InsertGuiPair(button_add,"Ańadir"); InsertGuiPair(button_edit,"Editar"); InsertGuiPair(button_delete,"Borrar"); InsertGuiPair(button_clear,"C"); InsertGuiPair(tab_standard,"Standard"); InsertGuiPair(tab_variables,"Variables"); InsertGuiPair(tab_functions,"Funciones"); InsertGuiPair(tab_precision,"Precision"); InsertGuiPair(tab_display,"Pantalla"); InsertGuiPair(tab_convert,"Convertir"); InsertGuiPair(radio_precision_1,"Pequeńo - 96 bits para la mantissa, 32 bits para el exponente"); InsertGuiPair(radio_precision_2,"Mediano - 288 bits para la mantissa, 64 bits para el exponente"); InsertGuiPair(radio_precision_3,"Grande - 864 bits para la mantissa, 128 bits para el exponente"); InsertGuiPair(precision_1_info,"(+/-)6.9 e+646457021, 26 digitos validos (decimal)"); InsertGuiPair(precision_2_info,"(+/-)3.4e+2776511644261678652, 85 digitos validos"); InsertGuiPair(precision_3_info,"(+/-)6.7e+51217599719369681875006054625051616609, 258 digitos"); InsertGuiPair(overflow_during_printing,"Sobredimensión durante impresión"); InsertGuiPair(combo_rounding_none,"Ninguno"); InsertGuiPair(combo_rounding_integer,"a entero"); InsertGuiPair(combo_rounding_to_number,"a numero"); InsertGuiPair(combo_rounding_after_comma,"digito(s)"); InsertGuiPair(check_remove_zeroes,"Eliminar ceros no-significativos"); InsertGuiPair(display_input, "Entrada"); InsertGuiPair(display_output, "Salida"); InsertGuiPair(display_rounding, "Redondeo"); InsertGuiPair(display_always_scientific,"Siempre"); InsertGuiPair(display_not_always_scientific,"Cuando el exponente es mas grande que:"); InsertGuiPair(display_group_scientific, "Imprimir el resultado como valor cientifico"); InsertGuiPair(display_decimal_point, "Decimal point"); InsertGuiPair(convert_type, "Tipo"); InsertGuiPair(convert_input, "Entrada"); InsertGuiPair(convert_output, "Salida"); InsertGuiPair(convert_dynamic_output, "Auto prefijo"); InsertGuiPair(menu_view, "&Ver"); InsertGuiPair(menu_edit, "&Editar"); InsertGuiPair(menu_help, "&Ayuda"); InsertGuiPair(menu_language, "&Idioma"); InsertGuiPair(menu_view_new_window, "&Nueva ventana"); InsertGuiPair(menu_view_normal_view, "Vista No&rmal"); InsertGuiPair(menu_view_compact_view, "Vista C&ompacta"); InsertGuiPair(menu_view_always_on_top, "&Siempre arriba"); InsertGuiPair(menu_view_lang_english, "&Ingles"); InsertGuiPair(menu_view_lang_polish, "&Polaco"); InsertGuiPair(menu_view_lang_spanish, "&Espańol"); InsertGuiPair(menu_view_close_program, "&Close"); InsertGuiPair(menu_edit_undo, "&Deshacer"); InsertGuiPair(menu_edit_paste, "&Pegar"); InsertGuiPair(menu_edit_copy_result, "&Copiar resultado"); InsertGuiPair(menu_help_help, "&Ayuda"); InsertGuiPair(menu_help_project_page, "&Pagina del proyecto"); InsertGuiPair(menu_help_about, "&Acerca de"); InsertGuiPair(cant_init_calculations, "No se puede inicializar el modulo de calculo"); InsertGuiPair(message_box_error_caption,"TTCalc"); InsertGuiPair(cant_create_thread, "No se puede crear la segunda hebra para calcular"); InsertGuiPair(cant_create_main_window, "No se puede crear la ventana principal par ala aplicacion"); InsertGuiPair(cant_init_common_controls,"No se pueden inicializar los controles comunes (InitCommonControlsEx)"); InsertGuiPair(about_text, "Calculadora matematica TTCalc %d.%d.%d%s%s\r\n" "Autor: Tomasz Sowa\r\n" "Contacto: t.sowa@slimaczek.pl\r\n" "Licencia: BSD (open source)\r\n" "Pagina del proyecto: http://ttcalc.sourceforge.net\r\n" "Biblioteca Bignum: TTMath %d.%d.%d%s\r\n" "Lenguaje de programacion: C++\r\n" "Compilador: %s\r\n" "%s" // for upx "\r\n" "TTCalc usa la biblioteca TTMath bignum" " la cual puede ser encontrada en http://sourceforge.net/projects/ttmath\r\n" "\r\n" #ifdef TTCALC_PORTABLE "Esta es la version portatil del programa TTCalc. En esta version " "se puede calcular con una precision tal que (96 bits para la " "mantisa y 32 bits para el exponente) que es aproximadamente +/-6.9e+646457021.\r\n" "\r\n" #endif "Si tienes preguntas, consejos o ideas interesantes sobre" " este programa o si quieres unirte a este proyecto como" " desarrollador o programador, no dudes en contactar con el autor." ); InsertGuiPair(about_text_portable_version, " version portatil"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.00\r\n"); InsertGuiPair(about_box_title, "Acerca de"); InsertGuiPair(about_box_button_close, "Cerrar"); InsertGuiPair(unknown_error, "Ocurrio un error desconocido"); InsertGuiPair(cant_find_help, "No se encuentran los ficheros de ayuda"); InsertGuiPair(cant_open_project_page, "No se puede abrir la pagina dle proyecto"); } void Languages::ConvertingAddType(const char * name) { if( converting_type.empty() ) return; ConvType temp; temp.name = name; converting_type.back().push_back(temp); } void Languages::ConvertingAddUnit(const char * name, const char * abbr, double v) { if( converting_type.empty() || converting_type.back().empty() || converting_unit.empty() ) return; ConvUnit temp; temp.name = name; temp.abbr = abbr; temp.type = static_cast(converting_type.back().size()-1); temp.value.FromDouble(v); converting_unit.back().push_back(temp); } void Languages::ConvertingAddUnit(const char * name, const char * abbr, const char * v) { if( converting_type.empty() || converting_type.back().empty() || converting_unit.empty() ) return; ConvUnit temp; temp.name = name; temp.abbr = abbr; temp.type = static_cast(converting_type.back().size()-1); temp.value.FromString(v, 16); converting_unit.back().push_back(temp); } void Languages::InitConverting() { // en converting_type.push_back( std::vector() ); converting_unit.push_back( std::vector() ); ConvertingAddType("none"); /* yard = 0.9144 metre foot = 1/3 yard = 0.3048 metre inch = 1/36 yard = 1/12 foot = 0.0254 metre In 1958 the United States and countries of the Commonwealth of Nations defined the length of the international yard to be precisely 0.9144 metres. */ ConvertingAddType("length"); // base: 10000 metre ConvertingAddUnit("inch", "in", 254.0 ); ConvertingAddUnit("foot", "ft", 3048.0); ConvertingAddUnit("yard", "yd", 9144.0); ConvertingAddUnit("metre", "m", 10000.0 ); ConvertingAddUnit("mile (land)", "mi", 16093440.0); // 1 land mile = 1609.344 metres ConvertingAddUnit("mile (nautical)", "nmi", 18520000.0); // 1 nautical mile = 1852 metres ConvertingAddUnit("light year", "ly", "520F0AA65AAEBAC00"); // 1 ly = 9 460 730 472 580 800 metres // 520F0AA65AAEBAC00 (hex) = 94607304725808000000 (dec) /* yard^2 = 0.83612736 metre^2 foot^2 = 1/9 yard^2 = 0.09290304 metre^2 inch^2 = 1/1296 yard^2 = 1/144 foot^ = 0.00064516 metre^2 ar = 100 metre^2 hectere = 10000 metre^2 */ ConvertingAddType("area"); // base: 100 000 000 metre^2 ConvertingAddUnit("inch^2", "in^2", 64516.0); ConvertingAddUnit("foot^2", "ft^2", 9290304.0); ConvertingAddUnit("yard^2", "yd^2", 83612736.0); ConvertingAddUnit("metre^2", "m^2", 100000000.0); ConvertingAddUnit("are", "a", 10000000000.0); ConvertingAddUnit("hectare", "ha", 1000000000000.0); ConvertingAddUnit("mile (land)^2", "mi^2", 258998811033600.0 ); // 1 land mile^2 = 2589988.110336 metres^2 ConvertingAddUnit("mile (nautical)^2", "nmi^2", 342990400000000.0); // 1 nautical mile^2 = 3429904 metres^2 ConvertingAddUnit("light year^2", "ly^2", "1A4DA3B4D207FB4C43D08391653B900000"); // 1 ly = 89505421074818927300612528640000 metres^2 // 1A4DA3B4D207FB4C43D08391653B900000 (hex) = 8950542107481892730061252864000000000000 (dec) ConvertingAddType("time"); // base: second ConvertingAddUnit("second", "s", 1.0); ConvertingAddUnit("minute", "m", 60.0); ConvertingAddUnit("hour", "h", 3600.0); ConvertingAddUnit("day", "d", 86400.0); ConvertingAddUnit("week", "w", 604800.0); ConvertingAddUnit("fortnight", "fn", 1209600.0); ConvertingAddUnit("month", "m", 2592000.0); ConvertingAddUnit("year", "y", 31536000.0); ConvertingAddUnit("year (mean)", "my", 31557600.0); ConvertingAddUnit("year (leap)", "ly", 31622400.0); ConvertingAddUnit("decade", "dc", 315360000.0); // pl // the 'value' param we're using only from the english converting_type.push_back( std::vector() ); converting_unit.push_back( std::vector() ); ConvertingAddType("brak"); ConvertingAddType("długość"); ConvertingAddUnit("cal", "", 0.0 ); ConvertingAddUnit("stopa", "", 0.0); ConvertingAddUnit("jard", "", 0.0); ConvertingAddUnit("metr", "", 0.0); ConvertingAddUnit("mila (angielska)", "", 0.0); ConvertingAddUnit("mila (morska)", "", 0.0); ConvertingAddUnit("rok świetlny", "", 0.0); ConvertingAddType("powierzchnia"); ConvertingAddUnit("cal^2", "", 0.0); ConvertingAddUnit("stopa^2", "", 0.0); ConvertingAddUnit("jard^2", "", 0.0); ConvertingAddUnit("metr^2", "", 0.0); ConvertingAddUnit("ar", "", 0.0); ConvertingAddUnit("hektar", "", 0.0); ConvertingAddUnit("mila (angielska)^2", "", 0.0); ConvertingAddUnit("mila (morska)^2", "", 0.0); ConvertingAddUnit("rok świetlny^2", "", 0.0); ConvertingAddType("czas"); ConvertingAddUnit("sekunda", "", 0.0); ConvertingAddUnit("minuta", "", 0.0); ConvertingAddUnit("godzina", "", 0.0); ConvertingAddUnit("dzień", "", 0.0); ConvertingAddUnit("tydzień", "", 0.0); ConvertingAddUnit("dwa tygodnie", "", 0.0); ConvertingAddUnit("miesiąc", "", 0.0); ConvertingAddUnit("rok", "", 0.0); ConvertingAddUnit("rok (średni)", "", 0.0); ConvertingAddUnit("rok (przestępny)", "", 0.0); ConvertingAddUnit("dekada", "", 0.0); } const char * Languages::ConvertingType(Country country, int id) { const char * unk_err = "unknown"; if( converting_type.empty() ) InitConverting(); unsigned int cid = static_cast( country ); if( cid >= converting_type.size() ) return unk_err; if( id< 0 || id >= static_cast(converting_type[cid].size()) ) return unk_err; return converting_type[cid][id].name.c_str(); } const char * Languages::ConvertingUnit(Country country, int id) { const char * unk_err = "unknown"; if( converting_unit.empty() ) InitConverting(); unsigned int cid = static_cast( country ); if( cid >= converting_unit.size() ) return unk_err; if( id < 0 || id >= static_cast(converting_unit[cid].size()) ) return unk_err; return converting_unit[cid][id].name.c_str(); } const char * Languages::ConvertingUnitAbbr(Country country, int id) { const char * unk_err = "unknown"; if( converting_unit.empty() ) InitConverting(); unsigned int cid = static_cast( country ); if( cid >= converting_unit.size() ) return unk_err; if( id < 0 || id >= static_cast(converting_unit[cid].size()) ) return unk_err; //return converting_unit[cid][id].abbr.c_str(); // at the moment abbreviations we get only from english return converting_unit[0][id].abbr.c_str(); } const char * Languages::ConvertingType(int id) { return ConvertingType(current_country, id); } const char * Languages::ConvertingUnit(int id) { return ConvertingUnit(current_country, id); } const char * Languages::ConvertingUnitAbbr(int id) { return ConvertingUnitAbbr(current_country, id); } int Languages::ConvertingTypeSize(Country country) { if( converting_type.empty() ) InitConverting(); unsigned int cid = static_cast( country ); if( cid >= converting_type.size() ) return 0; return static_cast(converting_type[cid].size()); } int Languages::ConvertingUnitSize(Country country) { if( converting_unit.empty() ) InitConverting(); unsigned int cid = static_cast( country ); if( cid >= converting_unit.size() ) return 0; return static_cast(converting_unit[cid].size()); } int Languages::ConvertingTypeSize() { return ConvertingTypeSize(current_country); } int Languages::ConvertingUnitSize() { return ConvertingUnitSize(current_country); } int Languages::ConvertingUnitType(Country country, int id) { if( converting_unit.empty() ) InitConverting(); unsigned int cid = static_cast( country ); if( cid >= converting_unit.size() ) return -1; if( id >= static_cast(converting_unit[cid].size()) ) return -1; return converting_unit[cid][id].type; } int Languages::ConvertingUnitType(int id) { return ConvertingUnitType(current_country, id); } // value is taken only from english const Languages::ConvUnit::ValueType & Languages::ConvertingUnitValue(int id) { if( converting_unit.empty() ) InitConverting(); if( id >= static_cast(converting_unit[0].size()) ) return foo_return; return converting_unit[0][id].value; }