Update frontend translation files 0.9.24
authorWuzzy <Wuzzy2@mail.ru>
Tue, 24 Jul 2018 19:34:04 +0200
branch0.9.24
changeset 13554 bc6f3d5309f4
parent 13553 19d290017b69
child 13555 d42237d16acf
Update frontend translation files
share/hedgewars/Data/Locale/hedgewars_ar.ts
share/hedgewars/Data/Locale/hedgewars_bg.ts
share/hedgewars/Data/Locale/hedgewars_cs.ts
share/hedgewars/Data/Locale/hedgewars_da.ts
share/hedgewars/Data/Locale/hedgewars_de.ts
share/hedgewars/Data/Locale/hedgewars_el.ts
share/hedgewars/Data/Locale/hedgewars_en.ts
share/hedgewars/Data/Locale/hedgewars_es.ts
share/hedgewars/Data/Locale/hedgewars_fi.ts
share/hedgewars/Data/Locale/hedgewars_fr.ts
share/hedgewars/Data/Locale/hedgewars_gd.ts
share/hedgewars/Data/Locale/hedgewars_gl.ts
share/hedgewars/Data/Locale/hedgewars_hu.ts
share/hedgewars/Data/Locale/hedgewars_it.ts
share/hedgewars/Data/Locale/hedgewars_ja.ts
share/hedgewars/Data/Locale/hedgewars_ko.ts
share/hedgewars/Data/Locale/hedgewars_lt.ts
share/hedgewars/Data/Locale/hedgewars_ms.ts
share/hedgewars/Data/Locale/hedgewars_nl.ts
share/hedgewars/Data/Locale/hedgewars_pl.ts
share/hedgewars/Data/Locale/hedgewars_pt_BR.ts
share/hedgewars/Data/Locale/hedgewars_pt_PT.ts
share/hedgewars/Data/Locale/hedgewars_ro.ts
share/hedgewars/Data/Locale/hedgewars_ru.ts
share/hedgewars/Data/Locale/hedgewars_sk.ts
share/hedgewars/Data/Locale/hedgewars_sv.ts
share/hedgewars/Data/Locale/hedgewars_tr_TR.ts
share/hedgewars/Data/Locale/hedgewars_uk.ts
share/hedgewars/Data/Locale/hedgewars_zh_CN.ts
share/hedgewars/Data/Locale/hedgewars_zh_TW.ts
--- a/share/hedgewars/Data/Locale/hedgewars_ar.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ar.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3500,34 +3500,6 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3812,7 +3784,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_bg.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3533,31 +3533,11 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Ос</translation>
-    </message>
-    <message>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Ос</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Бутон</translation>
+        <translation type="vanished">Бутон</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3844,7 +3824,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_cs.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_cs.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3583,31 +3583,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Osa</translation>
+        <translation type="vanished">Osa</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Nahoru)</translation>
+        <translation type="vanished">(Nahoru)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Dolů)</translation>
+        <translation type="vanished">(Dolů)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Klobouček</translation>
+        <translation type="vanished">Klobouček</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Vlevo)</translation>
+        <translation type="vanished">(Vlevo)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Vpravo)</translation>
+        <translation type="vanished">(Vpravo)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Tlačítko</translation>
+        <translation type="vanished">Tlačítko</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3894,7 +3894,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_da.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_da.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3575,31 +3575,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Akse</translation>
+        <translation type="vanished">Akse</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Op)</translation>
+        <translation type="vanished">(Op)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Ned)</translation>
+        <translation type="vanished">(Ned)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Hat</translation>
+        <translation type="vanished">Hat</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Venstre)</translation>
+        <translation type="vanished">(Venstre)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Højre)</translation>
+        <translation type="vanished">(Højre)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Knap</translation>
+        <translation type="vanished">Knap</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3887,7 +3887,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_de.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_de.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3931,31 +3931,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Achse</translation>
+        <translation type="vanished">Achse</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Hoch)</translation>
+        <translation type="vanished">(Hoch)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Runter)</translation>
+        <translation type="vanished">(Runter)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Cooliehat</translation>
+        <translation type="vanished">Cooliehat</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Links)</translation>
+        <translation type="vanished">(Links)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Rechts)</translation>
+        <translation type="vanished">(Rechts)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Taste</translation>
+        <translation type="vanished">Taste</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4243,7 +4243,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>Steuerkreuz</translation>
+        <translation type="vanished">Steuerkreuz</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation>D-Pad</translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation>Achse %1 %2</translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation>Button %1</translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation>D-Pad %1 %2</translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_el.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_el.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3553,31 +3553,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation type="unfinished">Άξονας</translation>
+        <translation type="obsolete">Άξονας</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation type="unfinished">(Πάνω)</translation>
+        <translation type="obsolete">(Πάνω)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation type="unfinished">(Κάτω)</translation>
+        <translation type="obsolete">(Κάτω)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Καπέλο</translation>
+        <translation type="obsolete">Καπέλο</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation type="unfinished">(Αριστερά)</translation>
+        <translation type="obsolete">(Αριστερά)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation type="unfinished">(Δεξιά)</translation>
+        <translation type="obsolete">(Δεξιά)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation type="unfinished">Κουμπί</translation>
+        <translation type="obsolete">Κουμπί</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3865,7 +3865,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation type="unfinished">DPad</translation>
+        <translation type="obsolete">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_en.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_en.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3722,31 +3722,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Axis</translation>
+        <translation type="vanished">Axis</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Up)</translation>
+        <translation type="vanished">(Up)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Down)</translation>
+        <translation type="vanished">(Down)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Hat</translation>
+        <translation type="vanished">Hat</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Left)</translation>
+        <translation type="vanished">(Left)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Right)</translation>
+        <translation type="vanished">(Right)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Button</translation>
+        <translation type="vanished">Button</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4034,7 +4034,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation>D-pad</translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation>Axis %1 %2</translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation>Button %1</translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation>D-pad %1 %2</translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3571,31 +3571,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Eje</translation>
+        <translation type="vanished">Eje</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Arriba)</translation>
+        <translation type="vanished">(Arriba)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Abajo)</translation>
+        <translation type="vanished">(Abajo)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Sombrero</translation>
+        <translation type="vanished">Sombrero</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Izquierda)</translation>
+        <translation type="vanished">(Izquierda)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Derecha)</translation>
+        <translation type="vanished">(Derecha)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Botón</translation>
+        <translation type="vanished">Botón</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3883,7 +3883,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_fi.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_fi.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3623,31 +3623,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Akselit</translation>
+        <translation type="vanished">Akselit</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Ylös)</translation>
+        <translation type="vanished">(Ylös)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Alas)</translation>
+        <translation type="vanished">(Alas)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Hattu</translation>
+        <translation type="vanished">Hattu</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Vasen)</translation>
+        <translation type="vanished">(Vasen)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Oikea)</translation>
+        <translation type="vanished">(Oikea)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Nappi</translation>
+        <translation type="vanished">Nappi</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3931,12 +3931,31 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
     </message>
     <message>
         <source>Mouse: Left button</source>
         <translation>Hiiri: Vasen nappi</translation>
     </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>server</name>
