Skip to content

Commit cce80db

Browse files
authored
Merge pull request #45 from Zwelf/pr-wiki-settings-translation
Add better translation support for "Settings and Commands" page on the wiki
2 parents 77f254e + 9c52ab0 commit cce80db

File tree

4 files changed

+898
-44
lines changed

4 files changed

+898
-44
lines changed

client_wiki/commands.py

Lines changed: 265 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,257 @@
44
import re
55
import html
66

7+
offset = int(sys.argv[2])
8+
79
print('{| class="wikitable"')
8-
print("! Command")
9-
print("! Arguments")
10-
print("! Description")
10+
print(f"! <translate><!--T:{offset+1}--> Command</translate>")
11+
print(f"! <translate><!--T:{offset+2}--> Arguments</translate>")
12+
print(f"! <translate><!--T:{offset+3}--> Description</translate>")
13+
14+
commands = {
15+
"save_dry": 0,
16+
"mute": 1,
17+
"pause": 2,
18+
"pausevoted": 3,
19+
"top5points": 4,
20+
"unweapons": 5,
21+
"unban_all": 6,
22+
"chat": 7,
23+
"spec": 8,
24+
"tunes": 9,
25+
"begin_favorite_group": 10,
26+
"practice": 11,
27+
"vote_mute": 12,
28+
"add_foe": 13,
29+
"+prevweapon": 14,
30+
"auth_add": 15,
31+
"force_unpause": 16,
32+
"cmdlist": 17,
33+
"right": 18,
34+
"invite": 19,
35+
"random_unfinished_map": 20,
36+
"remove_vote": 21,
37+
"tune_reset": 22,
38+
"r": 23,
39+
"change_map": 24,
40+
"screenshot": 25,
41+
"c": 26,
42+
"reset": 27,
43+
"dummy_reset": 28,
44+
"saytimeall": 29,
45+
"auth_list": 30,
46+
"unlock": 31,
47+
"shutdown": 32,
48+
"force_pause": 33,
49+
"dump_antibot": 34,
50+
"+jump": 35,
51+
"timer": 36,
52+
"zoom+": 37,
53+
"logout": 38,
54+
"unmute": 39,
55+
"demo_speed": 40,
56+
"spectate_next": 41,
57+
"kill": 42,
58+
"dbg_lognetwork": 43,
59+
"+weapon3": 44,
60+
"broadcast": 45,
61+
"rifle": 46,
62+
"+weapon2": 47,
63+
"lock": 48,
64+
"access_level": 49,
65+
"unlivefreeze": 50,
66+
"removeweapon": 51,
67+
"toggle_local_console": 52,
68+
"demo_play": 53,
69+
"say_team": 54,
70+
"load": 55,
71+
"restart": 56,
72+
"minimize": 57,
73+
"+hook": 58,
74+
"benchmark_quit": 59,
75+
"unmuteid": 60,
76+
"name_bans": 61,
77+
"foes": 62,
78+
"info": 63,
79+
"muteip": 64,
80+
"pause_game": 65,
81+
"save": 66,
82+
"addweapon": 67,
83+
"reload": 68,
84+
"rules": 69,
85+
"switch_open": 70,
86+
"tune_zone_dump": 71,
87+
"ungrenade": 72,
88+
"set_view": 73,
89+
"zoom-": 74,
90+
"quit": 75,
91+
"bans": 76,
92+
"force_vote": 77,
93+
"uninvite": 78,
94+
"access_status": 79,
95+
"credits": 80,
96+
"say": 81,
97+
"auth_remove": 82,
98+
"unrifle": 83,
99+
"eyeemote": 84,
100+
"muteid": 85,
101+
"spectate_previous": 86,
102+
"up": 87,
103+
"shotgun": 88,
104+
"spectate": 89,
105+
"remove_foe": 90,
106+
"timecp": 91,
107+
"disconnect": 92,
108+
"teamtop5": 93,
109+
"ban": 94,
110+
"start_video": 95,
111+
"auth_add_p": 96,
112+
"clear_local_console": 97,
113+
"laser": 98,
114+
"tune_zone": 99,
115+
"w": 100,
116+
"name_unban": 101,
117+
"time": 102,
118+
"vote_no": 103,
119+
"clear_votes": 104,
120+
"dump_remote_console": 105,
121+
"freezehammer": 106,
122+
"showall": 107,
123+
"bans_save": 108,
124+
"down": 109,
125+
"+weapon5": 110,
126+
"ninjajetpack": 111,
127+
"+show_chat": 112,
128+
"settings": 113,
129+
"toggle_tune": 114,
130+
"name_ban": 115,
131+
"unshotgun": 116,
132+
"unban": 117,
133+
"me": 118,
134+
"remove_favorite": 119,
135+
"dummy_disconnect": 120,
136+
"showothers": 121,
137+
"team": 122,
138+
"+left": 123,
139+
"mutes": 124,
140+
"mapbug": 125,
141+
"unban_range": 126,
142+
"dummy_connect": 127,
143+
"console_page_down": 128,
144+
"unlaser": 129,
145+
"rankteam": 130,
146+
"converse": 131,
147+
"ping": 132,
148+
"random_map": 133,
149+
"add_favorite": 134,
150+
"+showhookcoll": 135,
151+
"+toggle": 136,
152+
"tune_zone_reset": 137,
153+
"stoprecord": 138,
154+
"dump_local_console": 139,
155+
"echo": 140,
156+
"unsolo": 141,
157+
"tp": 142,
158+
"console_page_up": 143,
159+
"+nextweapon": 144,
160+
"ban_region": 145,
161+
"ban_region_range": 146,
162+
"+emote": 147,
163+
"move": 148,
164+
"play": 149,
165+
"ninja": 150,
166+
"add_map_votes": 151,
167+
"moderate": 152,
168+
"demo_slice_end": 153,
169+
"exit": 154,
170+
"grenade": 155,
171+
"clear_remote_console": 156,
172+
"+weapon4": 157,
173+
"left": 158,
174+
"toggle": 159,
175+
"+spectate": 160,
176+
"+fire": 161,
177+
"totelecp": 162,
178+
"endless_hook": 163,
179+
"list": 164,
180+
"specteam": 165,
181+
"super": 166,
182+
"top": 167,
183+
"weapons": 168,
184+
"show_ips": 169,
185+
"auth_change_p": 170,
186+
"undeep": 171,
187+
"livefreeze": 172,
188+
"tele": 173,
189+
"tune_zone_enter": 174,
190+
"rescue": 175,
191+
"unjetpack": 176,
192+
"set_team_all": 177,
193+
"auth_change": 178,
194+
"help": 179,
195+
"dnd": 180,
196+
"remove_friend": 181,
197+
"spectate_closest": 182,
198+
"mapinfo": 183,
199+
"add_sqlserver": 184,
200+
"top5team": 185,
201+
"totele": 186,
202+
"demo_slice_start": 187,
203+
"connect": 188,
204+
"rank": 189,
205+
"save_replay": 190,
206+
"emote": 191,
207+
"friends": 192,
208+
"add_demomarker": 193,
209+
"timeout": 194,
210+
"teleport": 195,
211+
"times": 196,
212+
"saytime": 197,
213+
"specvoted": 198,
214+
"ban_range": 199,
215+
"+right": 200,
216+
"dump_log": 201,
217+
"unfreezehammer": 202,
218+
"move_raw": 203,
219+
"whisper": 204,
220+
"end_favorite_group": 205,
221+
"vote": 206,
222+
"tune_zone_leave": 207,
223+
"record": 208,
224+
"points": 209,
225+
"top5": 210,
226+
"add_vote": 211,
227+
"dump_sqlservers": 212,
228+
"rcon_login": 213,
229+
"set_team_ddr": 214,
230+
"unendless_hook": 215,
231+
"+weapon1": 216,
232+
"set_team": 217,
233+
"stop_video": 218,
234+
"kick": 219,
235+
"vote_unmute": 220,
236+
"callvote": 221,
237+
"rcon_auth": 222,
238+
"status": 223,
239+
"kill_pl": 224,
240+
"tune": 225,
241+
"add_friend": 226,
242+
"exec": 227,
243+
"toggle_remote_console": 228,
244+
"teamrank": 229,
245+
"zoom": 230,
246+
"unsuper": 231,
247+
"rcon": 232,
248+
"swap": 233,
249+
"jetpack": 234,
250+
"vote_mutes": 235,
251+
"map": 236,
252+
# add new commands below here with increasing numbers
253+
"ban2": 237,
254+
}
255+
256+
# workaround for ban appearing twice
257+
had_ban = False
11258

