]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Quickmenu commands are translated only if hud_panel_quickmenu_translatecommands is...
authorterencehill <piuntn@gmail.com>
Tue, 14 Jan 2014 20:01:20 +0000 (21:01 +0100)
committerterencehill <piuntn@gmail.com>
Tue, 14 Jan 2014 20:01:20 +0000 (21:01 +0100)
Added a few italian translations just for demonstration

_hud_common.cfg
common.it.po
qcsrc/client/autocvars.qh
qcsrc/client/hud.qc

index feb56b0d42d68d6b1415611a5094d9791b905482..57d1b09312268e742d39a14c4b8c5f72963a5430 100644 (file)
@@ -38,6 +38,7 @@ seta hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight 0.1 "
 seta hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold 0.5 "threshold for fps change when to update instantly, to make big fps changes update faster"
 
 seta hud_panel_quickmenu_file "" "load the quick menu from this file"
+seta hud_panel_quickmenu_translatecommands 0 "when the game is translated, translate strings inside commands too (useful for chat commands)"
 
 // hud panel aliases
 alias hud_panel_radar_rotate "toggle hud_panel_radar_rotation 0 1 2 3 4"
index d9750644a4ffb6f6f73f792e0e0edca665eadda3..4b47e0b38e92ef3c097d598264e2e28ccc88d430 100644 (file)
@@ -6252,3 +6252,18 @@ msgstr "T.A.G. Seeker"
 #, no-c-format
 msgid "@!#%'n Tuba"
 msgstr "@!#%'n Tuba"
+
+
+
+#: command title is translated
+msgid "QMCMD^nice one"
+msgstr "bella"
+
+#: missing translation for this command
+msgid "QMCMD^:-) / nice one"
+msgstr ""
+
+#: fully translated command (title and command are the same)
+msgid "QMCMD^good game"
+msgstr "bella partita"
+
index b0fb996798b493160d89c983f6caa7513f806247..0844628ed663288403bc05f665780c586142d1ab 100644 (file)
@@ -297,6 +297,7 @@ float autocvar_hud_panel_powerups_text;
 float autocvar_hud_panel_pressedkeys;
 float autocvar_hud_panel_pressedkeys_aspect;
 float autocvar_hud_panel_pressedkeys_attack;
+float autocvar_hud_panel_quickmenu_translatecommands;
 string autocvar_hud_panel_quickmenu_file;
 float autocvar_hud_panel_racetimer;
 float autocvar_hud_panel_radar;
index c0356d0c34d9d4161f33192f665c0926e79f28d9..4a46220711a7d9eb8fa78aaba82d8790004d2284 100644 (file)
@@ -4412,7 +4412,7 @@ float QuickMenu_CurrentPage_FirstEntry;
 var float QuickMenu_Entries;
 void HUD_QuickMenu_load_entry(float i, string s, string s1)
 {
-       //print(sprintf("^xc80 entry %d: %s, %s\n", i, s, s1));
+       //printf("^xc80 entry %d: %s, %s\n", i, s, s1);
        if (QuickMenu_Description[i])
                strunzone(QuickMenu_Description[i]);
        QuickMenu_Description[i] = strzone(s);
@@ -4566,11 +4566,11 @@ float HUD_QuickMenu_Page(string target_submenu, float new_page)
                        s = bufstr_get(QuickMenu_Buffer, QuickMenu_Buffer_Index);
                        if(substring(s, 0, 1) == "S" && substring(s, 1, strlen(s) - 1) == z_submenu)
                        {
-                               // print(sprintf("^3 beginning of %s\n", z_submenu));
+                               // printf("^3 beginning of %s\n", z_submenu);
                                ++QuickMenu_Buffer_Index;
                                break;
                        }
-                       // print(sprintf("^1 skipping %s\n", s));
+                       // printf("^1 skipping %s\n", s);
                }
        }
        float total = 0;
@@ -4580,7 +4580,7 @@ float HUD_QuickMenu_Page(string target_submenu, float new_page)
 
                if(z_submenu != "" && substring(s, 1, strlen(s) - 1) == z_submenu)
                {
-                       // print(sprintf("^3 end of %s\n", z_submenu));
+                       // printf("^3 end of %s\n", z_submenu);
                        break;
                }
 
@@ -4884,39 +4884,49 @@ void HUD_QuickMenu(void)
                bufstr_set(QuickMenu_Buffer, QuickMenu_Buffer_Size, strcat("S", submenu)); \
        ++QuickMenu_Buffer_Size;
 
-#define QUICKMENU_ENTRY(title,command) \
+#define QUICKMENU_ENTRY(title,command) \
        if(QuickMenu_Buffer_Size + 1 < QUICKMENU_BUFFER_MAXENTRIES) \
        { \
                bufstr_set(QuickMenu_Buffer, QuickMenu_Buffer_Size, strcat("T", title)); \
                ++QuickMenu_Buffer_Size; \
                bufstr_set(QuickMenu_Buffer, QuickMenu_Buffer_Size, command); \
        } \
