diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml
index 2114c67..f8cbdf6 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="!label/settings_as_more_key"
+                latin:moreKeys="!text/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 d2e523f..54ec548 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="!label/more_keys_for_smiley" />
+        latin:moreKeys="!text/more_keys_for_smiley" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="!code/key_shortcut"
@@ -130,32 +130,32 @@
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_symbol_key"
+        latin:keyLabel="!text/label_to_symbol_key"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_alpha_key"
+        latin:keyLabel="!text/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="!label/label_to_more_symbol_for_tablet_key"
+        latin:keyLabel="!text/label_to_more_symbol_for_tablet_key"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="!label/label_to_symbol_key"
+        latin:keyLabel="!text/label_to_symbol_key"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="!label/keylabel_for_popular_domain"
+        latin:keyLabel="!text/keylabel_for_popular_domain"
         latin:keyLabelFlags="fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="!label/keylabel_for_popular_domain"
-        latin:moreKeys="!label/more_keys_for_popular_domain" />
+        latin:keyOutputText="!text/keylabel_for_popular_domain"
+        latin:moreKeys="!text/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 faaae50..badc6e5 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="!label/keylabel_for_apostrophe"
-                latin:keyHintLabel="!label/keyhintlabel_for_apostrophe"
-                latin:moreKeys="!label/more_keys_for_apostrophe"
+                latin:keyLabel="!text/keylabel_for_apostrophe"
+                latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
+                latin:moreKeys="!text/more_keys_for_apostrophe"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
@@ -54,9 +54,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="!label/keylabel_for_dash"
-                latin:keyHintLabel="!label/keyhintlabel_for_dash"
-                latin:moreKeys="!label/more_keys_for_dash"
+                latin:keyLabel="!text/keylabel_for_dash"
+                latin:keyHintLabel="!text/keyhintlabel_for_dash"
+                latin:moreKeys="!text/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 4a83cc8..752f75b 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="!label/keylabel_for_tablet_comma"
-                latin:keyHintLabel="!label/keyhintlabel_for_tablet_comma"
-                latin:moreKeys="!label/more_keys_for_tablet_comma"
+                latin:keyLabel="!text/keylabel_for_tablet_comma"
+                latin:keyHintLabel="!text/keyhintlabel_for_tablet_comma"
+                latin:moreKeys="!text/more_keys_for_tablet_comma"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
             <Key
                 latin:keyLabel="."
-                latin:keyHintLabel="!label/keyhintlabel_for_tablet_period"
-                latin:moreKeys="!label/more_keys_for_tablet_period"
+                latin:keyHintLabel="!text/keyhintlabel_for_tablet_period"
+                latin:moreKeys="!text/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 fd77416..6fe8624 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="!label/keylabel_for_symbols_percent"
-        latin:moreKeys="!label/more_keys_for_symbols_percent" />
+        latin:keyLabel="!text/keylabel_for_symbols_percent"
+        latin:moreKeys="!text/more_keys_for_symbols_percent" />
     <Key
         latin:keyLabel="&amp;" />
     <Key
         latin:keyLabel="*"
-        latin:moreKeys="!label/more_keys_for_star" />
+        latin:moreKeys="!text/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="!label/more_keys_for_plus" />
+        latin:moreKeys="!text/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 536ac05..4eb9618 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="!label/keylabel_for_symbols_semicolon"
-        latin:moreKeys="!label/more_keys_for_symbols_semicolon" />
+        latin:keyLabel="!text/keylabel_for_symbols_semicolon"
+        latin:moreKeys="!text/more_keys_for_symbols_semicolon" />
     <Key
-        latin:keyLabel="!label/keylabel_for_comma"
-        latin:moreKeys="!label/more_keys_for_comma" />
+        latin:keyLabel="!text/keylabel_for_comma"
+        latin:moreKeys="!text/more_keys_for_comma" />
     <Key
         latin:keyLabel="." />
     <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK -->
@@ -53,6 +53,6 @@
         latin:keyLabel="!"
         latin:moreKeys="&#x00A1;" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_question"
-        latin:moreKeys="!label/more_keys_for_symbols_question" />
+        latin:keyLabel="!text/keylabel_for_symbols_question"
+        latin:moreKeys="!text/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 914a449..3549fdd 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="!label/more_keys_for_bullet" />
+        latin:moreKeys="!text/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 00fda28..3fda2aa 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="!label/more_keys_for_am_pm"
+                    latin:moreKeys="!text/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 afa2652..baa090c 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="!label/more_keys_for_tablet_double_quote" />
+            latin:moreKeys="!text/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
         <Spacer
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index f4cca30..6cb160b 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -91,7 +91,7 @@
         latin:keyLabel=":-)"
         latin:keyOutputText=":-) "
         latin:keyLabelFlags="hasPopupHint|preserveCase"
-        latin:moreKeys="!label/more_keys_for_smiley" />
+        latin:moreKeys="!text/more_keys_for_smiley" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="!code/key_shortcut"
@@ -113,7 +113,7 @@
             <key-style
                 latin:styleName="tabKeyStyle"
                 latin:code="!code/key_action_previous"
-                latin:keyLabel="!label/label_tab_key"
+                latin:keyLabel="!text/label_tab_key"
                 latin:keyLabelFlags="fontNormal|preserveCase"
                 latin:backgroundType="functional" />
         </case>
@@ -121,7 +121,7 @@
             <key-style
                 latin:styleName="tabKeyStyle"
                 latin:code="!code/key_tab"
-                latin:keyLabel="!label/label_tab_key"
+                latin:keyLabel="!text/label_tab_key"
                 latin:keyLabelFlags="fontNormal|preserveCase"
                 latin:backgroundType="functional" />
         </default>
@@ -129,35 +129,35 @@
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_symbol_key"
+        latin:keyLabel="!text/label_to_symbol_key"
         latin:keyLabelFlags="fontNormal"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_alpha_key"
+        latin:keyLabel="!text/label_to_alpha_key"
         latin:keyLabelFlags="fontNormal|preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="!label/label_to_more_symbol_for_tablet_key"
+        latin:keyLabel="!text/label_to_more_symbol_for_tablet_key"
         latin:keyLabelFlags="fontNormal"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="!label/label_to_symbol_key"
+        latin:keyLabel="!text/label_to_symbol_key"
         latin:keyLabelFlags="fontNormal"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="!label/keylabel_for_popular_domain"
+        latin:keyLabel="!text/keylabel_for_popular_domain"
         latin:keyLabelFlags="fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="!label/keylabel_for_popular_domain"
-        latin:moreKeys="!label/more_keys_for_popular_domain" />
+        latin:keyOutputText="!text/keylabel_for_popular_domain"
+        latin:moreKeys="!text/more_keys_for_popular_domain" />
 </merge>
diff --git a/java/res/xml-sw768dp/keys_apostrophe_dash.xml b/java/res/xml-sw768dp/keys_apostrophe_dash.xml
index faaae50..badc6e5 100644
--- a/java/res/xml-sw768dp/keys_apostrophe_dash.xml
+++ b/java/res/xml-sw768dp/keys_apostrophe_dash.xml
@@ -39,9 +39,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="!label/keylabel_for_apostrophe"
-                latin:keyHintLabel="!label/keyhintlabel_for_apostrophe"
-                latin:moreKeys="!label/more_keys_for_apostrophe"
+                latin:keyLabel="!text/keylabel_for_apostrophe"
+                latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
+                latin:moreKeys="!text/more_keys_for_apostrophe"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
@@ -54,9 +54,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="!label/keylabel_for_dash"
-                latin:keyHintLabel="!label/keyhintlabel_for_dash"
-                latin:moreKeys="!label/more_keys_for_dash"
+                latin:keyLabel="!text/keylabel_for_dash"
+                latin:keyHintLabel="!text/keyhintlabel_for_dash"
+                latin:moreKeys="!text/more_keys_for_dash"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
diff --git a/java/res/xml-sw768dp/rows_number_normal.xml b/java/res/xml-sw768dp/rows_number_normal.xml
index f868cbb..0d75a37 100644
--- a/java/res/xml-sw768dp/rows_number_normal.xml
+++ b/java/res/xml-sw768dp/rows_number_normal.xml
@@ -72,7 +72,7 @@
                 <Key
                     latin:keyLabel=","
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:moreKeys="!label/more_keys_for_am_pm"
+                    latin:moreKeys="!text/more_keys_for_am_pm"
                     latin:keyStyle="numKeyStyle"
                     latin:keyWidth="8.047%p" />
             </case>
diff --git a/java/res/xml-sw768dp/rows_symbols4.xml b/java/res/xml-sw768dp/rows_symbols4.xml
index dd1647b..ecb1259 100644
--- a/java/res/xml-sw768dp/rows_symbols4.xml
+++ b/java/res/xml-sw768dp/rows_symbols4.xml
@@ -37,7 +37,7 @@
             latin:keyWidth="37.500%p" />
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="!label/more_keys_for_tablet_double_quote" />
+            latin:moreKeys="!text/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
         <switch>
diff --git a/java/res/xml/key_azerty_quote.xml b/java/res/xml/key_azerty_quote.xml
index b8c51d3..65789ea 100644
--- a/java/res/xml/key_azerty_quote.xml
+++ b/java/res/xml/key_azerty_quote.xml
@@ -31,7 +31,7 @@
         <default>
             <Key
                 latin:keyLabel="\'"
-                latin:moreKeys="!label/more_keys_for_single_quote" />
+                latin:moreKeys="!text/more_keys_for_single_quote" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 35abb4f..4341b79 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -35,7 +35,7 @@
             <key-style
                 latin:styleName="f1MoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!label/settings_as_more_key"
+                latin:moreKeys="!text/settings_as_more_key"
                 latin:backgroundType="functional" />
         </default>
     </switch>
@@ -98,7 +98,7 @@
                 latin:keyLabel=":-)"
                 latin:keyOutputText=":-) "
                 latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!label/more_keys_for_smiley"
+                latin:moreKeys="!text/more_keys_for_smiley"
                 latin:backgroundType="functional" />
         </case>
     </switch>
@@ -157,7 +157,7 @@
                 latin:styleName="toSymbolKeyStyle"
                 latin:code="!code/key_switch_alpha_symbol"
                 latin:keyIcon="!icon/shortcut_for_label"
-                latin:keyLabel="!label/label_to_symbol_with_microphone_key"
+                latin:keyLabel="!text/label_to_symbol_with_microphone_key"
                 latin:keyLabelFlags="withIconRight"
                 latin:keyActionFlags="noKeyPreview"
                 latin:backgroundType="functional" />
@@ -166,7 +166,7 @@
             <key-style
                 latin:styleName="toSymbolKeyStyle"
                 latin:code="!code/key_switch_alpha_symbol"
-                latin:keyLabel="!label/label_to_symbol_key"
+                latin:keyLabel="!text/label_to_symbol_key"
                 latin:keyActionFlags="noKeyPreview"
                 latin:backgroundType="functional" />
         </default>
@@ -174,27 +174,27 @@
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_alpha_key"
+        latin:keyLabel="!text/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="!label/label_to_more_symbol_key"
+        latin:keyLabel="!text/label_to_more_symbol_key"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="!label/label_to_symbol_key"
+        latin:keyLabel="!text/label_to_symbol_key"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="punctuationKeyStyle"
         latin:keyLabel="."
-        latin:keyHintLabel="!label/keyhintlabel_for_punctuation"
+        latin:keyHintLabel="!text/keyhintlabel_for_punctuation"
         latin:keyLabelFlags="hasPopupHint"
-        latin:moreKeys="!label/more_keys_for_punctuation"
+        latin:moreKeys="!text/more_keys_for_punctuation"
         latin:backgroundType="functional" />
 </merge>
diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml
index 6057d5b..d5c6a87 100644
--- a/java/res/xml/key_styles_currency.xml
+++ b/java/res/xml/key_styles_currency.xml
@@ -86,7 +86,7 @@
             <key-style
                 latin:styleName="currencyKeyStyle"
                 latin:keyLabel="&#x20AA;"
-                latin:moreKeys="!label/more_keys_for_currency_general" />
+                latin:moreKeys="!text/more_keys_for_currency_general" />
             <key-style
                 latin:styleName="moreCurrency1KeyStyle"
                 latin:keyLabel="&#x00A3;" />
@@ -112,7 +112,7 @@
             <key-style
                 latin:styleName="currencyKeyStyle"
                 latin:keyLabel="&#xFDFC;"
-                latin:moreKeys="!label/more_keys_for_currency_general" />
+                latin:moreKeys="!text/more_keys_for_currency_general" />
             <key-style
                 latin:styleName="moreCurrency1KeyStyle"
                 latin:keyLabel="£" />
@@ -138,7 +138,7 @@
             <key-style
                 latin:styleName="currencyKeyStyle"
                 latin:keyLabel="&#x00A3;"
-                latin:moreKeys="!label/more_keys_for_currency_pound" />
+                latin:moreKeys="!text/more_keys_for_currency_pound" />
             <key-style
                 latin:styleName="moreCurrency1KeyStyle"
                 latin:keyLabel="&#x20AC;" />
diff --git a/java/res/xml/key_styles_currency_dollar.xml b/java/res/xml/key_styles_currency_dollar.xml
index 704970a..674a396 100644
--- a/java/res/xml/key_styles_currency_dollar.xml
+++ b/java/res/xml/key_styles_currency_dollar.xml
@@ -26,7 +26,7 @@
     <key-style
         latin:styleName="currencyKeyStyle"
         latin:keyLabel="$"