--- a/share/hedgewars/Data/Locale/hedgewars_fr.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3778,31 +3778,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Axes</translation>
+        <translation type="vanished">Axes</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Haut)</translation>
+        <translation type="vanished">(Haut)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Bas)</translation>
+        <translation type="vanished">(Bas)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Chapeau</translation>
+        <translation type="vanished">Chapeau</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Gauche)</translation>
+        <translation type="vanished">(Gauche)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Droite)</translation>
+        <translation type="vanished">(Droite)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Bouton</translation>
+        <translation type="vanished">Bouton</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4086,12 +4086,31 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
     </message>
     <message>
         <source>Clear</source>
         <translation>Effacer</translation>
     </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>server</name>
--- a/share/hedgewars/Data/Locale/hedgewars_gd.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_gd.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3671,31 +3671,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Aiseal</translation>
+        <translation type="vanished">Aiseal</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Suas)</translation>
+        <translation type="vanished">(Suas)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Sìos)</translation>
+        <translation type="vanished">(Sìos)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Ad</translation>
+        <translation type="vanished">Ad</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Gu clì)</translation>
+        <translation type="vanished">(Gu clì)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Gu deas)</translation>
+        <translation type="vanished">(Gu deas)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Putan</translation>
+        <translation type="vanished">Putan</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3983,7 +3983,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_gl.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_gl.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3496,31 +3496,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Eixo</translation>
+        <translation type="vanished">Eixo</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Arriba)</translation>
+        <translation type="vanished">(Arriba)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Abaixo)</translation>
+        <translation type="vanished">(Abaixo)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Sombreiro</translation>
+        <translation type="vanished">Sombreiro</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Esquerda)</translation>
+        <translation type="vanished">(Esquerda)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Dereita)</translation>
+        <translation type="vanished">(Dereita)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Botón</translation>
+        <translation type="vanished">Botón</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3808,7 +3808,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>Mando</translation>
+        <translation type="vanished">Mando</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_hu.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_hu.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3486,31 +3486,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Tengely</translation>
+        <translation type="vanished">Tengely</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Fel)</translation>
+        <translation type="vanished">(Fel)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Le)</translation>
+        <translation type="vanished">(Le)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Kalap</translation>
+        <translation type="vanished">Kalap</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Balra)</translation>
+        <translation type="vanished">(Balra)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Jobbra)</translation>
+        <translation type="vanished">(Jobbra)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Gomb</translation>
+        <translation type="vanished">Gomb</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3798,7 +3798,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_it.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_it.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3673,31 +3673,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Assi</translation>
+        <translation type="vanished">Assi</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Su)</translation>
+        <translation type="vanished">(Su)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Giù)</translation>
+        <translation type="vanished">(Giù)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Cappello</translation>
+        <translation type="vanished">Cappello</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Sinistra)</translation>
+        <translation type="vanished">(Sinistra)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Destra)</translation>
+        <translation type="vanished">(Destra)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>(Pulsante)</translation>
+        <translation type="vanished">(Pulsante)</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3985,7 +3985,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_ja.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ja.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -2335,7 +2335,7 @@
     <name>QGroupBox</name>
     <message>
         <source>Team Members</source>
