Generate KeyboardLabelsSet from donottranslate-more-keys.xml

This change introduces makelabel tool that reads all languages'
donottranslate-more-keys and generate KeyboardLabelsSet.java source
file. The makelabel command must be invoked prior to compile LatinIME.

Change-Id: I7515c7919c535e30f9c80a37bdc831d0f682cd43
diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml
index d4c45ad..2114c67 100644
--- a/java/res/xml-sw600dp/key_shortcut.xml
+++ b/java/res/xml-sw600dp/key_shortcut.xml
@@ -29,7 +29,7 @@
             <Key
                 latin:keyStyle="shortcutKeyStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/settings_as_more_key"
+                latin:moreKeys="!label/settings_as_more_key"
                 latin:keyWidth="fillBoth" />
         </case>
         <case
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index b0f6109..e0676e8 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -92,7 +92,7 @@
         latin:keyLabel=":-)"
         latin:keyOutputText=":-) "
         latin:keyLabelFlags="hasPopupHint|preserveCase"
-        latin:moreKeys="@string/more_keys_for_smiley" />
+        latin:moreKeys="!label/more_keys_for_smiley" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="!code/key_shortcut"
@@ -131,35 +131,35 @@
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_alpha_key"
+        latin:keyLabel="!label/label_to_alpha_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
+        latin:keyLabel="!label/label_to_more_symbol_for_tablet_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="@string/keylabel_for_popular_domain"
+        latin:keyLabel="!label/keylabel_for_popular_domain"
         latin:keyLabelFlags="fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="@string/keylabel_for_popular_domain"
-        latin:moreKeys="@string/more_keys_for_popular_domain" />
+        latin:keyOutputText="!label/keylabel_for_popular_domain"
+        latin:moreKeys="!label/more_keys_for_popular_domain" />
 </merge>
diff --git a/java/res/xml-sw600dp/keys_apostrophe_dash.xml b/java/res/xml-sw600dp/keys_apostrophe_dash.xml
index a53c1e4..faaae50 100644
--- a/java/res/xml-sw600dp/keys_apostrophe_dash.xml
+++ b/java/res/xml-sw600dp/keys_apostrophe_dash.xml
@@ -39,9 +39,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_apostrophe"
-                latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
-                latin:moreKeys="@string/more_keys_for_apostrophe"
+                latin:keyLabel="!label/keylabel_for_apostrophe"
+                latin:keyHintLabel="!label/keyhintlabel_for_apostrophe"
+                latin:moreKeys="!label/more_keys_for_apostrophe"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
@@ -54,9 +54,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_dash"
-                latin:keyHintLabel="@string/keyhintlabel_for_dash"
-                latin:moreKeys="@string/more_keys_for_dash"
+                latin:keyLabel="!label/keylabel_for_dash"
+                latin:keyHintLabel="!label/keyhintlabel_for_dash"
+                latin:moreKeys="!label/more_keys_for_dash"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
diff --git a/java/res/xml-sw600dp/keys_comma_period.xml b/java/res/xml-sw600dp/keys_comma_period.xml
index f5f307b..4a83cc8 100644
--- a/java/res/xml-sw600dp/keys_comma_period.xml
+++ b/java/res/xml-sw600dp/keys_comma_period.xml
@@ -32,14 +32,14 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_tablet_comma"
-                latin:keyHintLabel="@string/keyhintlabel_for_tablet_comma"
-                latin:moreKeys="@string/more_keys_for_tablet_comma"
+                latin:keyLabel="!label/keylabel_for_tablet_comma"
+                latin:keyHintLabel="!label/keyhintlabel_for_tablet_comma"
+                latin:moreKeys="!label/more_keys_for_tablet_comma"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
             <Key
                 latin:keyLabel="."
