diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2009-06-13 16:54:04 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2009-06-13 16:54:04 +0000 |
| commit | 6d9ccee95dd99fecda3a6ba62c2768b4d39f69e5 (patch) | |
| tree | ed06c372126df9d843b7d72c0263982923e1ccba /src/game/client/components | |
| parent | c2f8d0e07ac19d4a876444d045a4f199f4d7c4d7 (diff) | |
| download | zcatch-6d9ccee95dd99fecda3a6ba62c2768b4d39f69e5.tar.gz zcatch-6d9ccee95dd99fecda3a6ba62c2768b4d39f69e5.zip | |
base for the localization system
Diffstat (limited to 'src/game/client/components')
| -rw-r--r-- | src/game/client/components/menus.cpp | 145 | ||||
| -rw-r--r-- | src/game/client/components/menus.hpp | 2 | ||||
| -rw-r--r-- | src/game/client/components/menus_settings.cpp | 82 |
3 files changed, 156 insertions, 73 deletions
diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp index 0fd024c3..398bd1ae 100644 --- a/src/game/client/components/menus.cpp +++ b/src/game/client/components/menus.cpp @@ -12,13 +12,16 @@ #include "skins.hpp" #include <engine/e_client_interface.h> - +extern "C" { +#include <engine/e_linereader.h> +} #include <game/version.hpp> #include <game/generated/g_protocol.hpp> #include <game/generated/gc_data.hpp> #include <game/client/gameclient.hpp> #include <game/client/lineinput.hpp> +#include <game/localization.hpp> #include <mastersrv/mastersrv.h> vec4 MENUS::gui_color; @@ -460,7 +463,7 @@ int MENUS::render_menubar(RECT r) { ui_vsplit_l(&box, 90.0f, &button, &box); static int news_button=0; - if (ui_do_button(&news_button, "News", active_page==PAGE_NEWS, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&news_button, localize("News"), active_page==PAGE_NEWS, &button, ui_draw_menu_tab_button, 0)) new_page = PAGE_NEWS; ui_vsplit_l(&box, 30.0f, 0, &box); } @@ -468,7 +471,7 @@ int MENUS::render_menubar(RECT r) ui_vsplit_l(&box, 100.0f, &button, &box); static int internet_button=0; int corners = CORNER_TL; - if (ui_do_button(&internet_button, "Internet", active_page==PAGE_INTERNET, &button, ui_draw_menu_tab_button, &corners)) + if (ui_do_button(&internet_button, localize("Internet"), active_page==PAGE_INTERNET, &button, ui_draw_menu_tab_button, &corners)) { client_serverbrowse_refresh(BROWSETYPE_INTERNET); new_page = PAGE_INTERNET; @@ -478,7 +481,7 @@ int MENUS::render_menubar(RECT r) ui_vsplit_l(&box, 80.0f, &button, &box); static int lan_button=0; corners = 0; - if (ui_do_button(&lan_button, "LAN", active_page==PAGE_LAN, &button, ui_draw_menu_tab_button, &corners)) + if (ui_do_button(&lan_button, localize("LAN"), active_page==PAGE_LAN, &button, ui_draw_menu_tab_button, &corners)) { client_serverbrowse_refresh(BROWSETYPE_LAN); new_page = PAGE_LAN; @@ -488,7 +491,7 @@ int MENUS::render_menubar(RECT r) ui_vsplit_l(&box, 110.0f, &button, &box); static int favorites_button=0; corners = CORNER_TR; - if (ui_do_button(&favorites_button, "Favorites", active_page==PAGE_FAVORITES, &button, ui_draw_menu_tab_button, &corners)) + if (ui_do_button(&favorites_button, localize("Favorites"), active_page==PAGE_FAVORITES, &button, ui_draw_menu_tab_button, &corners)) { client_serverbrowse_refresh(BROWSETYPE_FAVORITES); new_page = PAGE_FAVORITES; @@ -497,7 +500,7 @@ int MENUS::render_menubar(RECT r) ui_vsplit_l(&box, 4.0f*5, 0, &box); ui_vsplit_l(&box, 100.0f, &button, &box); static int demos_button=0; - if (ui_do_button(&demos_button, "Demos", active_page==PAGE_DEMOS, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&demos_button, localize("Demos"), active_page==PAGE_DEMOS, &button, ui_draw_menu_tab_button, 0)) { demolist_populate(); new_page = PAGE_DEMOS; @@ -508,19 +511,19 @@ int MENUS::render_menubar(RECT r) /* online menus */ ui_vsplit_l(&box, 90.0f, &button, &box); static int game_button=0; - if (ui_do_button(&game_button, "Game", active_page==PAGE_GAME, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&game_button, localize("Game"), active_page==PAGE_GAME, &button, ui_draw_menu_tab_button, 0)) new_page = PAGE_GAME; ui_vsplit_l(&box, 4.0f, 0, &box); ui_vsplit_l(&box, 140.0f, &button, &box); static int server_info_button=0; - if (ui_do_button(&server_info_button, "Server Info", active_page==PAGE_SERVER_INFO, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&server_info_button, localize("Server Info"), active_page==PAGE_SERVER_INFO, &button, ui_draw_menu_tab_button, 0)) new_page = PAGE_SERVER_INFO; ui_vsplit_l(&box, 4.0f, 0, &box); ui_vsplit_l(&box, 140.0f, &button, &box); static int callvote_button=0; - if (ui_do_button(&callvote_button, "Call Vote", active_page==PAGE_CALLVOTE, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&callvote_button, localize("Call Vote"), active_page==PAGE_CALLVOTE, &button, ui_draw_menu_tab_button, 0)) new_page = PAGE_CALLVOTE; ui_vsplit_l(&box, 30.0f, 0, &box); @@ -537,13 +540,13 @@ int MENUS::render_menubar(RECT r) ui_vsplit_r(&box, 90.0f, &box, &button); static int quit_button=0; - if (ui_do_button(&quit_button, "Quit", 0, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&quit_button, localize("Quit"), 0, &button, ui_draw_menu_tab_button, 0)) popup = POPUP_QUIT; ui_vsplit_r(&box, 10.0f, &box, &button); ui_vsplit_r(&box, 120.0f, &box, &button); static int settings_button=0; - if (ui_do_button(&settings_button, "Settings", active_page==PAGE_SETTINGS, &button, ui_draw_menu_tab_button, 0)) + if (ui_do_button(&settings_button, localize("Settings"), active_page==PAGE_SETTINGS, &button, ui_draw_menu_tab_button, 0)) new_page = PAGE_SETTINGS; if(new_page != -1) @@ -593,7 +596,7 @@ void MENUS::render_loading(float percent) gfx_quads_end(); - const char *caption = "Loading"; + const char *caption = localize("Loading"); tw = gfx_text_width(0, 48.0f, caption, -1); RECT r; @@ -617,8 +620,77 @@ void MENUS::render_news(RECT main_view) ui_draw_rect(&main_view, color_tabbar_active, CORNER_ALL, 10.0f); } -void MENUS::init() +void MENUS::on_init() { + LINEREADER lr; + IOHANDLE io = io_open("swedish.txt", IOFLAG_READ); + linereader_init(&lr, io); + char *line; + while((line = linereader_get(&lr))) + { + if(!str_length(line)) + continue; + + char *replacement = linereader_get(&lr); + if(!replacement) + { + dbg_msg("", "unexpected end of file"); + break; + } + + if(replacement[0] != '=' || replacement[1] != '=' || replacement[2] != ' ') + { + dbg_msg("", "malform replacement line for '%s'", line); + continue; + } + + replacement += 3; + localization.add_string(line, replacement); + } + + /* + array<string> my_strings; + array<string>::range r2; + my_strings.add("4"); + my_strings.add("6"); + my_strings.add("1"); + my_strings.add("3"); + my_strings.add("7"); + my_strings.add("5"); + my_strings.add("2"); + + for(array<string>::range r = my_strings.all(); !r.empty(); r.pop_front()) + dbg_msg("", "%s", r.front().cstr()); + + sort(my_strings.all()); + + dbg_msg("", "after:"); + for(array<string>::range r = my_strings.all(); !r.empty(); r.pop_front()) + dbg_msg("", "%s", r.front().cstr()); + + + array<int> myarray; + myarray.add(4); + myarray.add(6); + myarray.add(1); + myarray.add(3); + myarray.add(7); + myarray.add(5); + myarray.add(2); + + for(array<int>::range r = myarray.all(); !r.empty(); r.pop_front()) + dbg_msg("", "%d", r.front()); + + sort(myarray.all()); + sort_verify(myarray.all()); + + dbg_msg("", "after:"); + for(array<int>::range r = myarray.all(); !r.empty(); r.pop_front()) + dbg_msg("", "%d", r.front()); + + exit(-1); + // */ + if(config.cl_show_welcome) popup = POPUP_FIRST_LAUNCH; config.cl_show_welcome = 0; @@ -709,49 +781,46 @@ int MENUS::render() if(popup == POPUP_CONNECTING) { - title = "Connecting to"; + title = localize("Connecting to"); extra_text = config.ui_server_address; // TODO: query the client about the address - button_text = "Abort"; + button_text = localize("Abort"); if(client_mapdownload_totalsize() > 0) { - title = "Downloading map"; + title = localize("Downloading map"); str_format(buf, sizeof(buf), "%d/%d KiB", client_mapdownload_amount()/1024, client_mapdownload_totalsize()/1024); extra_text = buf; } } else if(popup == POPUP_DISCONNECTED) { - title = "Disconnected"; + title = localize("Disconnected"); extra_text = client_error_string(); - button_text = "Ok"; + button_text = localize("Ok"); extra_align = -1; } else if(popup == POPUP_PURE) { - title = "Disconnected"; - extra_text = "The server is running a non-standard tuning on a pure game mode."; - button_text = "Ok"; + title = localize("Disconnected"); + extra_text = localize("The server is running a non-standard tuning on a pure game mode."); + button_text = localize("Ok"); extra_align = -1; } else if(popup == POPUP_PASSWORD) { - title = "Password Error"; + title = localize("Password Incorrect"); extra_text = client_error_string(); - button_text = "Try Again"; + button_text = localize("Try again"); } else if(popup == POPUP_QUIT) { - title = "Quit"; - extra_text = "Are you sure that you want to quit?"; + title = localize("Quit"); + extra_text = localize("Are you sure that you want to quit?"); } else if(popup == POPUP_FIRST_LAUNCH) { - title = "Welcome to Teeworlds"; - extra_text = - "As this is the first time you launch the game, please enter your nick name below. " - "It's recommended that you check the settings to adjust them to your liking " - "before joining a server."; - button_text = "Ok"; + title = localize("Welcome to Teeworlds"); + extra_text = localize("As this is the first time you launch the game, please enter your nick name below. It's recommended that you check the settings to adjust them to your liking before joining a server."); + button_text = localize("Ok"); extra_align = -1; } @@ -788,11 +857,11 @@ int MENUS::render() ui_vmargin(&no, 20.0f, &no); static int button_abort = 0; - if(ui_do_button(&button_abort, "No", 0, &no, ui_draw_menu_button, 0) || escape_pressed) + if(ui_do_button(&button_abort, localize("No"), 0, &no, ui_draw_menu_button, 0) || escape_pressed) popup = POPUP_NONE; static int button_tryagain = 0; - if(ui_do_button(&button_tryagain, "Yes", 0, &yes, ui_draw_menu_button, 0) || enter_pressed) + if(ui_do_button(&button_tryagain, localize("Yes"), 0, &yes, ui_draw_menu_button, 0) || enter_pressed) client_quit(); } else if(popup == POPUP_PASSWORD) @@ -809,11 +878,11 @@ int MENUS::render() ui_vmargin(&abort, 20.0f, &abort); static int button_abort = 0; - if(ui_do_button(&button_abort, "Abort", 0, &abort, ui_draw_menu_button, 0) || escape_pressed) + if(ui_do_button(&button_abort, localize("Abort"), 0, &abort, ui_draw_menu_button, 0) || escape_pressed) popup = POPUP_NONE; static int button_tryagain = 0; - if(ui_do_button(&button_tryagain, "Try again", 0, &tryagain, ui_draw_menu_button, 0) || enter_pressed) + if(ui_do_button(&button_tryagain, localize("Try again"), 0, &tryagain, ui_draw_menu_button, 0) || enter_pressed) { client_connect(config.ui_server_address); } @@ -825,7 +894,7 @@ int MENUS::render() ui_vsplit_l(&label, 100.0f, 0, &textbox); ui_vsplit_l(&textbox, 20.0f, 0, &textbox); ui_vsplit_r(&textbox, 60.0f, &textbox, 0); - ui_do_label(&label, "Password:", 20, -1); + ui_do_label(&label, localize("Password:"), 20, -1); ui_do_edit_box(&config.password, &textbox, config.password, sizeof(config.password), 14.0f, true); } else if(popup == POPUP_FIRST_LAUNCH) @@ -837,7 +906,7 @@ int MENUS::render() ui_vmargin(&part, 80.0f, &part); static int enter_button = 0; - if(ui_do_button(&enter_button, "Enter", 0, &part, ui_draw_menu_button, 0) || enter_pressed) + if(ui_do_button(&enter_button, localize("Enter"), 0, &part, ui_draw_menu_button, 0) || enter_pressed) popup = POPUP_NONE; ui_hsplit_b(&box, 40.f, &box, &part); @@ -847,7 +916,7 @@ int MENUS::render() ui_vsplit_l(&label, 100.0f, 0, &textbox); ui_vsplit_l(&textbox, 20.0f, 0, &textbox); ui_vsplit_r(&textbox, 60.0f, &textbox, 0); - ui_do_label(&label, "Nickname:", 20, -1); + ui_do_label(&label, localize("Nickname:"), 20, -1); ui_do_edit_box(&config.player_name, &textbox, config.player_name, sizeof(config.player_name), 14.0f); } else diff --git a/src/game/client/components/menus.hpp b/src/game/client/components/menus.hpp index 27423490..6d304628 100644 --- a/src/game/client/components/menus.hpp +++ b/src/game/client/components/menus.hpp @@ -173,7 +173,7 @@ public: bool is_active() const { return menu_active; } - void init(); + virtual void on_init(); virtual void on_statechange(int new_state, int old_state); virtual void on_reset(); diff --git a/src/game/client/components/menus_settings.cpp b/src/game/client/components/menus_settings.cpp index b240c607..beeab046 100644 --- a/src/game/client/components/menus_settings.cpp +++ b/src/game/client/components/menus_settings.cpp @@ -54,7 +54,7 @@ void MENUS::render_settings_player(RECT main_view) // render settings { ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - ui_do_label(&button, "Name:", 14.0, -1); + ui_do_label(&button, localize("Name:"), 14.0, -1); ui_vsplit_l(&button, 80.0f, 0, &button); ui_vsplit_l(&button, 180.0f, &button, 0); if(ui_do_edit_box(config.player_name, &button, config.player_name, sizeof(config.player_name), 14.0f)) @@ -62,7 +62,7 @@ void MENUS::render_settings_player(RECT main_view) static int dynamic_camera_button = 0; ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if(ui_do_button(&dynamic_camera_button, "Dynamic Camera", config.cl_mouse_deadzone != 0, &button, ui_draw_checkbox, 0)) + if(ui_do_button(&dynamic_camera_button, localize("Dynamic Camera"), config.cl_mouse_deadzone != 0, &button, ui_draw_checkbox, 0)) { if(config.cl_mouse_deadzone) @@ -80,25 +80,25 @@ void MENUS::render_settings_player(RECT main_view) } ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.cl_autoswitch_weapons, "Switch weapon on pickup", config.cl_autoswitch_weapons, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.cl_autoswitch_weapons, localize("Switch weapon on pickup"), config.cl_autoswitch_weapons, &button, ui_draw_checkbox, 0)) config.cl_autoswitch_weapons ^= 1; ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.cl_nameplates, "Show name plates", config.cl_nameplates, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.cl_nameplates, localize("Show name plates"), config.cl_nameplates, &button, ui_draw_checkbox, 0)) config.cl_nameplates ^= 1; //if(config.cl_nameplates) { ui_hsplit_t(&main_view, 20.0f, &button, &main_view); ui_vsplit_l(&button, 15.0f, 0, &button); - if (ui_do_button(&config.cl_nameplates_always, "Always show name plates", config.cl_nameplates_always, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.cl_nameplates_always, localize("Always show name plates"), config.cl_nameplates_always, &button, ui_draw_checkbox, 0)) config.cl_nameplates_always ^= 1; } ui_hsplit_t(&main_view, 20.0f, &button, &main_view); ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.player_color_body, "Custom colors", config.player_use_custom_color, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.player_color_body, localize("Custom colors"), config.player_use_custom_color, &button, ui_draw_checkbox, 0)) { config.player_use_custom_color = config.player_use_custom_color?0:1; need_sendinfo = true; @@ -110,8 +110,13 @@ void MENUS::render_settings_player(RECT main_view) colors[0] = &config.player_color_body; colors[1] = &config.player_color_feet; - const char *parts[] = {"Body", "Feet"}; - const char *labels[] = {"Hue", "Sat.", "Lht."}; + const char *parts[] = { + localize("Body"), + localize("Feet")}; + const char *labels[] = { + localize("Hue"), + localize("Sat."), + localize("Lht.")}; static int color_slider[2][3] = {{0}}; //static float v[2][3] = {{0, 0.5f, 0.25f}, {0, 0.5f, 0.25f}}; @@ -129,7 +134,7 @@ void MENUS::render_settings_player(RECT main_view) RECT text; ui_hsplit_t(&main_view, 19.0f, &button, &main_view); ui_vsplit_l(&button, 30.0f, 0, &button); - ui_vsplit_l(&button, 30.0f, &text, &button); + ui_vsplit_l(&button, 70.0f, &text, &button); ui_vsplit_r(&button, 5.0f, &button, 0); ui_hsplit_t(&button, 4.0f, 0, &button); @@ -154,7 +159,7 @@ void MENUS::render_settings_player(RECT main_view) RECT header, footer; ui_hsplit_t(&skinselection, 20, &header, &skinselection); ui_draw_rect(&header, vec4(1,1,1,0.25f), CORNER_T, 5.0f); - ui_do_label(&header, "Skins", 18.0f, 0); + ui_do_label(&header, localize("Skins"), 18.0f, 0); // draw footers ui_hsplit_b(&skinselection, 20, &skinselection, &footer); @@ -248,6 +253,7 @@ typedef struct int keyid; } KEYINFO; +// TODO: localize KEYINFO keys[] = { { "Move Left:", "+left", 0}, @@ -325,7 +331,7 @@ void MENUS::render_settings_controls(RECT main_view) ui_draw_rect(&movement_settings, vec4(1,1,1,0.25f), CORNER_ALL, 10.0f); ui_margin(&movement_settings, 10.0f, &movement_settings); - gfx_text(0, movement_settings.x, movement_settings.y, 14, "Movement", -1); + gfx_text(0, movement_settings.x, movement_settings.y, 14, localize("Movement"), -1); ui_hsplit_t(&movement_settings, 14.0f+5.0f+10.0f, 0, &movement_settings); @@ -333,7 +339,7 @@ void MENUS::render_settings_controls(RECT main_view) RECT button, label; ui_hsplit_t(&movement_settings, 20.0f, &button, &movement_settings); ui_vsplit_l(&button, 130.0f, &label, &button); - ui_do_label(&label, "Mouse sens.", 14.0f, -1); + ui_do_label(&label, localize("Mouse sens."), 14.0f, -1); ui_hmargin(&button, 2.0f, &button); config.inp_mousesens = (int)(ui_do_scrollbar_h(&config.inp_mousesens, &button, (config.inp_mousesens-5)/500.0f)*500.0f)+5; //*key.key = ui_do_key_reader(key.key, &button, *key.key); @@ -350,7 +356,7 @@ void MENUS::render_settings_controls(RECT main_view) ui_draw_rect(&weapon_settings, vec4(1,1,1,0.25f), CORNER_ALL, 10.0f); ui_margin(&weapon_settings, 10.0f, &weapon_settings); - gfx_text(0, weapon_settings.x, weapon_settings.y, 14, "Weapon", -1); + gfx_text(0, weapon_settings.x, weapon_settings.y, 14, localize("Weapon"), -1); ui_hsplit_t(&weapon_settings, 14.0f+5.0f+10.0f, 0, &weapon_settings); ui_do_getbuttons(5, 12, weapon_settings); @@ -363,7 +369,7 @@ void MENUS::render_settings_controls(RECT main_view) ui_draw_rect(&voting_settings, vec4(1,1,1,0.25f), CORNER_ALL, 10.0f); ui_margin(&voting_settings, 10.0f, &voting_settings); - gfx_text(0, voting_settings.x, voting_settings.y, 14, "Voting", -1); + gfx_text(0, voting_settings.x, voting_settings.y, 14, localize("Voting"), -1); ui_hsplit_t(&voting_settings, 14.0f+5.0f+10.0f, 0, &voting_settings); ui_do_getbuttons(12, 14, voting_settings); @@ -376,7 +382,7 @@ void MENUS::render_settings_controls(RECT main_view) ui_draw_rect(&chat_settings, vec4(1,1,1,0.25f), CORNER_ALL, 10.0f); ui_margin(&chat_settings, 10.0f, &chat_settings); - gfx_text(0, chat_settings.x, chat_settings.y, 14, "Chat", -1); + gfx_text(0, chat_settings.x, chat_settings.y, 14, localize("Chat"), -1); ui_hsplit_t(&chat_settings, 14.0f+5.0f+10.0f, 0, &chat_settings); ui_do_getbuttons(14, 16, chat_settings); @@ -389,7 +395,7 @@ void MENUS::render_settings_controls(RECT main_view) ui_draw_rect(&misc_settings, vec4(1,1,1,0.25f), CORNER_ALL, 10.0f); ui_margin(&misc_settings, 10.0f, &misc_settings); - gfx_text(0, misc_settings.x, misc_settings.y, 14, "Miscellaneous", -1); + gfx_text(0, misc_settings.x, misc_settings.y, 14, localize("Miscellaneous"), -1); ui_hsplit_t(&misc_settings, 14.0f+5.0f+10.0f, 0, &misc_settings); ui_do_getbuttons(16, 21, misc_settings); @@ -398,7 +404,7 @@ void MENUS::render_settings_controls(RECT main_view) // defaults ui_hsplit_t(&reset_button, 10.0f, 0, &reset_button); static int default_button = 0; - if (ui_do_button((void*)&default_button, "Reset to defaults", 0, &reset_button, ui_draw_menu_button, 0)) + if (ui_do_button((void*)&default_button, localize("Reset to defaults"), 0, &reset_button, ui_draw_menu_button, 0)) gameclient.binds->set_defaults(); } @@ -420,7 +426,7 @@ void MENUS::render_settings_graphics(RECT main_view) // draw allmodes switch RECT header, footer; ui_hsplit_t(&modelist, 20, &button, &modelist); - if (ui_do_button(&config.gfx_display_all_modes, "Show only supported", config.gfx_display_all_modes^1, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.gfx_display_all_modes, localize("Show only supported"), config.gfx_display_all_modes^1, &button, ui_draw_checkbox, 0)) { config.gfx_display_all_modes ^= 1; num_modes = gfx_get_video_modes(modes, MAX_RESOLUTIONS); @@ -429,11 +435,11 @@ void MENUS::render_settings_graphics(RECT main_view) // draw header ui_hsplit_t(&modelist, 20, &header, &modelist); ui_draw_rect(&header, vec4(1,1,1,0.25f), CORNER_T, 5.0f); - ui_do_label(&header, "Display Modes", 14.0f, 0); + ui_do_label(&header, localize("Display Modes"), 14.0f, 0); // draw footers ui_hsplit_b(&modelist, 20, &modelist, &footer); - str_format(buf, sizeof(buf), "Current: %dx%d %d bit", config.gfx_screen_width, config.gfx_screen_height, config.gfx_color_depth); + str_format(buf, sizeof(buf), "%s: %dx%d %d bit", localize("Current"), config.gfx_screen_width, config.gfx_screen_height, config.gfx_color_depth); ui_draw_rect(&footer, vec4(1,1,1,0.25f), CORNER_B, 5.0f); ui_vsplit_l(&footer, 10.0f, 0, &footer); ui_do_label(&footer, buf, 14.0f, -1); @@ -489,21 +495,21 @@ void MENUS::render_settings_graphics(RECT main_view) // switches ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.gfx_fullscreen, "Fullscreen", config.gfx_fullscreen, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.gfx_fullscreen, localize("Fullscreen"), config.gfx_fullscreen, &button, ui_draw_checkbox, 0)) { config.gfx_fullscreen ^= 1; need_restart = true; } ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.gfx_vsync, "V-Sync", config.gfx_vsync, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.gfx_vsync, localize("V-Sync"), config.gfx_vsync, &button, ui_draw_checkbox, 0)) { config.gfx_vsync ^= 1; need_restart = true; } ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.gfx_fsaa_samples, "FSAA samples", config.gfx_fsaa_samples, &button, ui_draw_checkbox_number, 0)) + if (ui_do_button(&config.gfx_fsaa_samples, localize("FSAA samples"), config.gfx_fsaa_samples, &button, ui_draw_checkbox_number, 0)) { config.gfx_fsaa_samples = (config.gfx_fsaa_samples+1)%17; need_restart = true; @@ -511,21 +517,21 @@ void MENUS::render_settings_graphics(RECT main_view) ui_hsplit_t(&main_view, 40.0f, &button, &main_view); ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.gfx_texture_quality, "Quality Textures", config.gfx_texture_quality, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.gfx_texture_quality, localize("Quality Textures"), config.gfx_texture_quality, &button, ui_draw_checkbox, 0)) { config.gfx_texture_quality ^= 1; need_restart = true; } ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.gfx_texture_compression, "Texture Compression", config.gfx_texture_compression, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.gfx_texture_compression, localize("Texture Compression"), config.gfx_texture_compression, &button, ui_draw_checkbox, 0)) { config.gfx_texture_compression ^= 1; need_restart = true; } ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.gfx_high_detail, "High Detail", config.gfx_high_detail, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.gfx_high_detail, localize("High Detail"), config.gfx_high_detail, &button, ui_draw_checkbox, 0)) config.gfx_high_detail ^= 1; // @@ -534,9 +540,13 @@ void MENUS::render_settings_graphics(RECT main_view) ui_hsplit_t(&main_view, 20.0f, 0, &main_view); ui_hsplit_t(&main_view, 20.0f, &text, &main_view); //ui_vsplit_l(&text, 15.0f, 0, &text); - ui_do_label(&text, "UI Color", 14.0f, -1); + ui_do_label(&text, localize("UI Color"), 14.0f, -1); - const char *labels[] = {"Hue", "Sat.", "Lht.", "Alpha"}; + const char *labels[] = { + localize("Hue"), + localize("Sat."), + localize("Lht."), + localize("Alpha")}; int *color_slider[4] = {&config.ui_color_hue, &config.ui_color_sat, &config.ui_color_lht, &config.ui_color_alpha}; for(int s = 0; s < 4; s++) { @@ -560,7 +570,7 @@ void MENUS::render_settings_sound(RECT main_view) ui_vsplit_l(&main_view, 300.0f, &main_view, 0); ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.snd_enable, "Use Sounds", config.snd_enable, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.snd_enable, localize("Use sounds"), config.snd_enable, &button, ui_draw_checkbox, 0)) { config.snd_enable ^= 1; need_restart = true; @@ -570,7 +580,7 @@ void MENUS::render_settings_sound(RECT main_view) return; ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - if (ui_do_button(&config.snd_nonactive_mute, "Mute when not active", config.snd_nonactive_mute, &button, ui_draw_checkbox, 0)) + if (ui_do_button(&config.snd_nonactive_mute, localize("Mute when not active"), config.snd_nonactive_mute, &button, ui_draw_checkbox, 0)) config.snd_nonactive_mute ^= 1; // sample rate box @@ -578,7 +588,7 @@ void MENUS::render_settings_sound(RECT main_view) char buf[64]; str_format(buf, sizeof(buf), "%d", config.snd_rate); ui_hsplit_t(&main_view, 20.0f, &button, &main_view); - ui_do_label(&button, "Sample Rate", 14.0f, -1); + ui_do_label(&button, localize("Sample rate"), 14.0f, -1); ui_vsplit_l(&button, 110.0f, 0, &button); ui_vsplit_l(&button, 180.0f, &button, 0); ui_do_edit_box(&config.snd_rate, &button, buf, sizeof(buf), 14.0f); @@ -599,7 +609,7 @@ void MENUS::render_settings_sound(RECT main_view) ui_hsplit_t(&main_view, 20.0f, &button, &main_view); ui_vsplit_l(&button, 110.0f, &label, &button); ui_hmargin(&button, 2.0f, &button); - ui_do_label(&label, "Sound Volume", 14.0f, -1); + ui_do_label(&label, localize("Sound volume"), 14.0f, -1); config.snd_volume = (int)(ui_do_scrollbar_h(&config.snd_volume, &button, config.snd_volume/100.0f)*100.0f); ui_hsplit_t(&main_view, 20.0f, 0, &main_view); } @@ -636,7 +646,11 @@ void MENUS::render_settings(RECT main_view) RECT button; - const char *tabs[] = {"Player", "Controls", "Graphics", "Sound"}; + const char *tabs[] = { + localize("Player"), + localize("Controls"), + localize("Graphics"), + localize("Sound")}; int num_tabs = (int)(sizeof(tabs)/sizeof(*tabs)); for(int i = 0; i < num_tabs; i++) @@ -662,6 +676,6 @@ void MENUS::render_settings(RECT main_view) { RECT restart_warning; ui_hsplit_b(&main_view, 40, &main_view, &restart_warning); - ui_do_label(&restart_warning, "You must restart the game for all settings to take effect.", 15.0f, -1, 220); + ui_do_label(&restart_warning, localize("You must restart the game for all settings to take effect."), 15.0f, -1, 220); } } |