-        <translation>チーム メンバーズ</translation>
+        <translation>チーム&#x3000;メンバーズ</translation>
     </message>
     <message>
         <source>Fort</source>
@@ -2884,7 +2884,7 @@
     </message>
     <message>
         <source>Start server</source>
-        <translation>サーバー スタート</translation>
+        <translation>サーバー&#x3000;スタート</translation>
     </message>
     <message>
         <source>Connect</source>
@@ -3468,34 +3468,6 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3780,7 +3752,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_ko.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ko.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3378,34 +3378,6 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3690,7 +3662,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_lt.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -412,19 +412,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="229"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="205"/>
         <source>Malformed option argument: %1</source>
         <comment>command-line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="269"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="245"/>
         <source>Unknown option argument: %1</source>
         <comment>command-line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="338"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="337"/>
         <source>Failed to open data directory:
 %1
 
@@ -982,53 +982,53 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="229"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="234"/>
         <source>Remote host has closed connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="232"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="237"/>
         <source>The host was not found. Please check the host name and port settings.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="235"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="240"/>
         <source>Connection refused</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="297"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="302"/>
         <source>The server is too old. Disconnecting now.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="549"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="554"/>
         <source>Server authentication error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="771"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="776"/>
         <source>Room destroyed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="528"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="533"/>
         <source>You got kicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="714"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="846"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="719"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="851"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="861"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="866"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="863"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="868"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2064,17 +2064,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="178"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
         <source>Admin features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="181"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="182"/>
         <source>Open server administration page</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="543"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="544"/>
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3376,22 +3376,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="504"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="505"/>
         <source>Room Name - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="505"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="506"/>
         <source>Please select room from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="530"/>
-        <source>Room Name - Are you sure?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="531"/>
+        <source>Room Name - Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="532"/>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
         <translation type="unfinished"></translation>
@@ -3450,28 +3450,28 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="291"/>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="335"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="293"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="338"/>
         <source>Weapons - Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="292"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="294"/>
         <source>Cannot overwrite default weapon set &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="336"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="339"/>
         <source>Cannot delete default weapon set &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="344"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="348"/>
         <source>Weapons - Are you sure?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="345"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="349"/>
         <source>Do you really want to delete the weapon set &apos;%1&apos;?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3486,12 +3486,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="467"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="468"/>
         <source>Welcome to Hedgewars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="468"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="469"/>
         <source>Welcome to Hedgewars!
 
 You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars?</source>