-        latin:moreKeys="!label/more_keys_for_currency_dollar" />
+        latin:moreKeys="!text/more_keys_for_currency_dollar" />
     <key-style
         latin:styleName="moreCurrency1KeyStyle"
         latin:keyLabel="&#x00A3;" />
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index 88777dc..be5be1b 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -30,7 +30,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!label/action_previous_as_more_key" />
+                latin:moreKeys="!text/action_previous_as_more_key" />
         </case>
         <case
             latin:imeAction="actionNext"
@@ -46,7 +46,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!label/action_next_as_more_key" />
+                latin:moreKeys="!text/action_next_as_more_key" />
         </case>
         <case
             latin:imeAction="actionPrevious"
@@ -63,7 +63,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!label/action_previous_as_more_key,!label/action_next_as_more_key" />
+                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/action_previous_as_more_key,!text/action_next_as_more_key" />
         </case>
         <case
             latin:navigateNext="true"
@@ -72,7 +72,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!label/action_next_as_more_key" />
+                latin:moreKeys="!text/action_next_as_more_key" />
         </case>
         <case
             latin:navigateNext="false"
@@ -81,7 +81,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!label/action_previous_as_more_key" />
+                latin:moreKeys="!text/action_previous_as_more_key" />
         </case>
         <!-- naviagteNext="false" and navigatePrevious="false" -->
         <default>
@@ -119,7 +119,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="!label/label_go_key"
+                latin:keyLabel="!text/label_go_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -127,7 +127,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="!label/label_next_key"
+                latin:keyLabel="!text/label_next_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -135,7 +135,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="!label/label_previous_key"
+                latin:keyLabel="!text/label_previous_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -143,7 +143,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="!label/label_done_key"
+                latin:keyLabel="!text/label_done_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -151,7 +151,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="!label/label_send_key"
+                latin:keyLabel="!text/label_send_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml
index 1b02921..b8301bc 100644
--- a/java/res/xml/key_styles_number.xml
+++ b/java/res/xml/key_styles_number.xml
@@ -100,25 +100,25 @@
     <key-style
         latin:styleName="numPhoneToSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_phone_symbols_key"
+        latin:keyLabel="!text/label_to_phone_symbols_key"
         latin:parentStyle="numModeKeyStyle" />
     <key-style
         latin:styleName="numPhoneToNumericKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="!label/label_to_phone_numeric_key"
+        latin:keyLabel="!text/label_to_phone_numeric_key"
         latin:parentStyle="numModeKeyStyle" />
     <!-- U+002C: "," COMMA -->
     <key-style
         latin:styleName="numPauseKeyStyle"
         latin:code="0x002C"
-        latin:keyLabel="!label/label_pause_key"
+        latin:keyLabel="!text/label_pause_key"
         latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
         latin:parentStyle="numKeyBaseStyle" />
     <!-- U+003B: ";" SEMICOLON -->
     <key-style
         latin:styleName="numWaitKeyStyle"
         latin:code="0x003B"
-        latin:keyLabel="!label/label_wait_key"
+        latin:keyLabel="!text/label_wait_key"
         latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
         latin:parentStyle="numKeyBaseStyle" />
     <key-style
diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/keys_less_greater.xml
index 7c154cb..4584e5c 100644
--- a/java/res/xml/keys_less_greater.xml
+++ b/java/res/xml/keys_less_greater.xml
@@ -24,9 +24,9 @@
     <Key
         latin:keyLabel="&lt;"
         latin:code="!code/key_less_than"
-        latin:moreKeys="!label/more_keys_for_less_than" />
+        latin:moreKeys="!text/more_keys_for_less_than" />
     <Key
         latin:keyLabel="&gt;"
         latin:code="!code/key_greater_than"
-        latin:moreKeys="!label/more_keys_for_greater_than" />
+        latin:moreKeys="!text/more_keys_for_greater_than" />
 </merge>
diff --git a/java/res/xml/keys_parentheses.xml b/java/res/xml/keys_parentheses.xml
index 17d7285..25e89c9 100644
--- a/java/res/xml/keys_parentheses.xml
+++ b/java/res/xml/keys_parentheses.xml
@@ -24,9 +24,9 @@
     <Key
         latin:keyLabel="("
         latin:code="!code/key_left_parenthesis"
-        latin:moreKeys="!label/more_keys_for_left_parenthesis" />
+        latin:moreKeys="!text/more_keys_for_left_parenthesis" />
     <Key
         latin:keyLabel=")"
         latin:code="!code/key_right_parenthesis"
-        latin:moreKeys="!label/more_keys_for_right_parenthesis" />
+        latin:moreKeys="!text/more_keys_for_right_parenthesis" />
 </merge>
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
index c085180..343e3ee 100644
--- a/java/res/xml/row_qwerty4.xml
+++ b/java/res/xml/row_qwerty4.xml
@@ -51,9 +51,9 @@
             <!-- latin:hasShortcutKey="false" -->
             <default>
                 <Key
-                    latin:keyLabel="!label/keylabel_for_comma"
+                    latin:keyLabel="!text/keylabel_for_comma"
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:additionalMoreKeys="!label/more_keys_for_comma"
+                    latin:additionalMoreKeys="!text/more_keys_for_comma"
                     latin:keyStyle="f1MoreKeysStyle" />
             </default>
         </switch>
diff --git a/java/res/xml/rowkeys_azerty1.xml b/java/res/xml/rowkeys_azerty1.xml
index 50a0162..42b2746 100644
--- a/java/res/xml/rowkeys_azerty1.xml
+++ b/java/res/xml/rowkeys_azerty1.xml
@@ -25,47 +25,47 @@
         latin:keyLabel="a"
         latin:keyHintLabel="1"
         latin:additionalMoreKeys="1"
-        latin:moreKeys="!label/more_keys_for_a" />
+        latin:moreKeys="!text/more_keys_for_a" />
     <Key
         latin:keyLabel="z"
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2"
-        latin:moreKeys="!label/more_keys_for_z" />
+        latin:moreKeys="!text/more_keys_for_z" />
     <Key
         latin:keyLabel="e"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="!label/more_keys_for_e" />
+        latin:moreKeys="!text/more_keys_for_e" />
     <Key
         latin:keyLabel="r"
         latin:keyHintLabel="4"
         latin:additionalMoreKeys="4"
-        latin:moreKeys="!label/more_keys_for_r" />
+        latin:moreKeys="!text/more_keys_for_r" />
     <Key
         latin:keyLabel="t"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="!label/more_keys_for_t" />
+        latin:moreKeys="!text/more_keys_for_t" />
     <Key
         latin:keyLabel="y"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="!label/more_keys_for_y" />
+        latin:moreKeys="!text/more_keys_for_y" />
     <Key
         latin:keyLabel="u"
         latin:keyHintLabel="7"
         latin:additionalMoreKeys="7"
-        latin:moreKeys="!label/more_keys_for_u" />
+        latin:moreKeys="!text/more_keys_for_u" />
     <Key
         latin:keyLabel="i"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="!label/more_keys_for_i" />
+        latin:moreKeys="!text/more_keys_for_i" />
     <Key
         latin:keyLabel="o"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9"
-        latin:moreKeys="!label/more_keys_for_o" />
+        latin:moreKeys="!text/more_keys_for_o" />
     <Key
         latin:keyLabel="p"
         latin:keyHintLabel="0"
diff --git a/java/res/xml/rowkeys_azerty2.xml b/java/res/xml/rowkeys_azerty2.xml
index f453c24..2eee214 100644
--- a/java/res/xml/rowkeys_azerty2.xml
+++ b/java/res/xml/rowkeys_azerty2.xml
@@ -25,27 +25,27 @@
         latin:keyLabel="q" />
     <Key
         latin:keyLabel="s"
-        latin:moreKeys="!label/more_keys_for_s" />
+        latin:moreKeys="!text/more_keys_for_s" />
     <Key
         latin:keyLabel="d"
-        latin:moreKeys="!label/more_keys_for_d" />
+        latin:moreKeys="!text/more_keys_for_d" />
     <Key
         latin:keyLabel="f" />
     <Key
         latin:keyLabel="g"
-        latin:moreKeys="!label/more_keys_for_g" />
+        latin:moreKeys="!text/more_keys_for_g" />
     <Key
         latin:keyLabel="h"
-        latin:moreKeys="!label/more_keys_for_h" />
+        latin:moreKeys="!text/more_keys_for_h" />
     <Key
         latin:keyLabel="j"
-        latin:moreKeys="!label/more_keys_for_j" />
+        latin:moreKeys="!text/more_keys_for_j" />
     <Key
         latin:keyLabel="k"
-        latin:moreKeys="!label/more_keys_for_k" />
+        latin:moreKeys="!text/more_keys_for_k" />
     <Key
         latin:keyLabel="l"
-        latin:moreKeys="!label/more_keys_for_l" />
+        latin:moreKeys="!text/more_keys_for_l" />
     <Key
         latin:keyLabel="m" />
 </merge>
diff --git a/java/res/xml/rowkeys_azerty3.xml b/java/res/xml/rowkeys_azerty3.xml
index 35e9b19..9f4c608 100644
--- a/java/res/xml/rowkeys_azerty3.xml
+++ b/java/res/xml/rowkeys_azerty3.xml
@@ -23,20 +23,20 @@
 >
     <Key
         latin:keyLabel="w"
-        latin:moreKeys="!label/more_keys_for_w" />
+        latin:moreKeys="!text/more_keys_for_w" />
     <Key
         latin:keyLabel="x" />
     <Key
         latin:keyLabel="c"
-        latin:moreKeys="!label/more_keys_for_c" />
+        latin:moreKeys="!text/more_keys_for_c" />
     <Key
         latin:keyLabel="v"
-        latin:moreKeys="!label/more_keys_for_v" />
+        latin:moreKeys="!text/more_keys_for_v" />
     <Key
         latin:keyLabel="b" />
     <Key
         latin:keyLabel="n"
-        latin:moreKeys="!label/more_keys_for_n" />
+        latin:moreKeys="!text/more_keys_for_n" />
     <include
         latin:keyboardLayout="@xml/key_azerty_quote" />
 </merge>
diff --git a/java/res/xml/rowkeys_east_slavic1.xml b/java/res/xml/rowkeys_east_slavic1.xml
index dd83c02..00cb6a9 100644
--- a/java/res/xml/rowkeys_east_slavic1.xml
+++ b/java/res/xml/rowkeys_east_slavic1.xml
@@ -36,7 +36,7 @@
         latin:keyLabel="&#x0443;"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="!label/more_keys_for_cyrillic_u" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_u" />
     <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
     <Key
         latin:keyLabel="&#x043A;"
@@ -47,13 +47,13 @@
         latin:keyLabel="&#x0435;"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="!label/more_keys_for_cyrillic_ye" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_ye" />
     <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
     <Key
         latin:keyLabel="&#x043D;"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="!label/more_keys_for_cyrillic_en" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_en" />
     <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
     <Key
         latin:keyLabel="&#x0433;"
@@ -65,7 +65,7 @@
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8" />
     <Key
-        latin:keyLabel="!label/keylabel_for_east_slavic_row1_9"
+        latin:keyLabel="!text/keylabel_for_east_slavic_row1_9"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9" />
     <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
@@ -76,5 +76,5 @@
     <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
     <Key
         latin:keyLabel="&#x0445;"
-        latin:moreKeys="!label/more_keys_for_cyrillic_ha" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_ha" />
 </merge>
diff --git a/java/res/xml/rowkeys_east_slavic2.xml b/java/res/xml/rowkeys_east_slavic2.xml
index 75d7d93..c635af2 100644
--- a/java/res/xml/rowkeys_east_slavic2.xml
+++ b/java/res/xml/rowkeys_east_slavic2.xml
@@ -25,8 +25,8 @@
     <Key
         latin:keyLabel="&#x0444;" />
     <Key
-        latin:keyLabel="!label/keylabel_for_east_slavic_row2_1"
-        latin:moreKeys="!label/more_keys_for_east_slavic_row2_1" />
+        latin:keyLabel="!text/keylabel_for_east_slavic_row2_1"
+        latin:moreKeys="!text/more_keys_for_east_slavic_row2_1" />
     <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
     <Key
         latin:keyLabel="&#x0432;" />
@@ -42,7 +42,7 @@
     <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
     <Key
         latin:keyLabel="&#x043E;"
-        latin:moreKeys="!label/more_keys_for_cyrillic_o" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_o" />
     <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
     <Key
         latin:keyLabel="&#x043B;" />
diff --git a/java/res/xml/rowkeys_east_slavic3.xml b/java/res/xml/rowkeys_east_slavic3.xml
index a05e92d..c3a171b 100644
--- a/java/res/xml/rowkeys_east_slavic3.xml
+++ b/java/res/xml/rowkeys_east_slavic3.xml
@@ -34,14 +34,14 @@
     <Key
         latin:keyLabel="&#x043C;" />
     <Key
-        latin:keyLabel="!label/keylabel_for_east_slavic_row3_5" />
+        latin:keyLabel="!text/keylabel_for_east_slavic_row3_5" />
     <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
     <Key
         latin:keyLabel="&#x0442;" />
     <!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
     <Key
         latin:keyLabel="&#x044C;"
-        latin:moreKeys="!label/more_keys_for_cyrillic_soft_sign" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_soft_sign" />
     <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
     <Key
         latin:keyLabel="&#x0431;" />