-       ++QuickMenu_Buffer_Size;
+       ++QuickMenu_Buffer_Size; \
+}
+
+// useful to Translate a string inside the Command
+#define QUICKMENU_ENTRY_TC(title,command,text,translated_text) \
+       if(cvar_string("prvm_language") == "en") \
+               QUICKMENU_ENTRY(title, sprintf(command, text)) \
+       else if(!autocvar_hud_panel_quickmenu_translatecommands || translated_text == text) \
+               QUICKMENU_ENTRY(strcat("(en)", title), sprintf(command, text)) \
+       else \
+               QUICKMENU_ENTRY(strcat("(", cvar_string("prvm_language"), ")", title), sprintf(command, translated_text))
 
 void HUD_QuickMenu_Load_DefaultEntries()
 {
 QUICKMENU_SMENU(CTX(_("QMCMD^Chat")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^nice one")), CTX(_("QMCMD^say :-) / nice one")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^good game")), CTX(_("QMCMD^say good game")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^hi / good luck")), CTX(_("QMCMD^say hi / good luck and have fun")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^nice one")), "say %s", ":-) / nice one", CTX(_("QMCMD^:-) / nice one")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^good game")), "say %s", "good game", CTX(_("QMCMD^good game")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^hi / good luck")), "say %s", "hi / good luck and have fun", CTX(_("QMCMD^hi / good luck and have fun")))
 QUICKMENU_SMENU(CTX(_("QMCMD^Chat")))
 
 QUICKMENU_SMENU(CTX(_("QMCMD^Team chat")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^quad soon")), CTX(_("QMCMD^say_team quad soon")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^free item, icon")), CTX(_("QMCMD^say_team free item %x^7 (l:%y^7); g_waypointsprite_team_here_p")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^took item, icon")), CTX(_("QMCMD^say_team took item (l:%l^7); g_waypointsprite_team_here")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^negative")), CTX(_("QMCMD^say_team negative")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^positive")), CTX(_("QMCMD^say_team positive")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^need help, icon")), CTX(_("QMCMD^say_team need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_helpme; cmd voice needhelp")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^enemy seen, icon")), CTX(_("QMCMD^say_team enemy seen (l:%y^7); g_waypointsprite_team_danger_p; cmd voice incoming")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^flag seen, icon")), CTX(_("QMCMD^say_team flag seen (l:%y^7); g_waypointsprite_team_here_p; cmd voice seenflag")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^defending, icon")), CTX(_("QMCMD^say_team defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^roaming, icon")), CTX(_("QMCMD^say_team roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^attacking, icon")), CTX(_("QMCMD^say_team attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^killed flag, icon")), CTX(_("QMCMD^say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_here_p")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^dropped flag, icon")), CTX(_("QMCMD^say_team dropped flag (l:%d^7); g_waypointsprite_team_here_d")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^drop gun, icon")), CTX(_("QMCMD^say_team dropped gun %w^7 (l:%l^7); g_waypointsprite_team_here; wait; dropweapon")))
-       QUICKMENU_ENTRY(CTX(_("QMCMD^drop flag/key, icon")), CTX(_("QMCMD^say_team dropped flag/key %w^7 (l:%l^7); g_waypointsprite_team_here; wait; +use")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^quad soon")), "say_team %s", "quad soon", CTX(_("QMCMD^quad soon")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^free item, icon")), "say_team %s; g_waypointsprite_team_here_p", "free item %x^7 (l:%y^7)", CTX(_("QMCMD^free item %x^7 (l:%y^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^took item, icon")), "say_team %s; g_waypointsprite_team_here", "took item (l:%l^7)", CTX(_("QMCMD^took item (l:%l^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^negative")), "say_team %s", "negative", CTX(_("QMCMD^negative")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^positive")), "say_team %s", "positive", CTX(_("QMCMD^positive")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^need help, icon")), "say_team %s; g_waypointsprite_team_helpme; cmd voice needhelp", "need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)", CTX(_("QMCMD^need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^enemy seen, icon")), "say_team %s; g_waypointsprite_team_danger_p; cmd voice incoming", "enemy seen (l:%y^7)", CTX(_("QMCMD^enemy seen (l:%y^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^flag seen, icon")), "say_team %s; g_waypointsprite_team_here_p; cmd voice seenflag", "flag seen (l:%y^7)", CTX(_("QMCMD^flag seen (l:%y^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^defending, icon")), "say_team %s; g_waypointsprite_team_here", "defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)", CTX(_("QMCMD^defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^roaming, icon")), "say_team %s; g_waypointsprite_team_here", "roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)", CTX(_("QMCMD^roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^attacking, icon")), "say_team %s; g_waypointsprite_team_here", "attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)", CTX(_("QMCMD^attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^killed flag, icon")), "say_team %s; g_waypointsprite_team_here_p", "killed flagcarrier (l:%y^7)", CTX(_("QMCMD^killed flagcarrier (l:%y^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^dropped flag, icon")), "say_team %s; g_waypointsprite_team_here_d", "dropped flag (l:%d^7)", CTX(_("QMCMD^dropped flag (l:%d^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^drop gun, icon")), "say_team %s; g_waypointsprite_team_here; wait; dropweapon", "dropped gun %w^7 (l:%l^7)", CTX(_("QMCMD^dropped gun %w^7 (l:%l^7)")))
+       QUICKMENU_ENTRY_TC(CTX(_("QMCMD^drop flag/key, icon")), "say_team %s; g_waypointsprite_team_here; wait; +use", "dropped flag/key %w^7 (l:%l^7)", CTX(_("QMCMD^dropped flag/key %w^7 (l:%l^7)")))
 QUICKMENU_SMENU(CTX(_("QMCMD^Team chat")))
 
 QUICKMENU_SMENU(CTX(_("QMCMD^Settings")))