@@ -3788,42 +3788,42 @@
 <context>
     <name>SelWeaponWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="170"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="167"/>
         <source>Weapon set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="171"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="168"/>
         <source>Probabilities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="172"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="169"/>
         <source>Ammo in boxes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="173"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="170"/>
         <source>Delays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="361"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="365"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="366"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="370"/>
         <source>New (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="407"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="411"/>
         <source>Copy of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="412"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="416"/>
         <source>Copy of %1 (%2)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4235,400 +4235,385 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/util/DataManager.cpp" line="162"/>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="21"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="25"/>
         <source>Mouse: Left button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="22"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="26"/>
         <source>Mouse: Middle button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="23"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="27"/>
         <source>Mouse: Right button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="24"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="28"/>
         <source>Mouse: Wheel up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="25"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="29"/>
         <source>Mouse: Wheel down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="26"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="30"/>
         <source>Backspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="27"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="31"/>
         <source>Tab</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="28"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="32"/>
         <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="29"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="33"/>
         <source>Return</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="30"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="34"/>
         <source>Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="31"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="35"/>
         <source>Escape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="32"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="36"/>
         <source>Space</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="96"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="100"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="97"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="101"/>
         <source>Numpad 0</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="98"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="102"/>
         <source>Numpad 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="99"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="103"/>
         <source>Numpad 2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="100"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="104"/>
         <source>Numpad 3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="101"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="105"/>
         <source>Numpad 4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="102"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="106"/>
         <source>Numpad 5</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="103"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="107"/>
         <source>Numpad 6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="104"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="108"/>
         <source>Numpad 7</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="105"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="109"/>
         <source>Numpad 8</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="106"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="110"/>
         <source>Numpad 9</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="107"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="111"/>
         <source>Numpad .</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="108"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="112"/>
         <source>Numpad /</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="109"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="113"/>
         <source>Numpad *</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="110"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="114"/>
         <source>Numpad -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="111"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="115"/>
         <source>Numpad +</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="112"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="116"/>
         <source>Enter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="113"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="117"/>
         <source>Equals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="114"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="118"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="195"/>
         <source>Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="115"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="119"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="196"/>
         <source>Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="116"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="120"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="198"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="117"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="121"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="197"/>
         <source>Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="118"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="122"/>
         <source>Insert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="119"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="123"/>
         <source>Home</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="120"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="124"/>
         <source>End</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="121"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="125"/>
         <source>Page up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="122"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="126"/>
         <source>Page down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="138"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="142"/>
         <source>Num lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="139"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="143"/>
         <source>Caps lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="140"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="144"/>
         <source>Scroll lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="141"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="145"/>
         <source>Right shift</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="142"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="146"/>
         <source>Left shift</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="143"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="147"/>
         <source>Right ctrl</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="144"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="148"/>
         <source>Left ctrl</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="145"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="149"/>
         <source>Right alt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="146"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="150"/>
         <source>Left alt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="147"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="151"/>
         <source>Right meta</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="148"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="152"/>
         <source>Left meta</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="155"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="159"/>
         <source>A button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="156"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="160"/>
         <source>B button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="157"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="161"/>
         <source>X button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="158"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="162"/>
         <source>Y button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="159"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="163"/>
         <source>LB button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="160"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="164"/>
         <source>RB button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="161"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="165"/>
         <source>Back button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="162"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="166"/>
         <source>Start button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="163"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="167"/>
         <source>Left stick</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="164"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="168"/>
         <source>Right stick</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="171"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="175"/>
         <source>Left stick (Right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="172"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="176"/>
         <source>Left stick (Left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="173"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="177"/>
         <source>Left stick (Down)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="174"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="178"/>
         <source>Left stick (Up)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="175"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="179"/>
         <source>Left trigger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="176"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="180"/>
         <source>Right trigger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="177"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="181"/>
         <source>Right stick (Down)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="178"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="182"/>
         <source>Right stick (Up)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="179"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="183"/>
         <source>Right stick (Right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="180"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="184"/>
         <source>Right stick (Left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="182"/>
-        <source>DPad</source>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="186"/>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="190"/>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="192"/>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="194"/>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_ms.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ms.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -400,19 +400,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="229"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="205"/>
         <source>Malformed option argument: %1</source>
         <comment>command-line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="269"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="245"/>
         <source>Unknown option argument: %1</source>
         <comment>command-line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="338"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="337"/>
         <source>Failed to open data directory:
 %1
 
@@ -975,53 +975,53 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="229"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="234"/>
         <source>Remote host has closed connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="232"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="237"/>
         <source>The host was not found. Please check the host name and port settings.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="235"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="240"/>
         <source>Connection refused</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="297"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="302"/>
         <source>The server is too old. Disconnecting now.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="528"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="533"/>
         <source>You got kicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="549"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="554"/>
         <source>Server authentication error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="861"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="866"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="863"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="868"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="714"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="846"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="719"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="851"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="771"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="776"/>
         <source>Room destroyed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2034,17 +2034,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="178"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
         <source>Admin features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="181"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="182"/>
         <source>Open server administration page</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="543"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="544"/>
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3317,22 +3317,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="504"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="505"/>
         <source>Room Name - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="505"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="506"/>
         <source>Please select room from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="530"/>
-        <source>Room Name - Are you sure?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="531"/>
+        <source>Room Name - Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="532"/>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
         <translation type="unfinished"></translation>
@@ -3414,28 +3414,28 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="291"/>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="335"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="293"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="338"/>
         <source>Weapons - Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="292"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="294"/>
         <source>Cannot overwrite default weapon set &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="336"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="339"/>
         <source>Cannot delete default weapon set &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="344"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="348"/>
         <source>Weapons - Are you sure?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="345"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="349"/>
         <source>Do you really want to delete the weapon set &apos;%1&apos;?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3450,12 +3450,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="467"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="468"/>
         <source>Welcome to Hedgewars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="468"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="469"/>
         <source>Welcome to Hedgewars!
 
 You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars?</source>
@@ -3752,42 +3752,42 @@
 <context>
     <name>SelWeaponWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="170"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="167"/>
         <source>Weapon set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="171"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="168"/>
         <source>Probabilities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="172"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="169"/>
         <source>Ammo in boxes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="173"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="170"/>
         <source>Delays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="361"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="365"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="366"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="370"/>
         <source>New (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="407"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="411"/>
         <source>Copy of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="412"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="416"/>
         <source>Copy of %1 (%2)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4199,358 +4199,380 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="21"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="25"/>
         <source>Mouse: Left button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="22"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="26"/>
         <source>Mouse: Middle button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="23"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="27"/>
         <source>Mouse: Right button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="24"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="28"/>
         <source>Mouse: Wheel up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="25"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="29"/>
         <source>Mouse: Wheel down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="26"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="30"/>
         <source>Backspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="27"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="31"/>
         <source>Tab</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="28"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="32"/>
         <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="29"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="33"/>
         <source>Return</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="30"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="34"/>
         <source>Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="31"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="35"/>
         <source>Escape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="32"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="36"/>
         <source>Space</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="96"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="100"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="97"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="101"/>
         <source>Numpad 0</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="98"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="102"/>
         <source>Numpad 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="99"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="103"/>
         <source>Numpad 2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="100"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="104"/>
         <source>Numpad 3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="101"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="105"/>
         <source>Numpad 4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="102"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="106"/>
         <source>Numpad 5</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="103"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="107"/>
         <source>Numpad 6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="104"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="108"/>
         <source>Numpad 7</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="105"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="109"/>
         <source>Numpad 8</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="106"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="110"/>
         <source>Numpad 9</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="107"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="111"/>
         <source>Numpad .</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="108"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="112"/>
         <source>Numpad /</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="109"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="113"/>
         <source>Numpad *</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="110"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="114"/>
         <source>Numpad -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="111"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="115"/>
         <source>Numpad +</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="112"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="116"/>
         <source>Enter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="113"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="117"/>
         <source>Equals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="114"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="118"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="195"/>
         <source>Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="115"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="119"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="196"/>
         <source>Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="116"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="120"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="198"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="117"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="121"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="197"/>
         <source>Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="118"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="122"/>
         <source>Insert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="119"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="123"/>
         <source>Home</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="120"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="124"/>
         <source>End</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="121"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="125"/>
         <source>Page up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="122"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="126"/>
         <source>Page down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="138"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="142"/>
         <source>Num lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="139"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="143"/>
         <source>Caps lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="140"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="144"/>
         <source>Scroll lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="141"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="145"/>
         <source>Right shift</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="142"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="146"/>
         <source>Left shift</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="143"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="147"/>
         <source>Right ctrl</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="144"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="148"/>
         <source>Left ctrl</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="145"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="149"/>
         <source>Right alt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="146"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="150"/>
         <source>Left alt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="147"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="151"/>
         <source>Right meta</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="148"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="152"/>
         <source>Left meta</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="155"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="159"/>
         <source>A button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="156"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="160"/>
         <source>B button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="157"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="161"/>
         <source>X button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="158"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="162"/>
         <source>Y button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="159"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="163"/>
         <source>LB button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="160"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="164"/>
         <source>RB button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="161"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="165"/>
         <source>Back button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="162"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="166"/>
         <source>Start button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="163"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="167"/>
         <source>Left stick</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="164"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="168"/>
         <source>Right stick</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="171"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="175"/>
         <source>Left stick (Right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="172"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="176"/>
         <source>Left stick (Left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="173"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="177"/>
         <source>Left stick (Down)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="174"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="178"/>
         <source>Left stick (Up)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="175"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="179"/>
         <source>Left trigger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="176"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="180"/>
         <source>Right trigger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="177"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="181"/>
         <source>Right stick (Down)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="178"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="182"/>
         <source>Right stick (Up)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="179"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="183"/>
         <source>Right stick (Right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="180"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="184"/>
         <source>Right stick (Left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="182"/>
-        <source>DPad</source>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="186"/>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="190"/>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="192"/>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="194"/>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -4558,43 +4580,6 @@
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>server</name>
--- a/share/hedgewars/Data/Locale/hedgewars_nl.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_nl.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3396,34 +3396,6 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3708,7 +3680,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_pl.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3911,31 +3911,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Oś</translation>
+        <translation type="vanished">Oś</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Góra)</translation>
+        <translation type="vanished">(Góra)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Dół)</translation>
+        <translation type="vanished">(Dół)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Grzybek</translation>
+        <translation type="vanished">Grzybek</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Lewo)</translation>
+        <translation type="vanished">(Lewo)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Prawo)</translation>
+        <translation type="vanished">(Prawo)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Przycisk</translation>
+        <translation type="vanished">Przycisk</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4223,7 +4223,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3759,31 +3759,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Eixo</translation>
+        <translation type="vanished">Eixo</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Cima)</translation>
+        <translation type="vanished">(Cima)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Baixo)</translation>
+        <translation type="vanished">(Baixo)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Chapéu</translation>
+        <translation type="vanished">Chapéu</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Esquerda)</translation>
+        <translation type="vanished">(Esquerda)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Direita)</translation>
+        <translation type="vanished">(Direita)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Botão</translation>
+        <translation type="vanished">Botão</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4073,7 +4073,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3763,31 +3763,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Eixo</translation>
+        <translation type="vanished">Eixo</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Cima)</translation>
+        <translation type="vanished">(Cima)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Baixo)</translation>
+        <translation type="vanished">(Baixo)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Chapéu</translation>
+        <translation type="vanished">Chapéu</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Esquerda)</translation>
+        <translation type="vanished">(Esquerda)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Direita)</translation>
+        <translation type="vanished">(Direita)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Botão</translation>
+        <translation type="vanished">Botão</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4075,7 +4075,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_ro.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ro.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3522,34 +3522,6 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3834,7 +3806,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_ru.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3770,31 +3770,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Ось</translation>
+        <translation type="vanished">Ось</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Вверх)</translation>
+        <translation type="vanished">(Вверх)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Вниз)</translation>
+        <translation type="vanished">(Вниз)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Шляпа</translation>
+        <translation type="vanished">Шляпа</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Влево)</translation>
+        <translation type="vanished">(Влево)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Вправо)</translation>
+        <translation type="vanished">(Вправо)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Кнопка</translation>
+        <translation type="vanished">Кнопка</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4081,7 +4081,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_sk.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_sk.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3747,31 +3747,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Os</translation>
+        <translation type="vanished">Os</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Hore)</translation>
+        <translation type="vanished">(Hore)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Dole)</translation>
+        <translation type="vanished">(Dole)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Klobúk</translation>
+        <translation type="vanished">Klobúk</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Vľavo)</translation>
+        <translation type="vanished">(Vľavo)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Vpravo)</translation>
+        <translation type="vanished">(Vpravo)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Tlačidlo</translation>
+        <translation type="vanished">Tlačidlo</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4027,7 +4027,7 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
     </message>
     <message>
         <source>Left stick (Right)</source>