diff --git a/java/res/xml/rowkeys_nordic1.xml b/java/res/xml/rowkeys_nordic1.xml
index ff29369..72ac86b 100644
--- a/java/res/xml/rowkeys_nordic1.xml
+++ b/java/res/xml/rowkeys_nordic1.xml
@@ -24,5 +24,5 @@
     <include
         latin:keyboardLayout="@xml/rowkeys_qwerty1" />
     <Key
-        latin:keyLabel="!label/keylabel_for_nordic_row1_11" />
+        latin:keyLabel="!text/keylabel_for_nordic_row1_11" />
 </merge>
diff --git a/java/res/xml/rowkeys_nordic2.xml b/java/res/xml/rowkeys_nordic2.xml
index 52bb2f1..836214a 100644
--- a/java/res/xml/rowkeys_nordic2.xml
+++ b/java/res/xml/rowkeys_nordic2.xml
@@ -24,9 +24,9 @@
     <include
         latin:keyboardLayout="@xml/rowkeys_qwerty2" />
     <Key
-        latin:keyLabel="!label/keylabel_for_nordic_row2_10"
-        latin:moreKeys="!label/more_keys_for_nordic_row2_10" />
+        latin:keyLabel="!text/keylabel_for_nordic_row2_10"
+        latin:moreKeys="!text/more_keys_for_nordic_row2_10" />
     <Key
-        latin:keyLabel="!label/keylabel_for_nordic_row2_11"
-        latin:moreKeys="!label/more_keys_for_nordic_row2_11" />
+        latin:keyLabel="!text/keylabel_for_nordic_row2_11"
+        latin:moreKeys="!text/more_keys_for_nordic_row2_11" />
 </merge>
diff --git a/java/res/xml/rowkeys_qwerty1.xml b/java/res/xml/rowkeys_qwerty1.xml
index 8fb60db..84d6134 100644
--- a/java/res/xml/rowkeys_qwerty1.xml
+++ b/java/res/xml/rowkeys_qwerty1.xml
@@ -29,42 +29,42 @@
         latin:keyLabel="w"
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2"
-        latin:moreKeys="!label/more_keys_for_w" />
+        latin:moreKeys="!text/more_keys_for_w" />
     <Key
         latin:keyLabel="e"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="!label/more_keys_for_e" />
+        latin:moreKeys="!text/more_keys_for_e" />
     <Key
         latin:keyLabel="r"
         latin:keyHintLabel="4"
         latin:additionalMoreKeys="4"
-        latin:moreKeys="!label/more_keys_for_r" />
+        latin:moreKeys="!text/more_keys_for_r" />
     <Key
         latin:keyLabel="t"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="!label/more_keys_for_t" />
+        latin:moreKeys="!text/more_keys_for_t" />
     <Key
         latin:keyLabel="y"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="!label/more_keys_for_y" />
+        latin:moreKeys="!text/more_keys_for_y" />
     <Key
         latin:keyLabel="u"
         latin:keyHintLabel="7"
         latin:additionalMoreKeys="7"
-        latin:moreKeys="!label/more_keys_for_u" />
+        latin:moreKeys="!text/more_keys_for_u" />
     <Key
         latin:keyLabel="i"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="!label/more_keys_for_i" />
+        latin:moreKeys="!text/more_keys_for_i" />
     <Key
         latin:keyLabel="o"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9"
-        latin:moreKeys="!label/more_keys_for_o" />
+        latin:moreKeys="!text/more_keys_for_o" />
     <Key
         latin:keyLabel="p"
         latin:keyHintLabel="0"
diff --git a/java/res/xml/rowkeys_qwerty2.xml b/java/res/xml/rowkeys_qwerty2.xml
index a29f331..d9777d9 100644
--- a/java/res/xml/rowkeys_qwerty2.xml
+++ b/java/res/xml/rowkeys_qwerty2.xml
@@ -23,28 +23,28 @@
 >
     <Key
         latin:keyLabel="a"
-        latin:moreKeys="!label/more_keys_for_a" />
+        latin:moreKeys="!text/more_keys_for_a" />
     <Key
         latin:keyLabel="s"
-        latin:moreKeys="!label/more_keys_for_s" />
+        latin:moreKeys="!text/more_keys_for_s" />
     <Key
         latin:keyLabel="d"
-        latin:moreKeys="!label/more_keys_for_d" />
+        latin:moreKeys="!text/more_keys_for_d" />
     <Key
         latin:keyLabel="f" />
     <Key
         latin:keyLabel="g"
-        latin:moreKeys="!label/more_keys_for_g" />
+        latin:moreKeys="!text/more_keys_for_g" />
     <Key
         latin:keyLabel="h"
-        latin:moreKeys="!label/more_keys_for_h" />
+        latin:moreKeys="!text/more_keys_for_h" />
     <Key
         latin:keyLabel="j"
-        latin:moreKeys="!label/more_keys_for_j" />
+        latin:moreKeys="!text/more_keys_for_j" />
     <Key
         latin:keyLabel="k"
-        latin:moreKeys="!label/more_keys_for_k" />
+        latin:moreKeys="!text/more_keys_for_k" />
     <Key
         latin:keyLabel="l"
-        latin:moreKeys="!label/more_keys_for_l" />
+        latin:moreKeys="!text/more_keys_for_l" />
 </merge>
diff --git a/java/res/xml/rowkeys_qwerty3.xml b/java/res/xml/rowkeys_qwerty3.xml
index afe43f6..a74aeb8 100644
--- a/java/res/xml/rowkeys_qwerty3.xml
+++ b/java/res/xml/rowkeys_qwerty3.xml
@@ -23,20 +23,20 @@
 >
     <Key
         latin:keyLabel="z"
-        latin:moreKeys="!label/more_keys_for_z" />
+        latin:moreKeys="!text/more_keys_for_z" />
     <Key
         latin:keyLabel="x" />
     <Key
         latin:keyLabel="c"
-        latin:moreKeys="!label/more_keys_for_c" />
+        latin:moreKeys="!text/more_keys_for_c" />
     <Key
         latin:keyLabel="v"
-        latin:moreKeys="!label/more_keys_for_v" />
+        latin:moreKeys="!text/more_keys_for_v" />
     <Key
         latin:keyLabel="b" />
     <Key
         latin:keyLabel="n"
-        latin:moreKeys="!label/more_keys_for_n" />
+        latin:moreKeys="!text/more_keys_for_n" />
     <Key
         latin:keyLabel="m" />
 </merge>
diff --git a/java/res/xml/rowkeys_qwertz1.xml b/java/res/xml/rowkeys_qwertz1.xml
index 1278896..d87f03d 100644
--- a/java/res/xml/rowkeys_qwertz1.xml
+++ b/java/res/xml/rowkeys_qwertz1.xml
@@ -29,42 +29,42 @@
         latin:keyLabel="w"
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2"
-        latin:moreKeys="!label/more_keys_for_w" />
+        latin:moreKeys="!text/more_keys_for_w" />
     <Key
         latin:keyLabel="e"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="!label/more_keys_for_e" />
+        latin:moreKeys="!text/more_keys_for_e" />
     <Key
         latin:keyLabel="r"
         latin:keyHintLabel="4"
         latin:additionalMoreKeys="4"
-        latin:moreKeys="!label/more_keys_for_r" />
+        latin:moreKeys="!text/more_keys_for_r" />
     <Key
         latin:keyLabel="t"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="!label/more_keys_for_t" />
+        latin:moreKeys="!text/more_keys_for_t" />
     <Key
         latin:keyLabel="z"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="!label/more_keys_for_z" />
+        latin:moreKeys="!text/more_keys_for_z" />
      <Key
         latin:keyLabel="u"
         latin:keyHintLabel="7"
         latin:additionalMoreKeys="7"
-        latin:moreKeys="!label/more_keys_for_u" />
+        latin:moreKeys="!text/more_keys_for_u" />
     <Key
         latin:keyLabel="i"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="!label/more_keys_for_i" />
+        latin:moreKeys="!text/more_keys_for_i" />
     <Key
         latin:keyLabel="o"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9"
-        latin:moreKeys="!label/more_keys_for_o" />
+        latin:moreKeys="!text/more_keys_for_o" />
     <Key
         latin:keyLabel="p"
         latin:keyHintLabel="0"
diff --git a/java/res/xml/rowkeys_qwertz3.xml b/java/res/xml/rowkeys_qwertz3.xml
index e969665..9e39fe0 100644
--- a/java/res/xml/rowkeys_qwertz3.xml
+++ b/java/res/xml/rowkeys_qwertz3.xml
@@ -23,20 +23,20 @@
 >
     <Key
         latin:keyLabel="y"
-        latin:moreKeys="!label/more_keys_for_y" />
+        latin:moreKeys="!text/more_keys_for_y" />
     <Key
         latin:keyLabel="x" />
     <Key
         latin:keyLabel="c"
-        latin:moreKeys="!label/more_keys_for_c" />
+        latin:moreKeys="!text/more_keys_for_c" />
     <Key
         latin:keyLabel="v"
-        latin:moreKeys="!label/more_keys_for_v" />
+        latin:moreKeys="!text/more_keys_for_v" />
     <Key
         latin:keyLabel="b" />
     <Key
         latin:keyLabel="n"
-        latin:moreKeys="!label/more_keys_for_n" />
+        latin:moreKeys="!text/more_keys_for_n" />
     <Key
         latin:keyLabel="m" />
 </merge>
diff --git a/java/res/xml/rowkeys_south_slavic1.xml b/java/res/xml/rowkeys_south_slavic1.xml
index 7c9a3bc..6117d46 100644
--- a/java/res/xml/rowkeys_south_slavic1.xml
+++ b/java/res/xml/rowkeys_south_slavic1.xml
@@ -36,7 +36,7 @@
         latin:keyLabel="&#x0435;"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="!label/more_keys_for_cyrillic_ie" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_ie" />
     <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
     <Key
         latin:keyLabel="&#x0440;"
@@ -48,7 +48,7 @@
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5" />
     <Key
-        latin:keyLabel="!label/keylabel_for_south_slavic_row1_6"
+        latin:keyLabel="!text/keylabel_for_south_slavic_row1_6"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6" />
     <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
@@ -61,7 +61,7 @@
         latin:keyLabel="&#x0438;"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="!label/more_keys_for_cyrillic_i" />
+        latin:moreKeys="!text/more_keys_for_cyrillic_i" />
     <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
     <Key
         latin:keyLabel="&#x043E;"
diff --git a/java/res/xml/rowkeys_south_slavic2.xml b/java/res/xml/rowkeys_south_slavic2.xml
index e489208..88e8940 100644
--- a/java/res/xml/rowkeys_south_slavic2.xml
+++ b/java/res/xml/rowkeys_south_slavic2.xml
@@ -52,5 +52,5 @@
     <Key
         latin:keyLabel="&#x0447;" />
     <Key
-        latin:keyLabel="!label/keylabel_for_south_slavic_row2_11" />
+        latin:keyLabel="!text/keylabel_for_south_slavic_row2_11" />
 </merge>
diff --git a/java/res/xml/rowkeys_south_slavic3.xml b/java/res/xml/rowkeys_south_slavic3.xml
index d668ddf..b015509 100644
--- a/java/res/xml/rowkeys_south_slavic3.xml
+++ b/java/res/xml/rowkeys_south_slavic3.xml
@@ -22,7 +22,7 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <Key
-        latin:keyLabel="!label/keylabel_for_south_slavic_row3_1" />
+        latin:keyLabel="!text/keylabel_for_south_slavic_row3_1" />
     <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
     <Key
         latin:keyLabel="&#x045F;" />
@@ -42,7 +42,7 @@
     <Key
         latin:keyLabel="&#x043C;" />
     <Key
-        latin:keyLabel="!label/keylabel_for_south_slavic_row3_8" />
+        latin:keyLabel="!text/keylabel_for_south_slavic_row3_8" />
     <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
     <Key
         latin:keyLabel="&#x0436;" />
diff --git a/java/res/xml/rowkeys_symbols1.xml b/java/res/xml/rowkeys_symbols1.xml
index f9f8bb1..6e2f92d 100644
--- a/java/res/xml/rowkeys_symbols1.xml
+++ b/java/res/xml/rowkeys_symbols1.xml
@@ -22,43 +22,43 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_1"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_1"
-        latin:moreKeys="!label/more_keys_for_symbols_1" />
+        latin:keyLabel="!text/keylabel_for_symbols_1"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_1"
+        latin:moreKeys="!text/more_keys_for_symbols_1" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_2"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_2"
-        latin:moreKeys="!label/more_keys_for_symbols_2" />
+        latin:keyLabel="!text/keylabel_for_symbols_2"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_2"
+        latin:moreKeys="!text/more_keys_for_symbols_2" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_3"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_3"
-        latin:moreKeys="!label/more_keys_for_symbols_3" />
+        latin:keyLabel="!text/keylabel_for_symbols_3"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_3"
+        latin:moreKeys="!text/more_keys_for_symbols_3" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_4"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_4"
-        latin:moreKeys="!label/more_keys_for_symbols_4" />
+        latin:keyLabel="!text/keylabel_for_symbols_4"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_4"
+        latin:moreKeys="!text/more_keys_for_symbols_4" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_5"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_5"
-        latin:moreKeys="!label/more_keys_for_symbols_5" />
+        latin:keyLabel="!text/keylabel_for_symbols_5"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_5"
+        latin:moreKeys="!text/more_keys_for_symbols_5" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_6"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_6"
-        latin:moreKeys="!label/more_keys_for_symbols_6" />
+        latin:keyLabel="!text/keylabel_for_symbols_6"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_6"
+        latin:moreKeys="!text/more_keys_for_symbols_6" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_7"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_7"
-        latin:moreKeys="!label/more_keys_for_symbols_7" />
+        latin:keyLabel="!text/keylabel_for_symbols_7"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_7"
+        latin:moreKeys="!text/more_keys_for_symbols_7" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_8"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_8"
-        latin:moreKeys="!label/more_keys_for_symbols_8" />
+        latin:keyLabel="!text/keylabel_for_symbols_8"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_8"
+        latin:moreKeys="!text/more_keys_for_symbols_8" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_9"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_9"
-        latin:moreKeys="!label/more_keys_for_symbols_9" />
+        latin:keyLabel="!text/keylabel_for_symbols_9"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_9"
+        latin:moreKeys="!text/more_keys_for_symbols_9" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_0"
-        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_0"
-        latin:moreKeys="!label/more_keys_for_symbols_0" />
+        latin:keyLabel="!text/keylabel_for_symbols_0"
+        latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_0"
+        latin:moreKeys="!text/more_keys_for_symbols_0" />
 </merge>
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 47865a9..34b9aa2 100644
--- a/java/res/xml/rowkeys_symbols2.xml
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -28,13 +28,13 @@
     <Key
         latin:keyStyle="currencyKeyStyle" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_percent"