12259
for line in sys.stdin:
13260
if sys.argv[1] not in line:
@@ -16,9 +263,21 @@
16263
x = re.findall(r'(?:[^\s,"]|"(?:\\.|[^"])*")+', line)
17264
y = line.split('"')
18265

19-
result = (html.escape(y[1]), html.escape(y[3]), html.escape(y[-2]))
20-
266+
idx = offset + 100 + commands[y[1]]*5
267+
if y[1] == "ban":
268+
if had_ban:
269+
idx = offset + 100 + commands["ban2"]*5
270+
had_ban = True
21271
print("|-")
22-
print("| %s\n| %s\n| %s" % result)
272+
print("|", html.escape(y[1]))
273+
if y[3].strip() == "":
274+
print("|")
275+
else:
276+
print(f"| <translate><!--T:{idx}--> {html.escape(y[3])}</translate>")
277+
if y[-2].strip() == "":
278+
print("|")
279+
else:
280+
print(f"| <translate><!--T:{idx+1}--> {html.escape(y[-2])}</translate>")
23281

24282
print('|}')
283+

client_wiki/create.sh

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,47 @@
22
shopt -s globstar
33
DIR="${0%/*}"
44

5-
echo '== Map Settings =='
6-
cat src/**/{config_variables,variables}.h | "$DIR/settings.py" CFGFLAG_GAME
7-
cat src/**/{console,netban,server,gamecontext,engine}.cpp | grep "Register(" | grep CFGFLAG_GAME | grep -v "\\/\\/" | "$DIR/commands.py" CFGFLAG_GAME
8-
9-
echo '== Server Settings =='
10-
cat ./**/{config_variables,variables}.h | "$DIR/settings.py" CFGFLAG_SERVER
11-
12-
echo '== Econ Settings =='
13-
cat ./**/{config_variables,variables}.h | "$DIR/settings.py" CFGFLAG_ECON
14-
15-
echo '== Server Commands =='
16-
(cat src/**/{console,netban,server,gamecontext,engine}.cpp | grep "Register(" | grep CFGFLAG_SERVER | grep -v "\\/\\/"; cat src/**/ddracecommands.h) | "$DIR/commands.py" CFGFLAG_SERVER
17-
18-
echo '== Chat Commands =='
19-
cat src/**/{ddracechat,ddracecommands}.h | "$DIR/commands.py" CFGFLAG_CHAT
20-
21-
echo '== Client Settings =='
22-
cat src/**/{variables,config_variables}.h | "$DIR/settings.py" CFGFLAG_CLIENT
23-
24-
echo '== Client Commands =='
25-
cat src/**/{console,netban,voting,emoticon,spectator,camera,chat,controls,friends,gameclient,client,gamecontext}.cpp | grep "Register(" | grep CFGFLAG_CLIENT | grep -v "\\/\\/" | "$DIR/commands.py" CFGFLAG_CLIENT
26-
27-
echo '== Tunings =='
28-
grep MACRO_TUNING src/game/tuning.h | "$DIR/tunings.py"
5+
echo '<languages/>'
6+
echo '<translate>'
7+
echo '== Map Settings == <!--T:1-->'
8+
echo '</translate>'
9+
cat src/**/{config_variables,variables}.h | "$DIR/settings.py" CFGFLAG_GAME 10000
10+
cat src/**/{console,netban,server,gamecontext,engine}.cpp | grep "Register(" | grep CFGFLAG_GAME | grep -v "\\/\\/" | "$DIR/commands.py" CFGFLAG_GAME 20000
11+
12+
echo '<translate>'
13+
echo '== Server Settings == <!--T:3-->'
14+
echo '</translate>'
15+
cat ./**/{config_variables,variables}.h | "$DIR/settings.py" CFGFLAG_SERVER 30000
16+
17+
echo '<translate>'
18+
echo '== Econ Settings == <!--T:5-->'
19+
echo '</translate>'
20+
cat ./**/{config_variables,variables}.h | "$DIR/settings.py" CFGFLAG_ECON 40000
21+
22+
echo '<translate>'
23+
echo '== Server Commands == <!--T:7-->'
24+
echo '</translate>'
25+
(cat src/**/{console,netban,server,gamecontext,engine}.cpp | grep "Register(" | grep CFGFLAG_SERVER | grep -v "\\/\\/"; cat src/**/ddracecommands.h) | "$DIR/commands.py" CFGFLAG_SERVER 50000
26+
27+
echo '<translate>'
28+
echo '== Chat Commands == <!--T:9-->'
29+
echo '</translate>'
30+
cat src/**/{ddracechat,ddracecommands}.h | "$DIR/commands.py" CFGFLAG_CHAT 60000
31+
32+
echo '<translate>'
33+
echo '== Client Settings == <!--T:11-->'
34+
echo '</translate>'
35+
cat src/**/{variables,config_variables}.h | "$DIR/settings.py" CFGFLAG_CLIENT 70000
36+
37+
echo '<translate>'
38+
echo '== Client Commands == <!--T:13-->'
39+
echo '</translate>'
40+
cat src/**/{console,netban,voting,emoticon,spectator,camera,chat,controls,friends,gameclient,client,gamecontext}.cpp | grep "Register(" | grep CFGFLAG_CLIENT | grep -v "\\/\\/" | "$DIR/commands.py" CFGFLAG_CLIENT 80000
41+
42+
echo '<translate>'
43+
echo '== Tunings == <!--T:15-->'
44+
echo '</translate>'
45+
grep MACRO_TUNING src/game/tuning.h | "$DIR/tunings.py" 90000
2946

3047
echo "[[Category:Mapping]]"
3148
echo "[[Category:Settings]]"

0 commit comments

Comments
 (0)