@@ -4061,6 +4061,25 @@
         <source>Right stick (Left)</source>
         <translation>Pravý joystick (Doľava)</translation>
     </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>server</name>
--- a/share/hedgewars/Data/Locale/hedgewars_sv.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_sv.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3571,31 +3571,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Axlar</translation>
+        <translation type="vanished">Axlar</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Upp)</translation>
+        <translation type="vanished">(Upp)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Ner)</translation>
+        <translation type="vanished">(Ner)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Hatt</translation>
+        <translation type="vanished">Hatt</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Vänster)</translation>
+        <translation type="vanished">(Vänster)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Höger)</translation>
+        <translation type="vanished">(Höger)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Knapp</translation>
+        <translation type="vanished">Knapp</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -3883,7 +3883,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>Styrkors</translation>
+        <translation type="vanished">Styrkors</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3764,31 +3764,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>Eksen</translation>
+        <translation type="vanished">Eksen</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(Yukarı)</translation>
+        <translation type="vanished">(Yukarı)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Aşağı)</translation>
+        <translation type="vanished">(Aşağı)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Şapka</translation>
+        <translation type="vanished">Şapka</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Sol)</translation>
+        <translation type="vanished">(Sol)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Sağ)</translation>
+        <translation type="vanished">(Sağ)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Düğme</translation>
+        <translation type="vanished">Düğme</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4076,7 +4076,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation>DPad</translation>
+        <translation type="vanished">DPad</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_uk.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_uk.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3758,32 +3758,28 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>(Up)</source>
-        <translation>(Вверх)</translation>
+        <translation type="vanished">(Вверх)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(Вниз)</translation>
+        <translation type="vanished">(Вниз)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Капелюх</translation>
+        <translation type="vanished">Капелюх</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(Вліво)</translation>
+        <translation type="vanished">(Вліво)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(Вправо)</translation>
+        <translation type="vanished">(Вправо)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>Кнопка</translation>
+        <translation type="vanished">Кнопка</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4070,7 +4066,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>DPad</source>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -404,19 +404,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="229"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="205"/>
         <source>Malformed option argument: %1</source>
         <comment>command-line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="269"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="245"/>
         <source>Unknown option argument: %1</source>
         <comment>command-line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="338"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="337"/>
         <source>Failed to open data directory:
 %1
 