-        latin:moreKeys="!label/more_keys_for_symbols_percent" />
+        latin:keyLabel="!text/keylabel_for_symbols_percent"
+        latin:moreKeys="!text/more_keys_for_symbols_percent" />
     <Key
         latin:keyLabel="&amp;" />
     <Key
         latin:keyLabel="*"
-        latin:moreKeys="!label/more_keys_for_star" />
+        latin:moreKeys="!text/more_keys_for_star" />
     <!-- U+2013: "–" EN DASH
          U+2014: "—" EM DASH -->
     <Key
@@ -42,7 +42,7 @@
         latin:moreKeys="_,&#x2013;,&#x2014;" />
     <Key
         latin:keyLabel="+"
-        latin:moreKeys="!label/more_keys_for_plus" />
+        latin:moreKeys="!text/more_keys_for_plus" />
     <include
         latin:keyboardLayout="@xml/keys_parentheses" />
 </merge>
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
index 4cef6b2..294e94d 100644
--- a/java/res/xml/rowkeys_symbols3.xml
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -31,20 +31,20 @@
         latin:moreKeys="&#x00A1;" />
     <Key
         latin:keyLabel="&quot;"
-        latin:moreKeys="!label/more_keys_for_double_quote" />
+        latin:moreKeys="!text/more_keys_for_double_quote" />
     <Key
         latin:keyLabel="\'"
-        latin:moreKeys="!label/more_keys_for_single_quote" />
+        latin:moreKeys="!text/more_keys_for_single_quote" />
     <Key
         latin:keyLabel=":" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_semicolon"
-        latin:moreKeys="!label/more_keys_for_symbols_semicolon" />
+        latin:keyLabel="!text/keylabel_for_symbols_semicolon"
+        latin:moreKeys="!text/more_keys_for_symbols_semicolon" />
     <Key
         latin:keyLabel="/" />
     <Key
-        latin:keyLabel="!label/keylabel_for_symbols_question"
-        latin:moreKeys="!label/more_keys_for_symbols_question" />
+        latin:keyLabel="!text/keylabel_for_symbols_question"
+        latin:moreKeys="!text/more_keys_for_symbols_question" />
     <Key
         latin:keyStyle="deleteKeyStyle"
         latin:keyWidth="fillRight"
diff --git a/java/res/xml/rowkeys_symbols_shift1.xml b/java/res/xml/rowkeys_symbols_shift1.xml
index af3e87e..199e449 100644
--- a/java/res/xml/rowkeys_symbols_shift1.xml
+++ b/java/res/xml/rowkeys_symbols_shift1.xml
@@ -30,7 +30,7 @@
     <!-- U+2022: "•" BULLET -->
     <Key
         latin:keyLabel="&#x2022;"
-        latin:moreKeys="!label/more_keys_for_bullet" />
+        latin:moreKeys="!text/more_keys_for_bullet" />
     <!-- U+221A: "√" SQUARE ROOT -->
     <Key
         latin:keyLabel="&#x221A;" />
diff --git a/java/res/xml/rows_number_normal.xml b/java/res/xml/rows_number_normal.xml
index 7015bb2..28bd7a1 100644
--- a/java/res/xml/rows_number_normal.xml
+++ b/java/res/xml/rows_number_normal.xml
@@ -61,7 +61,7 @@
                 <Key
                     latin:keyLabel="."
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:moreKeys="!label/more_keys_for_am_pm"
+                    latin:moreKeys="!text/more_keys_for_am_pm"
                     latin:keyStyle="numFunctionalKeyStyle"
                     latin:keyWidth="fillRight" />
             </case>
diff --git a/java/res/xml/rows_symbols4.xml b/java/res/xml/rows_symbols4.xml
index de7e043..3ff8846 100644
--- a/java/res/xml/rows_symbols4.xml
+++ b/java/res/xml/rows_symbols4.xml
@@ -37,9 +37,9 @@
             <!-- latin:hasShortcutKey="false" -->
             <default>
                 <Key
-                    latin:keyLabel="!label/keylabel_for_comma"
+                    latin:keyLabel="!text/keylabel_for_comma"
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:additionalMoreKeys="!label/more_keys_for_comma"
+                    latin:additionalMoreKeys="!text/more_keys_for_comma"
                     latin:keyStyle="f1MoreKeysStyle" />
             </default>
         </switch>
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index fca8f56..dcbdc27 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -30,7 +30,7 @@
 import com.android.inputmethod.keyboard.internal.KeyStyles;
 import com.android.inputmethod.keyboard.internal.KeyboardCodesSet;
 import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
-import com.android.inputmethod.keyboard.internal.KeyboardLabelsSet;
+import com.android.inputmethod.keyboard.internal.KeyboardTextsSet;
 import com.android.inputmethod.latin.LatinImeLogger;
 import com.android.inputmethod.latin.LocaleUtils.RunInLocale;
 import com.android.inputmethod.latin.R;
@@ -236,8 +236,8 @@
         public final ArrayList<Key> mAltCodeKeysWhileTyping = new ArrayList<Key>();
         public final KeyboardIconsSet mIconsSet = new KeyboardIconsSet();
         public final KeyboardCodesSet mCodesSet = new KeyboardCodesSet();
-        public final KeyboardLabelsSet mLabelsSet = new KeyboardLabelsSet();
-        public final KeyStyles mKeyStyles = new KeyStyles(mLabelsSet);
+        public final KeyboardTextsSet mTextsSet = new KeyboardTextsSet();
+        public final KeyStyles mKeyStyles = new KeyStyles(mTextsSet);
 
         public KeyboardLayoutSet.KeysCache mKeysCache;
 
@@ -776,11 +776,11 @@
                 params.mIconsSet.loadIcons(keyboardAttr);
                 final String language = params.mId.mLocale.getLanguage();
                 params.mCodesSet.setLanguage(language);
-                params.mLabelsSet.setLanguage(language);
+                params.mTextsSet.setLanguage(language);
                 final RunInLocale<Void> job = new RunInLocale<Void>() {
                     @Override
                     protected Void job(Resources res) {
-                        params.mLabelsSet.loadStringResources(mContext);
+                        params.mTextsSet.loadStringResources(mContext);
                         return null;
                     }
                 };
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 97e360e..a44ddf1 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -30,8 +30,8 @@
  * The specification is comma separated texts each of which represents one "more key".
  * The specification might have label or string resource reference in it. These references are
  * expanded before parsing comma.
- * - Label reference should be a string representation of label (!label/label_name)
- * - String resource reference should be a string representation of resource (!label/resource_name)
+ * - Label reference should be a string representation of label (!text/label_name)
+ * - String resource reference should be a string representation of resource (!text/resource_name)
  * Each "more key" specification is one of the following:
  * - Label optionally followed by keyOutputText or code (keyLabel|keyOutputText).
  * - Icon followed by keyOutputText or code (!icon/icon_name|!code/code_name)
@@ -51,7 +51,7 @@
     private static int COMMA = ',';
     private static final char ESCAPE_CHAR = '\\';
     private static final char LABEL_END = '|';
-    private static final String PREFIX_LABEL = "!label/";
+    private static final String PREFIX_TEXT = "!text/";
     private static final String PREFIX_ICON = "!icon/";
     private static final String PREFIX_CODE = "!code/";
     private static final String PREFIX_HEX = "0x";
@@ -334,7 +334,7 @@
         }
     }
 