-                latin:keyHintLabel="@string/keyhintlabel_for_tablet_period"
-                latin:moreKeys="@string/more_keys_for_tablet_period"
+                latin:keyHintLabel="!label/keyhintlabel_for_tablet_period"
+                latin:moreKeys="!label/more_keys_for_tablet_period"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
index e0121a3..fd77416 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols2.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols2.xml
@@ -26,13 +26,13 @@
     <Key
         latin:keyStyle="currencyKeyStyle" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_percent"
-        latin:moreKeys="@string/more_keys_for_symbols_percent" />
+        latin:keyLabel="!label/keylabel_for_symbols_percent"
+        latin:moreKeys="!label/more_keys_for_symbols_percent" />
     <Key
         latin:keyLabel="&amp;" />
     <Key
         latin:keyLabel="*"
-        latin:moreKeys="@string/more_keys_for_star" />
+        latin:moreKeys="!label/more_keys_for_star" />
     <!-- U+2013: "–" EN DASH
          U+2014: "—" EM DASH -->
     <Key
@@ -40,7 +40,7 @@
         latin:moreKeys="_,&#x2013;,&#x2014;" />
     <Key
         latin:keyLabel="+"
-        latin:moreKeys="@string/more_keys_for_plus" />
+        latin:moreKeys="!label/more_keys_for_plus" />
     <include
         latin:keyboardLayout="@xml/keys_parentheses" />
 </merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols3.xml b/java/res/xml-sw600dp/rowkeys_symbols3.xml
index 9293352..536ac05 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols3.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols3.xml
@@ -41,11 +41,11 @@
         </default>
     </switch>
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_semicolon"
-        latin:moreKeys="@string/more_keys_for_symbols_semicolon" />
+        latin:keyLabel="!label/keylabel_for_symbols_semicolon"
+        latin:moreKeys="!label/more_keys_for_symbols_semicolon" />
     <Key
-        latin:keyLabel="@string/keylabel_for_comma"
-        latin:moreKeys="@string/more_keys_for_comma" />
+        latin:keyLabel="!label/keylabel_for_comma"
+        latin:moreKeys="!label/more_keys_for_comma" />
     <Key
         latin:keyLabel="." />
     <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK -->
@@ -53,6 +53,6 @@
         latin:keyLabel="!"
         latin:moreKeys="&#x00A1;" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_question"
-        latin:moreKeys="@string/more_keys_for_symbols_question" />
+        latin:keyLabel="!label/keylabel_for_symbols_question"
+        latin:moreKeys="!label/more_keys_for_symbols_question" />
 </merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
index 356ee2f..914a449 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
@@ -30,7 +30,7 @@
     <!-- U+2022: "•" BULLET -->
     <Key
         latin:keyLabel="&#x2022;"
-        latin:moreKeys="@string/more_keys_for_bullet" />
+        latin:moreKeys="!label/more_keys_for_bullet" />
     <!-- U+221A: "√" SQUARE ROOT -->
     <Key
         latin:keyLabel="&#x221A;" />
diff --git a/java/res/xml-sw600dp/rows_number_normal.xml b/java/res/xml-sw600dp/rows_number_normal.xml
index be5776b..00fda28 100644
--- a/java/res/xml-sw600dp/rows_number_normal.xml
+++ b/java/res/xml-sw600dp/rows_number_normal.xml
@@ -70,7 +70,7 @@
                 <Key
                     latin:keyLabel=","
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:moreKeys="@string/more_keys_for_am_pm"
+                    latin:moreKeys="!label/more_keys_for_am_pm"
                     latin:keyStyle="numKeyStyle"
                     latin:keyWidth="9.25%p" />
             </case>
diff --git a/java/res/xml-sw600dp/rows_symbols4.xml b/java/res/xml-sw600dp/rows_symbols4.xml
index bfc9b2c..afa2652 100644
--- a/java/res/xml-sw600dp/rows_symbols4.xml
+++ b/java/res/xml-sw600dp/rows_symbols4.xml
@@ -37,7 +37,7 @@
             latin:keyWidth="39.750%p" />
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="@string/more_keys_for_tablet_double_quote" />
+            latin:moreKeys="!label/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
         <Spacer