@@ -974,43 +974,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="229"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="234"/>
         <source>Remote host has closed connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="232"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="237"/>
         <source>The host was not found. Please check the host name and port settings.</source>
         <translation>错误没找到这个主机。请检查主机名和端口设置。</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="235"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="240"/>
         <source>Connection refused</source>
         <translation>连接被拒绝</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="297"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="302"/>
         <source>The server is too old. Disconnecting now.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="549"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="554"/>
         <source>Server authentication error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="861"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="866"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="863"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="868"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="714"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="846"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="719"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="851"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1020,12 +1020,12 @@
         <translation>退出原因:</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="771"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="776"/>
         <source>Room destroyed</source>
         <translation>房间损坏</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="528"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="533"/>
         <source>You got kicked</source>
         <translation>被踢出</translation>
     </message>
@@ -2049,7 +2049,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="181"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="182"/>
         <source>Open server administration page</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2062,14 +2062,14 @@
         <translation type="obsolete">加入</translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="543"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="544"/>
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="178"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
         <source>Admin features</source>
         <translation>管理员功能</translation>
     </message>
@@ -3377,22 +3377,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="504"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="505"/>
         <source>Room Name - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="505"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="506"/>
         <source>Please select room from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="530"/>
-        <source>Room Name - Are you sure?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="531"/>
+        <source>Room Name - Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="532"/>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
         <translation type="unfinished"></translation>