-    public static String resolveLabelReference(String rawText, KeyboardLabelsSet labelsSet) {
+    public static String resolveTextReference(String rawText, KeyboardTextsSet textsSet) {
         int level = 0;
         String text = rawText;
         StringBuilder sb;
@@ -344,7 +344,7 @@
                 throw new RuntimeException("too many @string/resource indirection: " + text);
             }
 
-            final int prefixLen = PREFIX_LABEL.length();
+            final int prefixLen = PREFIX_TEXT.length();
             final int size = text.length();
             if (size < prefixLen) {
                 return text;
@@ -353,14 +353,14 @@
             sb = null;
             for (int pos = 0; pos < size; pos++) {
                 final char c = text.charAt(pos);
-                if (text.regionMatches(true, pos, PREFIX_LABEL, 0, prefixLen)
-                        && labelsSet != null) {
+                if (text.regionMatches(true, pos, PREFIX_TEXT, 0, prefixLen)
+                        && textsSet != null) {
                     if (sb == null) {
                         sb = new StringBuilder(text.substring(0, pos));
                     }
-                    final int end = searchLabelNameEnd(text, pos + prefixLen);
+                    final int end = searchTextNameEnd(text, pos + prefixLen);
                     final String name = text.substring(pos + prefixLen, end);
-                    sb.append(labelsSet.getLabel(name));
+                    sb.append(textsSet.getText(name));
                     pos = end - 1;
                 } else if (c == ESCAPE_CHAR) {
                     if (sb != null) {
@@ -381,7 +381,7 @@
         return text;
     }
 
-    private static int searchLabelNameEnd(String text, int start) {
+    private static int searchTextNameEnd(String text, int start) {
         final int size = text.length();
         for (int pos = start; pos < size; pos++) {
             final char c = text.charAt(pos);
@@ -395,8 +395,8 @@
         return size;
     }
 
-    public static String[] parseCsvString(String rawText, KeyboardLabelsSet labelsSet) {
-        final String text = resolveLabelReference(rawText, labelsSet);
+    public static String[] parseCsvString(String rawText, KeyboardTextsSet textsSet) {
+        final String text = resolveTextReference(rawText, textsSet);
         final int size = text.length();
         if (size == 0) {
             return null;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
index 922a441..b32172e 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
@@ -35,19 +35,19 @@
     private final HashMap<String, DeclaredKeyStyle> mStyles =
             new HashMap<String, DeclaredKeyStyle>();
 
-    private final KeyboardLabelsSet mLabelsSet;
+    private final KeyboardTextsSet mTextsSet;
     private final KeyStyle mEmptyKeyStyle;
 
-    public KeyStyles(KeyboardLabelsSet labelsSet) {
-        mLabelsSet = labelsSet;
-        mEmptyKeyStyle = new EmptyKeyStyle(labelsSet);
+    public KeyStyles(KeyboardTextsSet textsSet) {
+        mTextsSet = textsSet;
+        mEmptyKeyStyle = new EmptyKeyStyle(textsSet);
     }
 
     public static abstract class KeyStyle {
-        protected final KeyboardLabelsSet mLabelsSet;
+        protected final KeyboardTextsSet mTextsSet;
 
-        public KeyStyle(KeyboardLabelsSet labelsSet) {
-            mLabelsSet = labelsSet;
+        public KeyStyle(KeyboardTextsSet textsSet) {
+            mTextsSet = textsSet;
         }
 
         public abstract String[] getStringArray(TypedArray a, int index);
@@ -57,22 +57,22 @@
 
         protected String parseString(TypedArray a, int index) {
             if (a.hasValue(index)) {
-                return KeySpecParser.resolveLabelReference(a.getString(index), mLabelsSet);
+                return KeySpecParser.resolveTextReference(a.getString(index), mTextsSet);
             }
             return null;
         }
 
         protected String[] parseStringArray(TypedArray a, int index) {
             if (a.hasValue(index)) {
-                return KeySpecParser.parseCsvString(a.getString(index), mLabelsSet);
+                return KeySpecParser.parseCsvString(a.getString(index), mTextsSet);
             }
             return null;
         }
     }
 
     private static class EmptyKeyStyle extends KeyStyle {
-        public EmptyKeyStyle(KeyboardLabelsSet labelsSet) {
-            super(labelsSet);
+        public EmptyKeyStyle(KeyboardTextsSet textsSet) {
+            super(textsSet);
         }
 
         @Override
@@ -99,8 +99,8 @@
     private static class DeclaredKeyStyle extends KeyStyle {
         private final HashMap<Integer, Object> mStyleAttributes = new HashMap<Integer, Object>();
 
-        public DeclaredKeyStyle(KeyboardLabelsSet labelsSet) {
-            super(labelsSet);
+        public DeclaredKeyStyle(KeyboardTextsSet textsSet) {
+            super(textsSet);
         }
 
         @Override
@@ -195,7 +195,7 @@
             }
         }
 
-        final DeclaredKeyStyle style = new DeclaredKeyStyle(mLabelsSet);
+        final DeclaredKeyStyle style = new DeclaredKeyStyle(mTextsSet);
         if (keyStyleAttr.hasValue(R.styleable.Keyboard_KeyStyle_parentStyle)) {
             final String parentStyle = keyStyleAttr.getString(
                     R.styleable.Keyboard_KeyStyle_parentStyle);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
similarity index 98%
rename from java/src/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.java
rename to java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 1ba84e5..d0f27a9 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -25,23 +25,23 @@
 
 /**
  * !!!!! DO NOT EDIT THIS FILE !!!!!
- * This file is generated by tools/makelabel.
+ * This file is generated by tools/maketext.
  */
-public final class KeyboardLabelsSet {
-    // Language to labels map.
-    private static final HashMap<String, String[]> sLocaleToLabelsMap =
+public final class KeyboardTextsSet {
+    // Language to texts map.
+    private static final HashMap<String, String[]> sLocaleToTextsMap =
             new HashMap<String, String[]>();
     private static final HashMap<String, Integer> sLowerCaseNameToIdsMap =
             new HashMap<String, Integer>();
 
-    private String[] mLabels;
-    // Resource name to label map.
-    private HashMap<String, String> mResourceNameToLabelsMap = new HashMap<String, String>();
+    private String[] mTexts;
+    // Resource name to text map.
+    private HashMap<String, String> mResourceNameToTextsMap = new HashMap<String, String>();
 
     public void setLanguage(final String language) {
-        mLabels = sLocaleToLabelsMap.get(language);
-        if (mLabels == null) {
-            mLabels = LANGUAGE_DEFAULT;
+        mTexts = sLocaleToTextsMap.get(language);
+        if (mTexts == null) {
+            mTexts = LANGUAGE_DEFAULT;
         }
     }
 
@@ -56,31 +56,31 @@
         final String packageName = res.getResourcePackageName(referenceId);
         for (final String resName : resourceNames) {
             final int resId = res.getIdentifier(resName, "string", packageName);
-            mResourceNameToLabelsMap.put(resName, res.getString(resId));
+            mResourceNameToTextsMap.put(resName, res.getString(resId));
         }
     }
 
-    public String getLabel(final String name) {
+    public String getText(final String name) {
         String lowerCaseName = null;
-        String label = mResourceNameToLabelsMap.get(name);
-        if (label == null) {
+        String text = mResourceNameToTextsMap.get(name);
+        if (text == null) {
             lowerCaseName = name.toLowerCase();
-            label = mResourceNameToLabelsMap.get(lowerCaseName);
+            text = mResourceNameToTextsMap.get(lowerCaseName);
         }
-        if (label != null) {
-            return label;
+        if (text != null) {
+            return text;
         }
         Integer id = sLowerCaseNameToIdsMap.get(name);
         if (id == null) {
             id = sLowerCaseNameToIdsMap.get(lowerCaseName); // lowerCaseName != null
         }
         if (id == null) throw new RuntimeException("Unknown label: " + name);
-        label = (id < mLabels.length) ? mLabels[id] : null;
-        return (label == null) ? LANGUAGE_DEFAULT[id] : label;
+        text = (id < mTexts.length) ? mTexts[id] : null;
+        return (text == null) ? LANGUAGE_DEFAULT[id] : text;
     }
 
     private static final String[] RESOURCE_NAMES = {
-        // These labels' name should be aligned with the @string/<name> in values/strings.xml.
+        // These texts' name should be aligned with the @string/<name> in values/strings.xml.
         // Labels for action.
         "label_go_key",
         // "label_search_key",
@@ -222,7 +222,7 @@
 
     private static final String EMPTY = "";
 
-    /* Default labels */
+    /* Default texts */
     private static final String[] LANGUAGE_DEFAULT = {
         /* 0~ */
         EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
@@ -344,11 +344,11 @@
         // U+2666: "♦" BLACK DIAMOND SUIT
         // U+2663: "♣" BLACK CLUB SUIT
         /* 108 */ "\u266A,\u2665,\u2660,\u2666,\u2663",
-        /* 109 */ "!fixedColumnOrder!2,!hasLabels!,!label/label_time_am,!label/label_time_pm",
+        /* 109 */ "!fixedColumnOrder!2,!hasLabels!,!text/label_time_am,!text/label_time_pm",
         /* 110 */ "!icon/settings_key|!code/key_settings",
         /* 111 */ "!icon/shortcut_key|!code/key_shortcut",
-        /* 112 */ "!hasLabels!,!label/label_next_key|!code/key_action_next",
-        /* 113 */ "!hasLabels!,!label/label_previous_key|!code/key_action_previous",
+        /* 112 */ "!hasLabels!,!text/label_next_key|!code/key_action_next",
+        /* 113 */ "!hasLabels!,!text/label_previous_key|!code/key_action_previous",
         // Label for "switch to more symbol" modifier key.  Must be short to fit on key!
         /* 114 */ "= \\ <",
         // Label for "switch to more symbol" modifier key on tablets.  Must be short to fit on key!
@@ -2458,7 +2458,7 @@
         /* 19 */ "\u0175",
     };
 
-    private static final Object[] LANGUAGES_AND_LABELS = {
+    private static final Object[] LANGUAGES_AND_TEXTS = {
         "DEFAULT", LANGUAGE_DEFAULT, /* default */
         "ar", LANGUAGE_ar, /* Arabic */
         "be", LANGUAGE_be, /* Belarusian */
@@ -2505,10 +2505,10 @@
             sLowerCaseNameToIdsMap.put(name, id++);
         }
 
-        for (int i = 0; i < LANGUAGES_AND_LABELS.length; i += 2) {
-            final String language = (String)LANGUAGES_AND_LABELS[i];
-            final String[] labels = (String[])LANGUAGES_AND_LABELS[i + 1];
-            sLocaleToLabelsMap.put(language, labels);
+        for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) {
+            final String language = (String)LANGUAGES_AND_TEXTS[i];
+            final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1];
+            sLocaleToTextsMap.put(language, texts);
         }
     }
 }
diff --git a/tests/res/values/donottranslate.xml b/tests/res/values/donottranslate.xml
index 875a558..3f7634a 100644
--- a/tests/res/values/donottranslate.xml
+++ b/tests/res/values/donottranslate.xml
@@ -50,13 +50,13 @@
     <string name="multiple_labels_with_escape_surrounded_by_spaces">" \\abc , d\\ef , gh\\i "</string>
     <string name="multiple_labels_with_comma_and_escape">"ab\\\\,d\\\\\\,,g\\,i"</string>
     <string name="multiple_labels_with_comma_and_escape_surrounded_by_spaces">" ab\\\\ , d\\\\\\, , g\\,i "</string>
-    <string name="indirect_string">!label/multiple_chars</string>
-    <string name="indirect_string_with_literal">x,!label/multiple_chars,y</string>
-    <string name="indirect2_string">!label/indirect_string</string>
-    <string name="infinite_indirection">infinite,!label/infinite_indirection,loop</string>
-    <string name="upper_indirect_string">!LABEL/MULTIPLE_CHARS</string>
-    <string name="upper_indirect_string_with_literal">x,!LABEL/MULTIPLE_CHARS,y</string>
-    <string name="upper_indirect2_string">!LABEL/UPPER_INDIRECT_STRING</string>
-    <string name="upper_infinite_indirection">infinite,!LABEL/INFINITE_INDIRECTION,loop</string>
-    <string name="indirect_navigate_actions_as_more_key">!fixedColumnOrder!2,!label/action_previous_as_more_key,!label/action_next_as_more_key</string>
+    <string name="indirect_string">!text/multiple_chars</string>
+    <string name="indirect_string_with_literal">x,!text/multiple_chars,y</string>
+    <string name="indirect2_string">!text/indirect_string</string>
+    <string name="infinite_indirection">infinite,!text/infinite_indirection,loop</string>
+    <string name="upper_indirect_string">!TEXT/MULTIPLE_CHARS</string>
+    <string name="upper_indirect_string_with_literal">x,!TEXT/MULTIPLE_CHARS,y</string>
+    <string name="upper_indirect2_string">!TEXT/UPPER_INDIRECT_STRING</string>
+    <string name="upper_infinite_indirection">infinite,!TEXT/INFINITE_INDIRECTION,loop</string>
+    <string name="indirect_navigate_actions_as_more_key">!fixedColumnOrder!2,!text/action_previous_as_more_key,!text/action_next_as_more_key</string>
 </resources>
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java
index a117a5a..19912c4 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java
@@ -24,17 +24,17 @@
 import java.util.Locale;
 
 public class KeySpecParserCsvTests extends AndroidTestCase {
-    private final KeyboardLabelsSet mLabelsSet = new KeyboardLabelsSet();
+    private final KeyboardTextsSet mTextsSet = new KeyboardTextsSet();
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
-        mLabelsSet.setLanguage(Locale.ENGLISH.getLanguage());
-        mLabelsSet.loadStringResources(getContext());
+        mTextsSet.setLanguage(Locale.ENGLISH.getLanguage());
+        mTextsSet.loadStringResources(getContext());
         final String[] testResourceNames = getAllResourceIdNames(
                 com.android.inputmethod.latin.tests.R.string.class);
-        mLabelsSet.loadStringResourcesInternal(getTestContext(),
+        mTextsSet.loadStringResourcesInternal(getTestContext(),
                 testResourceNames,
                 com.android.inputmethod.latin.tests.R.string.empty_string);
     }
@@ -68,7 +68,7 @@
     }
 
     private void assertTextArray(String message, String value, String ... expectedArray) {
-        final String[] actual = KeySpecParser.parseCsvString(value, mLabelsSet);
+        final String[] actual = KeySpecParser.parseCsvString(value, mTextsSet);
         final String[] expected = (expectedArray.length == 0) ? null : expectedArray;
         assertArrayEquals(message, expected, actual);
     }
@@ -122,10 +122,10 @@
                 "ab" + SURROGATE1 + "cd",
                 "ab" + SURROGATE1 + "cd");
 
-        assertTextArray("Incomplete resource reference 1", "label", "label");
-        assertTextArray("Incomplete resource reference 2", "!label", "!label");
-        assertTextArray("Incomplete RESOURCE REFERENCE 2", "!LABEL", "!LABEL");
-        assertTextArray("Incomplete resource reference 3", "label/", "label/");
+        assertTextArray("Incomplete resource reference 1", "text", "text");
+        assertTextArray("Incomplete resource reference 2", "!text", "!text");
+        assertTextArray("Incomplete RESOURCE REFERENCE 2", "!TEXT", "!TEXT");
+        assertTextArray("Incomplete resource reference 3", "text/", "text/");
         assertTextArray("Incomplete resource reference 4", "!" + SURROGATE2, "!" + SURROGATE2);
     }
 
@@ -157,11 +157,11 @@
         assertTextArray("Escaped surrogate with escape",
                 PAIR1 + "\\\\" + PAIR2, PAIR1 + "\\\\" + PAIR2);
 
-        assertTextArray("Escaped !label", "\\!label", "\\!label");
-        assertTextArray("Escaped !label/", "\\!label/", "\\!label/");
-        assertTextArray("Escaped !LABEL/", "\\!LABEL/", "\\!LABEL/");
-        assertTextArray("Escaped !label/name", "\\!label/empty_string", "\\!label/empty_string");
-        assertTextArray("Escaped !LABEL/NAME", "\\!LABEL/EMPTY_STRING", "\\!LABEL/EMPTY_STRING");
+        assertTextArray("Escaped !text", "\\!text", "\\!text");
+        assertTextArray("Escaped !text/", "\\!text/", "\\!text/");
+        assertTextArray("Escaped !TEXT/", "\\!TEXT/", "\\!TEXT/");
+        assertTextArray("Escaped !text/name", "\\!text/empty_string", "\\!text/empty_string");
+        assertTextArray("Escaped !TEXT/NAME", "\\!TEXT/EMPTY_STRING", "\\!TEXT/EMPTY_STRING");
     }
 
     public void testParseCsvTextMulti() {
@@ -192,204 +192,204 @@
         assertTextArray("Multiple labels with comma and escape surrounded by spaces",
                 " ab\\\\ , d\\\\\\, , g\\,i ", " ab\\\\ ", " d\\\\\\, ", " g\\,i ");
 
-        assertTextArray("Multiple escaped !label", "\\!,\\!label/empty_string",
-                "\\!", "\\!label/empty_string");
-        assertTextArray("Multiple escaped !LABEL", "\\!,\\!LABEL/EMPTY_STRING",
-                "\\!", "\\!LABEL/EMPTY_STRING");
+        assertTextArray("Multiple escaped !text", "\\!,\\!text/empty_string",
+                "\\!", "\\!text/empty_string");
+        assertTextArray("Multiple escaped !TEXT", "\\!,\\!TEXT/EMPTY_STRING",
+                "\\!", "\\!TEXT/EMPTY_STRING");
     }
 
     public void testParseCsvResourceError() {
-        assertError("Incomplete resource name", "!label/", "!label/");
-        assertError("Non existing resource", "!label/non_existing");
+        assertError("Incomplete resource name", "!text/", "!text/");
+        assertError("Non existing resource", "!text/non_existing");
     }
 
     public void testParseCsvResourceZero() {
         assertTextArray("Empty string",
-                "!label/empty_string");
+                "!text/empty_string");
         assertTextArray("EMPTY STRING",
-                "!LABEL/EMPTY_STRING");
+                "!TEXT/EMPTY_STRING");
     }
 
     public void testParseCsvResourceSingle() {
         assertTextArray("Single char",
-                "!label/single_char", "a");
+                "!text/single_char", "a");
         assertTextArray("SINGLE CHAR",
-                "!LABEL/SINGLE_CHAR", "a");
+                "!TEXT/SINGLE_CHAR", "a");
         assertTextArray("Space",
-                "!label/space", " ");
+                "!text/space", " ");
         assertTextArray("Single label",
-                "!label/single_label", "abc");
+                "!text/single_label", "abc");
         assertTextArray("Spaces",
-                "!label/spaces", "   ");
+                "!text/spaces", "   ");
         assertTextArray("Spaces in label",
-                "!label/spaces_in_label", "a b c");
+                "!text/spaces_in_label", "a b c");
         assertTextArray("Spaces at beginning of label",
-                "!label/spaces_at_beginning_of_label", " abc");
+                "!text/spaces_at_beginning_of_label", " abc");
         assertTextArray("Spaces at end of label",
-                "!label/spaces_at_end_of_label", "abc ");
+                "!text/spaces_at_end_of_label", "abc ");
         assertTextArray("label surrounded by spaces",
-                "!label/label_surrounded_by_spaces", " abc ");
+                "!text/label_surrounded_by_spaces", " abc ");
 
         assertTextArray("Escape and single char",
-                "\\\\!label/single_char", "\\\\a");
+                "\\\\!text/single_char", "\\\\a");
         assertTextArray("Escape and SINGLE CHAR",
-                "\\\\!LABEL/SINGLE_CHAR", "\\\\a");
+                "\\\\!TEXT/SINGLE_CHAR", "\\\\a");
     }
 
     public void testParseCsvResourceSingleEscaped() {
         assertTextArray("Escaped char",
-                "!label/escaped_char", "\\a");
+                "!text/escaped_char", "\\a");
         assertTextArray("Escaped comma",
-                "!label/escaped_comma", "\\,");
+                "!text/escaped_comma", "\\,");
         assertTextArray("Escaped comma escape",
-                "!label/escaped_comma_escape", "a\\,\\");
+                "!text/escaped_comma_escape", "a\\,\\");
         assertTextArray("Escaped escape",
-                "!label/escaped_escape", "\\\\");
+                "!text/escaped_escape", "\\\\");
         assertTextArray("Escaped label",
-                "!label/escaped_label", "a\\bc");
+                "!text/escaped_label", "a\\bc");
         assertTextArray("Escaped label at beginning",
-                "!label/escaped_label_at_beginning", "\\abc");
+                "!text/escaped_label_at_beginning", "\\abc");
         assertTextArray("Escaped label at end",
-                "!label/escaped_label_at_end", "abc\\");
+                "!text/escaped_label_at_end", "abc\\");
         assertTextArray("Escaped label with comma",
-                "!label/escaped_label_with_comma", "a\\,c");
+                "!text/escaped_label_with_comma", "a\\,c");
         assertTextArray("Escaped label with comma at beginning",
-                "!label/escaped_label_with_comma_at_beginning", "\\,bc");
+                "!text/escaped_label_with_comma_at_beginning", "\\,bc");
         assertTextArray("Escaped label with comma at end",
-                "!label/escaped_label_with_comma_at_end", "ab\\,");
+                "!text/escaped_label_with_comma_at_end", "ab\\,");
         assertTextArray("Escaped label with successive",
-                "!label/escaped_label_with_successive", "\\,\\\\bc");
+                "!text/escaped_label_with_successive", "\\,\\\\bc");
         assertTextArray("Escaped label with escape",
-                "!label/escaped_label_with_escape", "a\\\\c");
+                "!text/escaped_label_with_escape", "a\\\\c");
     }
 
     public void testParseCsvResourceMulti() {
         assertTextArray("Multiple chars",
-                "!label/multiple_chars", "a", "b", "c");
+                "!text/multiple_chars", "a", "b", "c");
         assertTextArray("MULTIPLE CHARS",
-                "!LABEL/MULTIPLE_CHARS", "a", "b", "c");
+                "!TEXT/MULTIPLE_CHARS", "a", "b", "c");
         assertTextArray("Multiple chars surrounded by spaces",
-                "!label/multiple_chars_surrounded_by_spaces",
+                "!text/multiple_chars_surrounded_by_spaces",
                 " a ", " b ", " c ");
         assertTextArray("Multiple labels",
-                "!label/multiple_labels", "abc", "def", "ghi");
+                "!text/multiple_labels", "abc", "def", "ghi");
         assertTextArray("Multiple labels surrounded by spaces",
-                "!label/multiple_labels_surrounded_by_spaces", " abc ", " def ", " ghi ");
+                "!text/multiple_labels_surrounded_by_spaces", " abc ", " def ", " ghi ");
     }
 
     public void testParseCsvResourcetMultiEscaped() {
         assertTextArray("Multiple chars with comma",
-                "!label/multiple_chars_with_comma",
+                "!text/multiple_chars_with_comma",
                 "a", "\\,", "c");
         assertTextArray("Multiple chars with comma surrounded by spaces",
-                "!label/multiple_chars_with_comma_surrounded_by_spaces",
+                "!text/multiple_chars_with_comma_surrounded_by_spaces",
                 " a ", " \\, ", " c ");
         assertTextArray("Multiple labels with escape",
-                "!label/multiple_labels_with_escape",
+                "!text/multiple_labels_with_escape",
                 "\\abc", "d\\ef", "gh\\i");
         assertTextArray("Multiple labels with escape surrounded by spaces",
-                "!label/multiple_labels_with_escape_surrounded_by_spaces",
+                "!text/multiple_labels_with_escape_surrounded_by_spaces",
                 " \\abc ", " d\\ef ", " gh\\i ");
         assertTextArray("Multiple labels with comma and escape",
-                "!label/multiple_labels_with_comma_and_escape",
+                "!text/multiple_labels_with_comma_and_escape",
                 "ab\\\\", "d\\\\\\,", "g\\,i");
         assertTextArray("Multiple labels with comma and escape surrounded by spaces",
-                "!label/multiple_labels_with_comma_and_escape_surrounded_by_spaces",
+                "!text/multiple_labels_with_comma_and_escape_surrounded_by_spaces",
                 " ab\\\\ ", " d\\\\\\, ", " g\\,i ");
     }
 
     public void testParseMultipleResources() {
         assertTextArray("Literals and resources",
-                "1,!label/multiple_chars,z", "1", "a", "b", "c", "z");
+                "1,!text/multiple_chars,z", "1", "a", "b", "c", "z");
         assertTextArray("Literals and RESOURCES",
-                "1,!LABEL/MULTIPLE_CHARS,z", "1", "a", "b", "c", "z");
+                "1,!TEXT/MULTIPLE_CHARS,z", "1", "a", "b", "c", "z");
         assertTextArray("Literals and resources and escape at end",
-                "\\1,!label/multiple_chars,z\\", "\\1", "a", "b", "c", "z\\");
+                "\\1,!text/multiple_chars,z\\", "\\1", "a", "b", "c", "z\\");
         assertTextArray("Multiple single resource chars and labels",
-                "!label/single_char,!label/single_label,!label/escaped_comma",
+                "!text/single_char,!text/single_label,!text/escaped_comma",
                 "a", "abc", "\\,");
         assertTextArray("Multiple single resource chars and labels 2",
-                "!label/single_char,!label/single_label,!label/escaped_comma_escape",
+                "!text/single_char,!text/single_label,!text/escaped_comma_escape",
                 "a", "abc", "a\\,\\");
         assertTextArray("Multiple single RESOURCE chars and LABELS 2",
-                "!LABEL/SINGLE_CHAR,!LABEL/SINGLE_LABEL,!LABEL/ESCAPED_COMMA_ESCAPE",
+                "!TEXT/SINGLE_CHAR,!TEXT/SINGLE_LABEL,!TEXT/ESCAPED_COMMA_ESCAPE",
                 "a", "abc", "a\\,\\");
         assertTextArray("Multiple multiple resource chars and labels",
-                "!label/multiple_chars,!label/multiple_labels,!label/multiple_chars_with_comma",
+                "!text/multiple_chars,!text/multiple_labels,!text/multiple_chars_with_comma",
                 "a", "b", "c", "abc", "def", "ghi", "a", "\\,", "c");
         assertTextArray("Concatenated resources",
-                "!label/multiple_chars!label/multiple_labels!label/multiple_chars_with_comma",
+                "!text/multiple_chars!text/multiple_labels!text/multiple_chars_with_comma",
                 "a", "b", "cabc", "def", "ghia", "\\,", "c");
         assertTextArray("Concatenated resource and literal",
-                "abc!label/multiple_labels",
+                "abc!text/multiple_labels",
                 "abcabc", "def", "ghi");
     }
 
     public void testParseIndirectReference() {
         assertTextArray("Indirect",
-                "!label/indirect_string", "a", "b", "c");
+                "!text/indirect_string", "a", "b", "c");
         assertTextArray("Indirect with literal",
-                "1,!label/indirect_string_with_literal,2", "1", "x", "a", "b", "c", "y", "2");
+                "1,!text/indirect_string_with_literal,2", "1", "x", "a", "b", "c", "y", "2");
         assertTextArray("Indirect2",
-                "!label/indirect2_string", "a", "b", "c");
+                "!text/indirect2_string", "a", "b", "c");
 
         assertTextArray("INDIRECT",
-                "!LABEL/INDIRECT_STRING", "a", "b", "c");
+                "!TEXT/INDIRECT_STRING", "a", "b", "c");
         assertTextArray("INDIRECT with literal",
-                "1,!LABEL/INDIRECT_STRING_WITH_LITERAL,2", "1", "x", "a", "b", "c", "y", "2");
+                "1,!TEXT/INDIRECT_STRING_WITH_LITERAL,2", "1", "x", "a", "b", "c", "y", "2");
         assertTextArray("INDIRECT2",
-                "!LABEL/INDIRECT2_STRING", "a", "b", "c");
+                "!TEXT/INDIRECT2_STRING", "a", "b", "c");
 
         assertTextArray("Upper indirect",
-                "!label/upper_indirect_string", "a", "b", "c");
+                "!text/upper_indirect_string", "a", "b", "c");
         assertTextArray("Upper indirect with literal",
-                "1,!label/upper_indirect_string_with_literal,2", "1", "x", "a", "b", "c", "y", "2");
+                "1,!text/upper_indirect_string_with_literal,2", "1", "x", "a", "b", "c", "y", "2");
         assertTextArray("Upper indirect2",
-                "!label/upper_indirect2_string", "a", "b", "c");
+                "!text/upper_indirect2_string", "a", "b", "c");
 
         assertTextArray("UPPER INDIRECT",
-                "!LABEL/upper_INDIRECT_STRING", "a", "b", "c");
+                "!TEXT/upper_INDIRECT_STRING", "a", "b", "c");
         assertTextArray("Upper INDIRECT with literal",
-                "1,!LABEL/upper_INDIRECT_STRING_WITH_LITERAL,2", "1", "x", "a", "b", "c", "y", "2");
+                "1,!TEXT/upper_INDIRECT_STRING_WITH_LITERAL,2", "1", "x", "a", "b", "c", "y", "2");
         assertTextArray("Upper INDIRECT2",
-                "!LABEL/upper_INDIRECT2_STRING", "a", "b", "c");
+                "!TEXT/upper_INDIRECT2_STRING", "a", "b", "c");
     }
 
     public void testParseInfiniteIndirectReference() {
         assertError("Infinite indirection",
-                "1,!label/infinite_indirection,2", "1", "infinite", "<infinite>", "loop", "2");
+                "1,!text/infinite_indirection,2", "1", "infinite", "<infinite>", "loop", "2");
         assertError("INFINITE INDIRECTION",
-                "1,!LABEL/INFINITE_INDIRECTION,2", "1", "infinite", "<infinite>", "loop", "2");
+                "1,!TEXT/INFINITE_INDIRECTION,2", "1", "infinite", "<infinite>", "loop", "2");
 
         assertError("Upper infinite indirection",
-                "1,!label/upper_infinite_indirection,2",
+                "1,!text/upper_infinite_indirection,2",
                 "1", "infinite", "<infinite>", "loop", "2");
         assertError("Upper INFINITE INDIRECTION",
-                "1,!LABEL/UPPER_INFINITE_INDIRECTION,2",
+                "1,!TEXT/UPPER_INFINITE_INDIRECTION,2",
                 "1", "infinite", "<infinite>", "loop", "2");
     }
 
     public void testLabelReferece() {
-        assertTextArray("Label time am", "!label/label_time_am", "AM");
-        assertTextArray("LABEL TIME AM", "!LABEL/LABEL_TIME_AM", "AM");
+        assertTextArray("Label time am", "!text/label_time_am", "AM");
+        assertTextArray("LABEL TIME AM", "!TEXT/LABEL_TIME_AM", "AM");
 
-        assertTextArray("More keys for am pm", "!label/more_keys_for_am_pm",
+        assertTextArray("More keys for am pm", "!text/more_keys_for_am_pm",
                 "!fixedColumnOrder!2", "!hasLabels!", "AM", "PM");
-        assertTextArray("MORE KEYS FOR AM OM", "!LABEL/MORE_KEYS_FOR_AM_PM",
+        assertTextArray("MORE KEYS FOR AM OM", "!TEXT/MORE_KEYS_FOR_AM_PM",
                 "!fixedColumnOrder!2", "!hasLabels!", "AM", "PM");
 
-        assertTextArray("Settings as more key", "!label/settings_as_more_key",
+        assertTextArray("Settings as more key", "!text/settings_as_more_key",
                 "!icon/settings_key|!code/key_settings");
-        assertTextArray("SETTINGS AS MORE KEY", "!LABEL/SETTINGS_AS_MORE_KEY",
+        assertTextArray("SETTINGS AS MORE KEY", "!TEXT/SETTINGS_AS_MORE_KEY",
                 "!icon/settings_key|!code/key_settings");
 
         assertTextArray("Indirect naviagte actions as more key",
-                "!label/indirect_navigate_actions_as_more_key",
+                "!text/indirect_navigate_actions_as_more_key",
                 "!fixedColumnOrder!2",
                 "!hasLabels!", "Prev|!code/key_action_previous",
                 "!hasLabels!", "Next|!code/key_action_next");
         assertTextArray("INDIRECT NAVIGATE ACTIONS AS MORE KEY",
-                "!LABEL/INDIRECT_NAVIGATE_ACTIONS_AS_MORE_KEY",
+                "!TEXT/INDIRECT_NAVIGATE_ACTIONS_AS_MORE_KEY",
                 "!fixedColumnOrder!2",
                 "!hasLabels!", "Prev|!code/key_action_previous",
                 "!hasLabels!", "Next|!code/key_action_next");
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java
index 429557d..f2a1656 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java
@@ -30,7 +30,7 @@
 
 public class KeySpecParserTests extends AndroidTestCase {
     private final KeyboardCodesSet mCodesSet = new KeyboardCodesSet();
-    private final KeyboardLabelsSet mLabelsSet = new KeyboardLabelsSet();
+    private final KeyboardTextsSet mTextsSet = new KeyboardTextsSet();
 
     private static final String CODE_SETTINGS = "!code/key_settings";
     private static final String ICON_SETTINGS = "!icon/settings_key";
@@ -49,8 +49,8 @@
 
         final String language = Locale.ENGLISH.getLanguage();
         mCodesSet.setLanguage(language);
-        mLabelsSet.setLanguage(language);
-        mLabelsSet.loadStringResources(getContext());
+        mTextsSet.setLanguage(language);
+        mTextsSet.loadStringResources(getContext());
 
         mCodeSettings = KeySpecParser.parseCode(
                 CODE_SETTINGS, mCodesSet, CODE_UNSPECIFIED);
@@ -61,7 +61,7 @@
 
     private void assertParser(String message, String moreKeySpec, String expectedLabel,
             String expectedOutputText, int expectedIcon, int expectedCode) {
-        final String labelResolved = KeySpecParser.resolveLabelReference(moreKeySpec, mLabelsSet);
+        final String labelResolved = KeySpecParser.resolveTextReference(moreKeySpec, mTextsSet);
         final MoreKeySpec spec = new MoreKeySpec(labelResolved, mCodesSet);
         assertEquals(message + " [label]", expectedLabel, spec.mLabel);
         assertEquals(message + " [ouptputText]", expectedOutputText, spec.mOutputText);
@@ -257,21 +257,21 @@
     }
 
     public void testResourceReference() {
-        assertParser("Settings as more key", "!label/settings_as_more_key",
+        assertParser("Settings as more key", "!text/settings_as_more_key",
                 null, null, mSettingsIconId, mCodeSettings);
-        assertParser("SETTINGS AS MORE KEY", "!LABEL/SETTINGS_AS_MORE_KEY",
+        assertParser("SETTINGS AS MORE KEY", "!TEXT/SETTINGS_AS_MORE_KEY",
                 null, null, mSettingsIconId, mCodeSettings);
 
-        assertParser("Action next as more key", "!label/label_next_key|!code/key_action_next",
+        assertParser("Action next as more key", "!text/label_next_key|!code/key_action_next",
                 "Next", null, ICON_UNDEFINED, mCodeActionNext);
-        assertParser("ACTION NEXT AS MORE KEY", "!LABEL/LABEL_NEXT_KEY|!CODE/KEY_ACTION_NEXT",
+        assertParser("ACTION NEXT AS MORE KEY", "!TEXT/LABEL_NEXT_KEY|!CODE/KEY_ACTION_NEXT",
                 "Next", null, ICON_UNDEFINED, mCodeActionNext);
 
         assertParser("Popular domain",
-                "!label/keylabel_for_popular_domain|!label/keylabel_for_popular_domain ",
+                "!text/keylabel_for_popular_domain|!text/keylabel_for_popular_domain ",
                 ".com", ".com ", ICON_UNDEFINED, CODE_OUTPUT_TEXT);
         assertParser("POPULAR DOMAIN",
-                "!LABEL/KEYLABEL_FOR_POPULAR_DOMAIN|!LABEL/KEYLABEL_FOR_POPULAR_DOMAIN ",
+                "!TEXT/KEYLABEL_FOR_POPULAR_DOMAIN|!TEXT/KEYLABEL_FOR_POPULAR_DOMAIN ",
                 ".com", ".com ", ICON_UNDEFINED, CODE_OUTPUT_TEXT);
     }
 
diff --git a/tools/makelabel/etc/manifest.txt b/tools/makelabel/etc/manifest.txt
deleted file mode 100644
index 18bf0be..0000000
--- a/tools/makelabel/etc/manifest.txt
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: com.android.inputmethod.latin.makelabel.LabelMaker
diff --git a/tools/makelabel/Android.mk b/tools/maketext/Android.mk
similarity index 96%
rename from tools/makelabel/Android.mk
rename to tools/maketext/Android.mk
index 9fa8650..98731b7 100644
--- a/tools/makelabel/Android.mk
+++ b/tools/maketext/Android.mk
@@ -20,7 +20,7 @@
 LOCAL_JAR_MANIFEST := etc/manifest.txt
 LOCAL_JAVA_RESOURCE_DIRS := res
 LOCAL_MODULE_TAGS := eng
-LOCAL_MODULE := makelabel
+LOCAL_MODULE := maketext
 
 include $(BUILD_HOST_JAVA_LIBRARY)
 include $(LOCAL_PATH)/etc/Android.mk
diff --git a/tools/makelabel/etc/Android.mk b/tools/maketext/etc/Android.mk
similarity index 94%
rename from tools/makelabel/etc/Android.mk
rename to tools/maketext/etc/Android.mk
index 2d2e9a6..4fa194b 100644
--- a/tools/makelabel/etc/Android.mk
+++ b/tools/maketext/etc/Android.mk
@@ -17,5 +17,5 @@
 
 LOCAL_MODULE_TAGS := eng
 
-LOCAL_PREBUILT_EXECUTABLES := makelabel
+LOCAL_PREBUILT_EXECUTABLES := maketext
 include $(BUILD_HOST_PREBUILT)
diff --git a/tools/makelabel/etc/makelabel b/tools/maketext/etc/maketext
similarity index 98%
rename from tools/makelabel/etc/makelabel
rename to tools/maketext/etc/maketext
index 44a05b6..0edd360 100755
--- a/tools/makelabel/etc/makelabel
+++ b/tools/maketext/etc/maketext
@@ -33,7 +33,7 @@
 prog="${progdir}"/`basename "${prog}"`
 cd "${oldwd}"
 
-jarfile=makelabel.jar
+jarfile=maketext.jar
 frameworkdir="$progdir"
 if [ ! -r "$frameworkdir/$jarfile" ]
 then
diff --git a/tools/maketext/etc/manifest.txt b/tools/maketext/etc/manifest.txt
new file mode 100644
index 0000000..bfd1a52
--- /dev/null
+++ b/tools/maketext/etc/manifest.txt
@@ -0,0 +1 @@
+Main-Class: com.android.inputmethod.latin.maketext.LabelText
diff --git a/tools/makelabel/res/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.tmpl b/tools/maketext/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
similarity index 65%
rename from tools/makelabel/res/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.tmpl
rename to tools/maketext/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
index 72f4edd..5a19338 100644
--- a/tools/makelabel/res/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.tmpl
+++ b/tools/maketext/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
@@ -25,23 +25,23 @@
 
 /**
  * !!!!! DO NOT EDIT THIS FILE !!!!!
- * This file is generated by tools/makelabel.
+ * This file is generated by tools/maketext.
  */
-public final class KeyboardLabelsSet {
-    // Language to labels map.
-    private static final HashMap<String, String[]> sLocaleToLabelsMap =
+public final class KeyboardTextsSet {
+    // Language to texts map.
+    private static final HashMap<String, String[]> sLocaleToTextsMap =
             new HashMap<String, String[]>();
     private static final HashMap<String, Integer> sLowerCaseNameToIdsMap =
             new HashMap<String, Integer>();
 
-    private String[] mLabels;
-    // Resource name to label map.
-    private HashMap<String, String> mResourceNameToLabelsMap = new HashMap<String, String>();
+    private String[] mTexts;
+    // Resource name to text map.
+    private HashMap<String, String> mResourceNameToTextsMap = new HashMap<String, String>();
 
     public void setLanguage(final String language) {
-        mLabels = sLocaleToLabelsMap.get(language);
-        if (mLabels == null) {
-            mLabels = LANGUAGE_DEFAULT;
+        mTexts = sLocaleToTextsMap.get(language);
+        if (mTexts == null) {
+            mTexts = LANGUAGE_DEFAULT;
         }
     }
 
@@ -56,31 +56,31 @@
         final String packageName = res.getResourcePackageName(referenceId);
         for (final String resName : resourceNames) {
             final int resId = res.getIdentifier(resName, "string", packageName);
-            mResourceNameToLabelsMap.put(resName, res.getString(resId));
+            mResourceNameToTextsMap.put(resName, res.getString(resId));
         }
     }
 
-    public String getLabel(final String name) {
+    public String getText(final String name) {
         String lowerCaseName = null;
-        String label = mResourceNameToLabelsMap.get(name);
-        if (label == null) {
+        String text = mResourceNameToTextsMap.get(name);
+        if (text == null) {
             lowerCaseName = name.toLowerCase();
-            label = mResourceNameToLabelsMap.get(lowerCaseName);
+            text = mResourceNameToTextsMap.get(lowerCaseName);
         }
-        if (label != null) {
-            return label;
+        if (text != null) {
+            return text;
         }
         Integer id = sLowerCaseNameToIdsMap.get(name);
         if (id == null) {
             id = sLowerCaseNameToIdsMap.get(lowerCaseName); // lowerCaseName != null
         }
         if (id == null) throw new RuntimeException("Unknown label: " + name);
-        label = (id < mLabels.length) ? mLabels[id] : null;
-        return (label == null) ? LANGUAGE_DEFAULT[id] : label;
+        text = (id < mTexts.length) ? mTexts[id] : null;
+        return (text == null) ? LANGUAGE_DEFAULT[id] : text;
     }
 
     private static final String[] RESOURCE_NAMES = {
-        // These labels' name should be aligned with the @string/<name> in values/strings.xml.
+        // These texts' name should be aligned with the @string/<name> in values/strings.xml.
         // Labels for action.
         "label_go_key",
         // "label_search_key",
@@ -102,14 +102,14 @@
 
     private static final String EMPTY = "";
 
-    /* Default labels */
+    /* Default texts */
     private static final String[] LANGUAGE_DEFAULT = {
-        /* @DEFAULT_LABELS@ */
+        /* @DEFAULT_TEXTS@ */
     };
 
-    /* @LABELS@ */
-    private static final Object[] LANGUAGES_AND_LABELS = {
-        /* @LANGUAGES_AND_LABELS@ */
+    /* @TEXTS@ */
+    private static final Object[] LANGUAGES_AND_TEXTS = {
+        /* @LANGUAGES_AND_TEXTS@ */
     };
 
     static {
@@ -118,10 +118,10 @@
             sLowerCaseNameToIdsMap.put(name, id++);
         }
 
-        for (int i = 0; i < LANGUAGES_AND_LABELS.length; i += 2) {
-            final String language = (String)LANGUAGES_AND_LABELS[i];
-            final String[] labels = (String[])LANGUAGES_AND_LABELS[i + 1];
-            sLocaleToLabelsMap.put(language, labels);
+        for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) {
+            final String language = (String)LANGUAGES_AND_TEXTS[i];
+            final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1];
+            sLocaleToTextsMap.put(language, texts);
         }
     }
 }
diff --git a/tools/makelabel/res/values-ar/donottranslate-more-keys.xml b/tools/maketext/res/values-ar/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-ar/donottranslate-more-keys.xml
rename to tools/maketext/res/values-ar/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-be/donottranslate-more-keys.xml b/tools/maketext/res/values-be/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-be/donottranslate-more-keys.xml
rename to tools/maketext/res/values-be/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-ca/donottranslate-more-keys.xml b/tools/maketext/res/values-ca/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-ca/donottranslate-more-keys.xml
rename to tools/maketext/res/values-ca/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-cs/donottranslate-more-keys.xml b/tools/maketext/res/values-cs/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-cs/donottranslate-more-keys.xml
rename to tools/maketext/res/values-cs/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-da/donottranslate-more-keys.xml b/tools/maketext/res/values-da/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-da/donottranslate-more-keys.xml
rename to tools/maketext/res/values-da/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-de/donottranslate-more-keys.xml b/tools/maketext/res/values-de/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-de/donottranslate-more-keys.xml
rename to tools/maketext/res/values-de/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-en/donottranslate-more-keys.xml b/tools/maketext/res/values-en/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-en/donottranslate-more-keys.xml
rename to tools/maketext/res/values-en/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-es/donottranslate-more-keys.xml b/tools/maketext/res/values-es/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-es/donottranslate-more-keys.xml
rename to tools/maketext/res/values-es/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-et/donottranslate-more-keys.xml b/tools/maketext/res/values-et/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-et/donottranslate-more-keys.xml
rename to tools/maketext/res/values-et/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-fa/donottranslate-more-keys.xml b/tools/maketext/res/values-fa/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-fa/donottranslate-more-keys.xml
rename to tools/maketext/res/values-fa/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-fi/donottranslate-more-keys.xml b/tools/maketext/res/values-fi/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-fi/donottranslate-more-keys.xml
rename to tools/maketext/res/values-fi/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-fr/donottranslate-more-keys.xml b/tools/maketext/res/values-fr/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-fr/donottranslate-more-keys.xml
rename to tools/maketext/res/values-fr/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-hi/donottranslate-more-keys.xml b/tools/maketext/res/values-hi/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-hi/donottranslate-more-keys.xml
rename to tools/maketext/res/values-hi/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-hr/donottranslate-more-keys.xml b/tools/maketext/res/values-hr/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-hr/donottranslate-more-keys.xml
rename to tools/maketext/res/values-hr/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-hu/donottranslate-more-keys.xml b/tools/maketext/res/values-hu/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-hu/donottranslate-more-keys.xml
rename to tools/maketext/res/values-hu/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-is/donottranslate-more-keys.xml b/tools/maketext/res/values-is/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-is/donottranslate-more-keys.xml
rename to tools/maketext/res/values-is/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-it/donottranslate-more-keys.xml b/tools/maketext/res/values-it/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-it/donottranslate-more-keys.xml
rename to tools/maketext/res/values-it/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-iw/donottranslate-more-keys.xml b/tools/maketext/res/values-iw/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-iw/donottranslate-more-keys.xml
rename to tools/maketext/res/values-iw/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-ky/donottranslate-more-keys.xml b/tools/maketext/res/values-ky/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-ky/donottranslate-more-keys.xml
rename to tools/maketext/res/values-ky/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-lt/donottranslate-more-keys.xml b/tools/maketext/res/values-lt/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-lt/donottranslate-more-keys.xml
rename to tools/maketext/res/values-lt/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-lv/donottranslate-more-keys.xml b/tools/maketext/res/values-lv/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-lv/donottranslate-more-keys.xml
rename to tools/maketext/res/values-lv/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-mk/donottranslate-more-keys.xml b/tools/maketext/res/values-mk/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-mk/donottranslate-more-keys.xml
rename to tools/maketext/res/values-mk/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-nb/donottranslate-more-keys.xml b/tools/maketext/res/values-nb/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-nb/donottranslate-more-keys.xml
rename to tools/maketext/res/values-nb/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-nl/donottranslate-more-keys.xml b/tools/maketext/res/values-nl/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-nl/donottranslate-more-keys.xml
rename to tools/maketext/res/values-nl/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-pl/donottranslate-more-keys.xml b/tools/maketext/res/values-pl/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-pl/donottranslate-more-keys.xml
rename to tools/maketext/res/values-pl/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-pt/donottranslate-more-keys.xml b/tools/maketext/res/values-pt/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-pt/donottranslate-more-keys.xml
rename to tools/maketext/res/values-pt/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-rm/donottranslate-more-keys.xml b/tools/maketext/res/values-rm/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-rm/donottranslate-more-keys.xml
rename to tools/maketext/res/values-rm/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-ro/donottranslate-more-keys.xml b/tools/maketext/res/values-ro/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-ro/donottranslate-more-keys.xml
rename to tools/maketext/res/values-ro/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-ru/donottranslate-more-keys.xml b/tools/maketext/res/values-ru/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-ru/donottranslate-more-keys.xml
rename to tools/maketext/res/values-ru/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-sk/donottranslate-more-keys.xml b/tools/maketext/res/values-sk/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-sk/donottranslate-more-keys.xml
rename to tools/maketext/res/values-sk/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-sl/donottranslate-more-keys.xml b/tools/maketext/res/values-sl/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-sl/donottranslate-more-keys.xml
rename to tools/maketext/res/values-sl/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-sr/donottranslate-more-keys.xml b/tools/maketext/res/values-sr/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-sr/donottranslate-more-keys.xml
rename to tools/maketext/res/values-sr/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-sv/donottranslate-more-keys.xml b/tools/maketext/res/values-sv/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-sv/donottranslate-more-keys.xml
rename to tools/maketext/res/values-sv/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-tr/donottranslate-more-keys.xml b/tools/maketext/res/values-tr/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-tr/donottranslate-more-keys.xml
rename to tools/maketext/res/values-tr/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-uk/donottranslate-more-keys.xml b/tools/maketext/res/values-uk/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-uk/donottranslate-more-keys.xml
rename to tools/maketext/res/values-uk/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-vi/donottranslate-more-keys.xml b/tools/maketext/res/values-vi/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-vi/donottranslate-more-keys.xml
rename to tools/maketext/res/values-vi/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values-zz/donottranslate-more-keys.xml b/tools/maketext/res/values-zz/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values-zz/donottranslate-more-keys.xml
rename to tools/maketext/res/values-zz/donottranslate-more-keys.xml
diff --git a/tools/makelabel/res/values/donottranslate-more-keys.xml b/tools/maketext/res/values/donottranslate-more-keys.xml
similarity index 100%
rename from tools/makelabel/res/values/donottranslate-more-keys.xml
rename to tools/maketext/res/values/donottranslate-more-keys.xml
diff --git a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/ArrayInitializerFormatter.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/ArrayInitializerFormatter.java
similarity index 97%
rename from tools/makelabel/src/com/android/inputmethod/latin/makelabel/ArrayInitializerFormatter.java
rename to tools/maketext/src/com/android/inputmethod/latin/maketext/ArrayInitializerFormatter.java
index 0cf2991..3365c72 100644
--- a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/ArrayInitializerFormatter.java
+++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/ArrayInitializerFormatter.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.inputmethod.latin.makelabel;
+package com.android.inputmethod.latin.maketext;
 
 import java.io.PrintStream;
 
diff --git a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/JarUtils.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java
similarity index 97%
rename from tools/makelabel/src/com/android/inputmethod/latin/makelabel/JarUtils.java
rename to tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java
index b24b2ca..366d73e 100644
--- a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/JarUtils.java
+++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.inputmethod.latin.makelabel;
+package com.android.inputmethod.latin.maketext;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/LabelMaker.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java
similarity index 92%
rename from tools/makelabel/src/com/android/inputmethod/latin/makelabel/LabelMaker.java
rename to tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java
index e02f802..a5abcf1 100644
--- a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/LabelMaker.java
+++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java
@@ -14,14 +14,14 @@
  * the License.
  */
 
-package com.android.inputmethod.latin.makelabel;
+package com.android.inputmethod.latin.maketext;
 
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.NoSuchElementException;
 import java.util.jar.JarFile;
 
-public class LabelMaker {
+public class LabelText {
     static class Options {
         private static final String OPTION_JAVA = "-java";
 
@@ -58,7 +58,7 @@
 
     public static void main(final String[] args) {
         final Options options = new Options(args);
-        final JarFile jar = JarUtils.getJarFile(LabelMaker.class.getClassLoader());
+        final JarFile jar = JarUtils.getJarFile(LabelText.class.getClassLoader());
         final MoreKeysResources resources = new MoreKeysResources(jar);
         resources.writeToJava(options.mJava);
     }
diff --git a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/MoreKeysResources.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java
similarity index 88%
rename from tools/makelabel/src/com/android/inputmethod/latin/makelabel/MoreKeysResources.java
rename to tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java
index 1dfb853..a483593 100644
--- a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/MoreKeysResources.java
+++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.inputmethod.latin.makelabel;
+package com.android.inputmethod.latin.maketext;
 
 import java.io.Closeable;
 import java.io.File;
@@ -30,13 +30,13 @@
 import java.util.jar.JarFile;
 
 public class MoreKeysResources {
-    private static final String LABEL_RESOURCE_NAME = "donottranslate-more-keys.xml";
+    private static final String TEXT_RESOURCE_NAME = "donottranslate-more-keys.xml";
 
-    private static final String JAVA_TEMPLATE = "KeyboardLabelsSet.tmpl";
+    private static final String JAVA_TEMPLATE = "KeyboardTextsSet.tmpl";
     private static final String MARK_NAMES = "@NAMES@";
-    private static final String MARK_DEFAULT_LABELS = "@DEFAULT_LABELS@";
-    private static final String MARK_LABELS = "@LABELS@";
-    private static final String MARK_LANGUAGES_AND_LABELS = "@LANGUAGES_AND_LABELS@";
+    private static final String MARK_DEFAULT_TEXTS = "@DEFAULT_TEXTS@";
+    private static final String MARK_TEXTS = "@TEXTS@";
+    private static final String MARK_LANGUAGES_AND_TEXTS = "@LANGUAGES_AND_TEXTS@";
     private static final String DEFAUT_LANGUAGE_NAME = "DEFAULT";
     private static final String ARRAY_NAME_FOR_LANGUAGE = "LANGUAGE_%s";
     private static final String EMPTY_STRING_VAR = "EMPTY";
@@ -53,7 +53,7 @@
 
     public MoreKeysResources(final JarFile jar) {
         mJar = jar;
-        final ArrayList<String> resources = JarUtils.getNameListing(jar, LABEL_RESOURCE_NAME);
+        final ArrayList<String> resources = JarUtils.getNameListing(jar, TEXT_RESOURCE_NAME);
         for (final String name : resources) {
             final String dirName = name.substring(0, name.lastIndexOf('/'));
             final int pos = dirName.lastIndexOf('/');
@@ -118,11 +118,11 @@
         while ((line = in.readLine()) != null) {
             if (line.contains(MARK_NAMES)) {
                 dumpNames(out);
-            } else if (line.contains(MARK_DEFAULT_LABELS)) {
-                dumpDefaultLabels(out);
-            } else if (line.contains(MARK_LABELS)) {
-                dumpLabels(out);
-            } else if (line.contains(MARK_LANGUAGES_AND_LABELS)) {
+            } else if (line.contains(MARK_DEFAULT_TEXTS)) {
+                dumpDefaultTexts(out);
+            } else if (line.contains(MARK_TEXTS)) {
+                dumpTexts(out);
+            } else if (line.contains(MARK_LANGUAGES_AND_TEXTS)) {
                 dumpLanguageMap(out);
             } else {
                 out.println(line);
@@ -140,12 +140,12 @@
         }
     }
 
-    private void dumpDefaultLabels(final PrintStream out) {
+    private void dumpDefaultTexts(final PrintStream out) {
         final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME);
-        dumpLabelsInternal(out, defaultResMap, defaultResMap);
+        dumpTextsInternal(out, defaultResMap, defaultResMap);
     }
 
-    private void dumpLabels(final PrintStream out) {
+    private void dumpTexts(final PrintStream out) {
         final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME);
         final ArrayList<String> allLanguages = new ArrayList<String>();
         allLanguages.addAll(mResourcesMap.keySet());
@@ -158,7 +158,7 @@
             out.format("    private static final String[] " + ARRAY_NAME_FOR_LANGUAGE + " = {\n",
                     language);
             final StringResourceMap resMap = mResourcesMap.get(language);
-            dumpLabelsInternal(out, resMap, defaultResMap);
+            dumpTextsInternal(out, resMap, defaultResMap);
             out.format("    };\n\n");
         }
     }
@@ -181,7 +181,7 @@
         }
     }
 
-    private static void dumpLabelsInternal(final PrintStream out, final StringResourceMap resMap,
+    private static void dumpTextsInternal(final PrintStream out, final StringResourceMap resMap,
             final StringResourceMap defaultResMap) {
         final ArrayInitializerFormatter formatter =
                 new ArrayInitializerFormatter(out, 100, "        ");
@@ -235,7 +235,7 @@
         String t = text;
         t = replaceAll(t, "\\?", "?");
         t = replaceAll(t, "\\@", "@");
-        t = replaceAll(t, "@string/", "!label/");
+        t = replaceAll(t, "@string/", "!text/");
         return t;
     }
 
diff --git a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/StringResource.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/StringResource.java
similarity index 94%
rename from tools/makelabel/src/com/android/inputmethod/latin/makelabel/StringResource.java
rename to tools/maketext/src/com/android/inputmethod/latin/maketext/StringResource.java
index 793483c..568a896 100644
--- a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/StringResource.java
+++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/StringResource.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.inputmethod.latin.makelabel;
+package com.android.inputmethod.latin.maketext;
 
 public class StringResource {
     public final String mName;
diff --git a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/StringResourceMap.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/StringResourceMap.java
similarity index 98%
rename from tools/makelabel/src/com/android/inputmethod/latin/makelabel/StringResourceMap.java
rename to tools/maketext/src/com/android/inputmethod/latin/maketext/StringResourceMap.java
index 764421f..6ceea5a 100644
--- a/tools/makelabel/src/com/android/inputmethod/latin/makelabel/StringResourceMap.java
+++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/StringResourceMap.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.inputmethod.latin.makelabel;
+package com.android.inputmethod.latin.maketext;
 
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