@@ -3449,28 +3449,28 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="291"/>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="335"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="293"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="338"/>
         <source>Weapons - Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="292"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="294"/>
         <source>Cannot overwrite default weapon set &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="336"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="339"/>
         <source>Cannot delete default weapon set &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="344"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="348"/>
         <source>Weapons - Are you sure?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="345"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="349"/>
         <source>Do you really want to delete the weapon set &apos;%1&apos;?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3485,12 +3485,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="467"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="468"/>
         <source>Welcome to Hedgewars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/main.cpp" line="468"/>
+        <location filename="../../../../QTfrontend/main.cpp" line="469"/>
         <source>Welcome to Hedgewars!
 
 You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars?</source>
@@ -3791,42 +3791,42 @@
 <context>
     <name>SelWeaponWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="170"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="167"/>
         <source>Weapon set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="171"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="168"/>
         <source>Probabilities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="172"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="169"/>
         <source>Ammo in boxes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="173"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="170"/>
         <source>Delays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="361"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="365"/>
         <source>New</source>
         <translation type="unfinished">新游戏</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="366"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="370"/>
         <source>New (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="407"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="411"/>
         <source>Copy of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="412"/>
+        <location filename="../../../../QTfrontend/ui/widget/selectWeapon.cpp" line="416"/>
         <source>Copy of %1 (%2)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4250,358 +4250,380 @@
 <context>
     <name>binds (keys)</name>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="21"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="25"/>
         <source>Mouse: Left button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="22"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="26"/>
         <source>Mouse: Middle button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="23"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="27"/>
         <source>Mouse: Right button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="24"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="28"/>
         <source>Mouse: Wheel up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="25"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="29"/>
         <source>Mouse: Wheel down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="26"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="30"/>
         <source>Backspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="27"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="31"/>
         <source>Tab</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="28"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="32"/>
         <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="29"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="33"/>
         <source>Return</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="30"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="34"/>
         <source>Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="31"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="35"/>
         <source>Escape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="32"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="36"/>
         <source>Space</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="96"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="100"/>
         <source>Delete</source>
         <translation type="unfinished">删除</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="97"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="101"/>
         <source>Numpad 0</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="98"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="102"/>
         <source>Numpad 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="99"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="103"/>
         <source>Numpad 2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="100"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="104"/>
         <source>Numpad 3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="101"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="105"/>
         <source>Numpad 4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="102"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="106"/>
         <source>Numpad 5</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="103"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="107"/>
         <source>Numpad 6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="104"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="108"/>
         <source>Numpad 7</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="105"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="109"/>
         <source>Numpad 8</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="106"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="110"/>
         <source>Numpad 9</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="107"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="111"/>
         <source>Numpad .</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="108"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="112"/>
         <source>Numpad /</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="109"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="113"/>
         <source>Numpad *</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="110"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="114"/>
         <source>Numpad -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="111"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="115"/>
         <source>Numpad +</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="112"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="116"/>
         <source>Enter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="113"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="117"/>
         <source>Equals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="114"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="118"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="195"/>
         <source>Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="115"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="119"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="196"/>
         <source>Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="116"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="120"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="198"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="117"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="121"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="197"/>
         <source>Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="118"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="122"/>
         <source>Insert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="119"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="123"/>
         <source>Home</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="120"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="124"/>
         <source>End</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="121"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="125"/>
         <source>Page up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="122"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="126"/>
         <source>Page down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="138"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="142"/>
         <source>Num lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="139"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="143"/>
         <source>Caps lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="140"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="144"/>
         <source>Scroll lock</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="141"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="145"/>
         <source>Right shift</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="142"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="146"/>
         <source>Left shift</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="143"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="147"/>
         <source>Right ctrl</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="144"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="148"/>
         <source>Left ctrl</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="145"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="149"/>
         <source>Right alt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="146"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="150"/>
         <source>Left alt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="147"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="151"/>
         <source>Right meta</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="148"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="152"/>
         <source>Left meta</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="155"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="159"/>
         <source>A button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="156"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="160"/>
         <source>B button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="157"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="161"/>
         <source>X button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="158"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="162"/>
         <source>Y button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="159"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="163"/>
         <source>LB button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="160"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="164"/>
         <source>RB button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="161"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="165"/>
         <source>Back button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="162"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="166"/>
         <source>Start button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="163"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="167"/>
         <source>Left stick</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="164"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="168"/>
         <source>Right stick</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="171"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="175"/>
         <source>Left stick (Right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="172"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="176"/>
         <source>Left stick (Left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="173"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="177"/>
         <source>Left stick (Down)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="174"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="178"/>
         <source>Left stick (Up)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="175"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="179"/>
         <source>Left trigger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="176"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="180"/>
         <source>Right trigger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="177"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="181"/>
         <source>Right stick (Down)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="178"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="182"/>
         <source>Right stick (Up)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="179"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="183"/>
         <source>Right stick (Right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="180"/>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="184"/>
         <source>Right stick (Left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/sdlkeys.h" line="182"/>
-        <source>DPad</source>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="186"/>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="190"/>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="192"/>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/sdlkeys.cpp" line="194"/>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -4609,43 +4631,6 @@
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
-        <source>Axis</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
-        <source>(Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
-        <source>(Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
-        <source>Hat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
-        <source>(Left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
-        <source>(Right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
-        <source>Button</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>server</name>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts	Tue Jul 24 19:31:37 2018 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts	Tue Jul 24 19:34:04 2018 +0200
@@ -3699,31 +3699,31 @@
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation>軸</translation>
+        <translation type="vanished">軸</translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation>(上)</translation>
+        <translation type="vanished">(上)</translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation>(下)</translation>
+        <translation type="vanished">(下)</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>帽子</translation>
+        <translation type="vanished">帽子</translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation>(左)</translation>
+        <translation type="vanished">(左)</translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation>(右)</translation>
+        <translation type="vanished">(右)</translation>
     </message>
     <message>
         <source>Button</source>
-        <translation>按鈕</translation>
+        <translation type="vanished">按鈕</translation>
     </message>
     <message>
         <source>Keyboard</source>
@@ -4011,7 +4011,26 @@
     </message>
     <message>
         <source>DPad</source>
-        <translation type="unfinished">十字键</translation>
+        <translation type="obsolete">十字键</translation>
+    </message>
+    <message>
+        <source>D-pad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Axis %1 %2</source>
+        <extracomment>Game controller axis direction. %1 = axis number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Button %1</source>
+        <extracomment>Game controller button. %1 = button number</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D-pad %1 %2</source>
+        <extracomment>Game controller D-pad button. %1 = D-pad number, %2 = direction</extracomment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>