diff options
author | rsadam <rsadam@chromium.org> | 2015-02-20 12:32:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-20 20:33:26 +0000 |
commit | 2efab111c9c1e73cc2fdce43e49b57acff343176 (patch) | |
tree | 42f5791a38151238c1f7cfd6cab9be8b45c7cf0d | |
parent | 9f9f038ba648fa01256edba94cb23bd23dbf9136 (diff) | |
download | chromium_src-2efab111c9c1e73cc2fdce43e49b57acff343176.zip chromium_src-2efab111c9c1e73cc2fdce43e49b57acff343176.tar.gz chromium_src-2efab111c9c1e73cc2fdce43e49b57acff343176.tar.bz2 |
Update Google Input Tools.
BUG=450050
Review URL: https://codereview.chromium.org/941473002
Cr-Commit-Position: refs/heads/master@{#317390}
87 files changed, 724 insertions, 349 deletions
diff --git a/third_party/google_input_tools/README.chromium b/third_party/google_input_tools/README.chromium index 3ae0a96..da32a65 100644 --- a/third_party/google_input_tools/README.chromium +++ b/third_party/google_input_tools/README.chromium @@ -1,8 +1,8 @@ Name: Google Input Tools Short Name: google_input_tools URL: https://github.com/googlei18n/google-input-tools.git -Version: 1.0.6.0 -Revision: @30ffaf3940d79fe88160fa2d3eccb5134953481a +Version: 1.0.6.1 +Revision: @6e95b6e74690a04a6effe624bfe1c54ad802b7ec License: Apache 2.0 License File: LICENSE Security Critical: yes diff --git a/third_party/google_input_tools/inputview.gypi b/third_party/google_input_tools/inputview.gypi index 82a68ac..a9821aa 100644 --- a/third_party/google_input_tools/inputview.gypi +++ b/third_party/google_input_tools/inputview.gypi @@ -41,8 +41,8 @@ 'src/chrome/os/inputview/elements/content/expandedcandidateview.js', 'src/chrome/os/inputview/elements/content/functionalkey.js', 'src/chrome/os/inputview/elements/content/gaussianestimator.js', + 'src/chrome/os/inputview/elements/content/gesturecanvasview.js', 'src/chrome/os/inputview/elements/content/handwritingview.js', - 'src/chrome/os/inputview/elements/content/indicator.js', 'src/chrome/os/inputview/elements/content/keyboardview.js', 'src/chrome/os/inputview/elements/content/keysetview.js', 'src/chrome/os/inputview/elements/content/material/spacekey.js', @@ -51,6 +51,7 @@ 'src/chrome/os/inputview/elements/content/menuview.js', 'src/chrome/os/inputview/elements/content/modifierkey.js', 'src/chrome/os/inputview/elements/content/morekeysshiftoperation.js', + 'src/chrome/os/inputview/elements/content/pageindicator.js', 'src/chrome/os/inputview/elements/content/selectview.js', 'src/chrome/os/inputview/elements/content/softkey.js', 'src/chrome/os/inputview/elements/content/spacekey.js', @@ -70,6 +71,8 @@ 'src/chrome/os/inputview/emojitype.js', 'src/chrome/os/inputview/events.js', 'src/chrome/os/inputview/events/keycodes.js', + 'src/chrome/os/inputview/featurename.js', + 'src/chrome/os/inputview/featuretracker.js', 'src/chrome/os/inputview/globalflags.js', 'src/chrome/os/inputview/globalsettings.js', 'src/chrome/os/inputview/handler/pointeractionbundle.js', @@ -112,8 +115,8 @@ 'src/chrome/os/message/event.js', 'src/chrome/os/message/name.js', 'src/chrome/os/message/type.js', - 'src/chrome/os/soundcontroller.js', - 'src/chrome/os/sounds.js', + 'src/chrome/os/sounds/soundcontroller.js', + 'src/chrome/os/sounds/sounds.js', 'src/chrome/os/statistics.js', 'third_party/closure_library/closure/goog/a11y/aria/announcer.js', 'third_party/closure_library/closure/goog/a11y/aria/aria.js', diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/am/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/am/messages.json index 8bde55a..5b75439 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/am/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/am/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u1208\u121a\u12a8\u1270\u1208\u12cd \u12a5\u122d\u121b\u1276\u127d\u1295 \u127d\u120b \u1260\u120d" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u12e8\u12a5\u1265\u122b\u12ed\u1235\u1325 \u1241\u120d\u134d \u1230\u120c\u12f3 \u1245\u1295\u1265\u122e\u127d \u1308\u133d" }, @@ -3282,7 +3285,7 @@ "message": "\u12e8\u1270\u1218\u1228\u1321\u1275\u1295 \u12a0\u1235\u12c8\u130d\u12f5" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u1201\u1209\u1295\u121d \u12e8\u1218\u12dd\u1308\u1260-\u1243\u120b\u1275 \u130d\u1264\u1276\u127d\u1295 \u12f3\u130d\u121d \u12a0\u1235\u1300\u121d\u122d" }, "user_dict_save": { "message": "\u12a0\u1235\u1240\u121d\u1325" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ar/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ar/messages.json index 39b778e..1d74865 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ar/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ar/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u062a\u062c\u0627\u0647\u0644 \u062a\u0635\u062d\u064a\u062d \u0644\u0640" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0635\u0641\u062d\u0629 \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u0639\u0628\u0631\u064a\u0629" }, @@ -3282,7 +3285,7 @@ "message": "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u0629" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u062c\u0645\u064a\u0639 \u0625\u062f\u062e\u0627\u0644\u0627\u062a \u0627\u0644\u0642\u0627\u0645\u0648\u0633" }, "user_dict_save": { "message": "\u062d\u0641\u0638" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/bg/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/bg/messages.json index 7c23209..0f94f84 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/bg/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/bg/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u041f\u0440\u0435\u043d\u0435\u0431\u0440\u0435\u0433\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u0440\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430\u0442\u0430 \u043d\u0430 \u0438\u0432\u0440\u0438\u0442" }, @@ -3282,7 +3285,7 @@ "message": "\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u0431\u0440\u0430\u043d\u043e\u0442\u043e" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u041d\u0443\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0440\u0435\u0447\u043d\u0438\u043a\u0430" }, "user_dict_save": { "message": "\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/bn/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/bn/messages.json index d1fbac5..dbe0158 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/bn/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/bn/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u098f\u09b0 \u099c\u09a8\u09cd\u09af \u0995\u09b0\u09be \u09b8\u0982\u09b6\u09cb\u09a7\u09a8 \u0989\u09aa\u09c7\u0995\u09cd\u09b7\u09be \u0995\u09b0\u09c1\u09a8" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u09b9\u09bf\u09ac\u09cd\u09b0\u09c1 \u0995\u09c0\u09ac\u09cb\u09b0\u09cd\u09a1 \u09b8\u09c7\u099f\u09bf\u0982\u09b8 \u09aa\u09c3\u09b7\u09cd\u09a0\u09be" }, @@ -3282,7 +3285,7 @@ "message": "\u09a8\u09bf\u09b0\u09cd\u09ac\u09be\u099a\u09bf\u09a4 \u09b8\u09b0\u09be\u09a8" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u09b8\u09ae\u09b8\u09cd\u09a4 \u0985\u09ad\u09bf\u09a7\u09be\u09a8 \u098f\u09a8\u09cd\u099f\u09cd\u09b0\u09bf\u0997\u09c1\u09b2\u09bf \u09aa\u09c1\u09a8\u09b0\u09be\u09df \u09b8\u09c7\u099f \u0995\u09b0\u09c1\u09a8" }, "user_dict_save": { "message": "\u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09a3 \u0995\u09b0\u09c1\u09a8" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ca/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ca/messages.json index 5af81f0..09a064b 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ca/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ca/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignora la correcci\u00f3 de" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "P\u00e0gina de configuraci\u00f3 del teclat hebreu" }, @@ -3282,7 +3285,7 @@ "message": "Suprimeix les seleccionades" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Restableix totes les entrades de diccionari" }, "user_dict_save": { "message": "Desa" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/cs/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/cs/messages.json index 72dffcc..e709c9d 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/cs/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/cs/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorovat opravu pro" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Str\u00e1nka nastaven\u00ed hebrejsk\u00e9 kl\u00e1vesnice" }, @@ -3282,7 +3285,7 @@ "message": "Odstranit vybran\u00e9" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Resetovat v\u0161echny polo\u017eky ve slovn\u00edku" }, "user_dict_save": { "message": "Ulo\u017eit" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/da/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/da/messages.json index f928550..2db1bd2 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/da/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/da/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorer rettelsen af" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Side med indstillinger for hebraisk tastatur" }, @@ -3282,7 +3285,7 @@ "message": "Fjern markering" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Nulstil alle opslag i ordbogen" }, "user_dict_save": { "message": "Gem" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/de/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/de/messages.json index 9d8bf65..b7245b5 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/de/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/de/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Korrektur ignorieren f\u00fcr" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Seite mit Einstellungen f\u00fcr hebr\u00e4ische Tastatur" }, @@ -3282,7 +3285,7 @@ "message": "Auswahl entfernen" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Alle W\u00f6rterbucheintr\u00e4ge zur\u00fccksetzen" }, "user_dict_save": { "message": "Speichern" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/el/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/el/messages.json index 58b4d65..53dbfb7 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/el/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/el/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u03a0\u03b1\u03c1\u03ac\u03b2\u03bb\u03b5\u03c8\u03b7 \u03b4\u03b9\u03cc\u03c1\u03b8\u03c9\u03c3\u03b7\u03c2 \u03b3\u03b9\u03b1" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u03a3\u03b5\u03bb\u03af\u03b4\u03b1 \u03c1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03c9\u03bd \u03c0\u03bb\u03b7\u03ba\u03c4\u03c1\u03bf\u03bb\u03bf\u03b3\u03af\u03bf\u03c5 \u03b5\u03b2\u03c1\u03b1\u03ca\u03ba\u03ce\u03bd \u03c7\u03b1\u03c1\u03b1\u03ba\u03c4\u03ae\u03c1\u03c9\u03bd" }, @@ -3282,7 +3285,7 @@ "message": "\u039a\u03b1\u03c4\u03ac\u03c1\u03b3\u03b7\u03c3\u03b7 \u03b5\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03c9\u03bd" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac \u03cc\u03bb\u03c9\u03bd \u03c4\u03c9\u03bd \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03af\u03c3\u03b5\u03c9\u03bd \u03bb\u03b5\u03be\u03b9\u03ba\u03bf\u03cd" }, "user_dict_save": { "message": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/en/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/en/messages.json index 724c42c..04ec569 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/en/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/en/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignore correction for" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Hebrew Keyboard Settings Page" }, diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/en_GB/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/en_GB/messages.json index 90bf918..d0437a5 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/en_GB/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/en_GB/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignore correction for" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Hebrew Keyboard Settings Page" }, @@ -3282,7 +3285,7 @@ "message": "Remove Selected" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Reset all dictionary entries" }, "user_dict_save": { "message": "Save" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/es/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/es/messages.json index 767ae62..a8969a8 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/es/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/es/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorar correcci\u00f3n de" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "P\u00e1gina de configuraci\u00f3n del teclado hebreo" }, @@ -3282,7 +3285,7 @@ "message": "Eliminar selecci\u00f3n" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Restablecer todas las entradas del diccionario" }, "user_dict_save": { "message": "Guardar" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/es_419/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/es_419/messages.json index ab90857..72a688e 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/es_419/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/es_419/messages.json @@ -2571,7 +2571,7 @@ "message": "Expandir" }, "expand_candidates": { - "message": "ampliar lista de candidatos" + "message": "expandir lista de candidatos" }, "fi_fin_settings_page": { "message": "P\u00e1gina de configuraci\u00f3n del teclado fin\u00e9s" @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorar correcci\u00f3n de" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "P\u00e1gina de configuraci\u00f3n del teclado hebreo" }, @@ -3282,7 +3285,7 @@ "message": "Eliminar selecci\u00f3n" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Restablecer todas las entradas del diccionario" }, "user_dict_save": { "message": "Guardar" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/et/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/et/messages.json index d45b93f..9a30785 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/et/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/et/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignoreeri parandust:" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Heebrea klaviatuuri seadete leht" }, @@ -3282,7 +3285,7 @@ "message": "Eemalda valitud" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "L\u00e4htesta s\u00f5nastiku k\u00f5ik kanded" }, "user_dict_save": { "message": "Salvesta" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fa/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fa/messages.json index ee2afa3..dc3a1a2 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fa/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fa/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u062a\u0635\u062d\u06cc\u062d \u0628\u0631\u0627\u06cc" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0635\u0641\u062d\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0635\u0641\u062d\u0647\u200c\u06a9\u0644\u06cc\u062f \u0639\u0628\u0631\u06cc" }, @@ -3282,7 +3285,7 @@ "message": "\u062d\u0630\u0641 \u0627\u0646\u062a\u062e\u0627\u0628\u200c\u0634\u062f\u0647\u200c\u0647\u0627" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0628\u0627\u0632\u0646\u0634\u0627\u0646\u06cc \u0647\u0645\u0647 \u0648\u0631\u0648\u062f\u06cc\u200c\u0647\u0627\u06cc \u0641\u0631\u0647\u0646\u06af \u0644\u063a\u062a" }, "user_dict_save": { "message": "\u0630\u062e\u06cc\u0631\u0647" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fi/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fi/messages.json index 3fd2327..ea73a4b 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fi/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fi/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u00c4l\u00e4 korjaa:" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Hepreankielisen n\u00e4pp\u00e4imist\u00f6n asetukset" }, @@ -3282,7 +3285,7 @@ "message": "Poista valitut" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Nollaa koko sanakirjan sis\u00e4lt\u00f6" }, "user_dict_save": { "message": "Tallenna" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fil/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fil/messages.json index e7a294a..8f6d111 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fil/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fil/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Huwag pansinin ang pagwawasto para sa" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Page ng Mga Setting ng Hebrew na Keyboard" }, @@ -3282,7 +3285,7 @@ "message": "Alisin ang Napili" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "I-reset ang Lahat ng Entry sa Diksyunaryo" }, "user_dict_save": { "message": "I-save" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fr/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fr/messages.json index b8dcbab..989a421 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/fr/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/fr/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorer la correction pour" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Page des param\u00e8tres du clavier h\u00e9breu" }, @@ -3282,7 +3285,7 @@ "message": "Supprimer la s\u00e9lection" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "R\u00e9initialiser toutes les entr\u00e9es du dictionnaire" }, "user_dict_save": { "message": "Enregistrer" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/gu/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/gu/messages.json index dc80c64..01f5eb0 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/gu/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/gu/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0a86 \u0aae\u0abe\u0a9f\u0ac7\u0aa8\u0abe \u0ab8\u0ac1\u0aa7\u0abe\u0ab0\u0aa8\u0ac7 \u0a85\u0ab5\u0a97\u0aa3\u0acb" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0ab9\u0ac0\u0aac\u0acd\u0ab0\u0ac1 \u0a95\u0ac0\u0aac\u0acb\u0ab0\u0acd\u0aa1 \u0ab8\u0ac7\u0a9f\u0abf\u0a82\u0a97\u0acd\u0ab8 \u0aaa\u0ac3\u0ab7\u0acd\u0aa0" }, @@ -3282,7 +3285,7 @@ "message": "\u0aaa\u0ab8\u0a82\u0aa6 \u0a95\u0ab0\u0ac7\u0ab2\u0ac1\u0a82 \u0aa6\u0ac2\u0ab0 \u0a95\u0ab0\u0acb" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0aa4\u0aae\u0abe\u0aae \u0ab6\u0aac\u0acd\u0aa6\u0a95\u0acb\u0ab6 \u0a8f\u0aa8\u0acd\u0a9f\u0acd\u0ab0\u0ac0\u0a93\u0aa8\u0ac7 \u0aab\u0ab0\u0ac0\u0aa5\u0ac0 \u0ab8\u0ac7\u0a9f \u0a95\u0ab0\u0acb" }, "user_dict_save": { "message": "\u0ab8\u0abe\u0a9a\u0ab5\u0acb" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/hi/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/hi/messages.json index 57e1f6c..926044e 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/hi/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/hi/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0907\u0938\u0915\u0947 \u0932\u093f\u090f \u0938\u0941\u0927\u093e\u0930 \u092a\u0930 \u0927\u094d\u092f\u093e\u0928 \u0928 \u0926\u0947\u0902" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0939\u093f\u092c\u094d\u0930\u0942 \u0915\u0940\u092c\u094b\u0930\u094d\u0921 \u0938\u0947\u091f\u093f\u0902\u0917 \u092a\u0943\u0937\u094d\u200d\u0920" }, @@ -3282,7 +3285,7 @@ "message": "\u091a\u092f\u0928\u093f\u0924 \u0915\u094b \u0928\u093f\u0915\u093e\u0932\u0947\u0902" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0938\u092d\u0940 \u0936\u092c\u094d\u200d\u0926\u0915\u094b\u0936 \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u200d\u091f\u093f\u092f\u094b\u0902 \u0915\u094b \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0947\u0902" }, "user_dict_save": { "message": "\u0938\u0939\u0947\u091c\u0947\u0902" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/hr/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/hr/messages.json index 20d6c0e..cc453fd 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/hr/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/hr/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Zanemari ispravak za" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Stranica postavki hebrejske tipkovnice" }, @@ -3282,7 +3285,7 @@ "message": "Ukloni odabrano" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Vrati sve rje\u010dni\u010dke unose na zadano" }, "user_dict_save": { "message": "Spremi" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/hu/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/hu/messages.json index 3bdb3d4..af4f8b5 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/hu/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/hu/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Jav\u00edt\u00e1s mell\u0151z\u00e9se enn\u00e9l a sz\u00f3n\u00e1l:" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "H\u00e9ber billenty\u0171zet be\u00e1ll\u00edt\u00e1sainak oldala" }, @@ -3282,7 +3285,7 @@ "message": "Kijel\u00f6lt(ek) elt\u00e1vol\u00edt\u00e1sa" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "A sz\u00f3t\u00e1rban v\u00e9grehajtott \u00f6sszes m\u00f3dos\u00edt\u00e1s vissza\u00e1ll\u00edt\u00e1sa" }, "user_dict_save": { "message": "Ment\u00e9s" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/id/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/id/messages.json index 4623445..a6df20e 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/id/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/id/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Abaikan koreksi untuk" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Laman Setelan Keyboard Ibrani" }, @@ -3282,7 +3285,7 @@ "message": "Hapus yang Dipilih" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Setel Ulang Semua Entri Kamus" }, "user_dict_save": { "message": "Simpan" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/it/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/it/messages.json index b11c616..39837d9 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/it/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/it/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignora correzione di:" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Pagina Impostazioni tastiera Ebraico" }, @@ -3282,7 +3285,7 @@ "message": "Rimuovi selezionati" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Reimposta tutte le voci di dizionario" }, "user_dict_save": { "message": "Salva" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/iw/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/iw/messages.json index 205cc72..aedadc0 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/iw/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/iw/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u05d4\u05ea\u05e2\u05dc\u05dd \u05de\u05ea\u05d9\u05e7\u05d5\u05df \u05e9\u05dc" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u05d3\u05e3 \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05e9\u05dc \u05de\u05e7\u05dc\u05d3\u05ea \u05e2\u05d1\u05e8\u05d9\u05ea" }, @@ -3282,7 +3285,7 @@ "message": "\u05d4\u05e1\u05e8 \u05e2\u05e8\u05da \u05e0\u05d1\u05d7\u05e8" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u05d0\u05e4\u05e1 \u05d0\u05ea \u05db\u05dc \u05e2\u05e8\u05db\u05d9 \u05d4\u05de\u05d9\u05dc\u05d5\u05df" }, "user_dict_save": { "message": "\u05e9\u05de\u05d5\u05e8" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ja/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ja/messages.json index a1beb42..9713b9f 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ja/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ja/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u6b21\u306e\u8a9e\u306f\u4fee\u6b63\u3057\u306a\u3044:" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u30d8\u30d6\u30e9\u30a4\u8a9e\u30ad\u30fc\u30dc\u30fc\u30c9\u8a2d\u5b9a\u30da\u30fc\u30b8" }, @@ -3282,7 +3285,7 @@ "message": "\u9078\u629e\u9805\u76ee\u3092\u524a\u9664" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u3059\u3079\u3066\u306e\u8f9e\u66f8\u9805\u76ee\u3092\u30ea\u30bb\u30c3\u30c8" }, "user_dict_save": { "message": "\u4fdd\u5b58" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/kn/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/kn/messages.json index d976d11..7e68532 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/kn/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/kn/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0c87\u0ca6\u0c95\u0ccd\u0c95\u0cbe\u0c97\u0cbf \u0cb8\u0cb0\u0cbf\u0caa\u0ca1\u0cbf\u0cb8\u0cc1\u0cb5\u0cbf\u0c95\u0cc6\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca8\u0cbf\u0cb0\u0ccd\u0cb2\u0c95\u0ccd\u0cb7\u0cbf\u0cb8\u0cbf" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0cb9\u0cbf\u0cac\u0ccd\u0cb0\u0cc2 \u0c95\u0cbf\u0cd5\u0cac\u0cc6\u0cc2\u0cd5\u0cb0\u0ccd\u0ca1\u0ccd \u0cb8\u0cc6\u0c9f\u0ccd\u0c9f\u0cbf\u0c82\u0c97\u0ccd\u200c\u0c97\u0cb3 \u0caa\u0cc1\u0c9f" }, @@ -3282,7 +3285,7 @@ "message": "\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0cb0\u0cc1\u0cb5\u0cc1\u0ca6\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca4\u0cc6\u0c97\u0cc6\u0ca6\u0cc1\u0cb9\u0cbe\u0c95\u0cbf" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0cb6\u0cac\u0ccd\u0ca6\u0c95\u0ccb\u0cb6\u0ca6 \u0c8e\u0cb2\u0ccd\u0cb2\u0cbe \u0ca8\u0cae\u0cc2\u0ca6\u0cc1\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0cae\u0cb0\u0cc1\u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0cb8\u0cbf" }, "user_dict_save": { "message": "\u0c89\u0cb3\u0cbf\u0cb8\u0cc1" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ko/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ko/messages.json index 20a139d..75dc586 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ko/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ko/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\uc790\ub3d9 \uc218\uc815 \uae30\ub2a5 \ubb34\uc2dc" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\ud788\ube0c\ub9ac\uc5b4 \ud0a4\ubcf4\ub4dc \uc124\uc815 \ud398\uc774\uc9c0" }, @@ -3282,7 +3285,7 @@ "message": "\uc120\ud0dd \ud56d\ubaa9 \uc0ad\uc81c" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\ubaa8\ub4e0 \uc0ac\uc804 \ud56d\ubaa9 \ucd08\uae30\ud654" }, "user_dict_save": { "message": "\uc800\uc7a5" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/lt/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/lt/messages.json index 57ebfd7..a8bb5d2 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/lt/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/lt/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignoruoti pataisym\u0105" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Hebraji\u0161kos klaviat\u016bros nustatym\u0173 puslapis" }, @@ -3282,7 +3285,7 @@ "message": "Pa\u0161alinti pasirinktus" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Nustatyti visus \u017eodyno \u012fra\u0161us i\u0161 naujo" }, "user_dict_save": { "message": "I\u0161saugoti" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/lv/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/lv/messages.json index 7d90fc9..8be3566 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/lv/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/lv/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignor\u0113t labojumu v\u0101rdam" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Ebreju valodas tastat\u016bras iestat\u012bjumu lapa" }, @@ -3282,7 +3285,7 @@ "message": "No\u0146emt atlas\u012btos" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Atiestat\u012bt visus v\u0101rdn\u012bcas ierakstus" }, "user_dict_save": { "message": "Saglab\u0101t" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ml/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ml/messages.json index 5860bc5..25e1d44 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ml/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ml/messages.json @@ -2631,7 +2631,10 @@ "message": "\u0d10\u0d31\u0d3f\u0d37\u0d4d \u0d15\u0d40\u0d2c\u0d4b\u0d7c\u0d21\u0d4d \u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23 \u0d2a\u0d47\u0d1c\u0d4d" }, "ignore_correction": { - "message": "\u0d0e\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d41\u0d33\u0d4d\u0d33 \u0d24\u0d3f\u0d30\u0d41\u0d24\u0d4d\u0d24\u0d7d \u0d05\u0d35\u0d17\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15" + "message": "\u0d08 \u0d35\u0d3e\u0d15\u0d4d\u0d15\u0d3f\u0d28\u0d41\u0d33\u0d4d\u0d33 \u0d24\u0d3f\u0d30\u0d41\u0d24\u0d4d\u0d24\u0d7d \u0d05\u0d35\u0d17\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15" + }, + "ignore_correction_short": { + "message": "Ignore correction" }, "il_heb_settings_page": { "message": "\u0d39\u0d40\u0d2c\u0d4d\u0d30\u0d41 \u0d15\u0d40\u0d2c\u0d4b\u0d7c\u0d21\u0d4d \u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23 \u0d2a\u0d47\u0d1c\u0d4d" @@ -3282,7 +3285,7 @@ "message": "\u0d24\u0d3f\u0d30\u0d1e\u0d4d\u0d1e\u0d46\u0d1f\u0d41\u0d24\u0d4d\u0d24\u0d35 \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d02\u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0d0e\u0d32\u0d4d\u0d32\u0d3e \u0d28\u0d3f\u0d18\u0d23\u0d4d\u0d1f\u0d41 \u0d0e\u0d7b\u0d1f\u0d4d\u0d30\u0d3f\u0d15\u0d33\u0d41\u0d02 \u0d31\u0d40\u0d38\u0d46\u0d31\u0d4d\u0d31\u0d41\u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15" }, "user_dict_save": { "message": "\u0d38\u0d02\u0d30\u0d15\u0d4d\u0d37\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/mr/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/mr/messages.json index f1bd1ba..06ff85c 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/mr/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/mr/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u092f\u093e\u0938\u093e\u0920\u0940 \u0938\u0941\u0927\u093e\u0930\u0923\u0947\u0915\u0921\u0947 \u0926\u0941\u0930\u094d\u0932\u0915\u094d\u0937 \u0915\u0930\u093e" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0939\u093f\u092c\u094d\u0930\u0942 \u0915\u0940\u092c\u094b\u0930\u094d\u0921 \u0938\u0947\u091f\u093f\u0902\u0917\u094d\u091c \u092a\u0943\u0937\u094d\u0920" }, @@ -3282,7 +3285,7 @@ "message": "\u0928\u093f\u0935\u0921\u0932\u0947\u0932\u0947 \u0915\u093e\u0922\u093e" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0938\u0930\u094d\u0935 \u0936\u092c\u094d\u0926\u0915\u094b\u0936 \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u091f\u094d\u092f\u093e \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u093e" }, "user_dict_save": { "message": "\u091c\u0924\u0928 \u0915\u0930\u093e" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ms/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ms/messages.json index a868482..cd00ee5 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ms/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ms/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Abaikan pembetulan untuk" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Halaman Tetapan Papan Kekunci Ibrani" }, @@ -3282,7 +3285,7 @@ "message": "Alih Keluar Pilihan" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Tetapkan Semula Semua Masukan Kamus" }, "user_dict_save": { "message": "Simpan" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/nb/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/nb/messages.json index 6b5ce04..3b67ede 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/nb/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/nb/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorer korrigering av" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Innstillinger-side for hebraisk tastatur" }, @@ -3282,7 +3285,7 @@ "message": "Fjern valgte" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Tilbakestill alle ordbokbidrag" }, "user_dict_save": { "message": "Lagre" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/nl/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/nl/messages.json index 63de460d..45f0969 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/nl/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/nl/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Correctie negeren voor" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Pagina met instellingen voor Hebreeuws toetsenbord" }, @@ -3282,7 +3285,7 @@ "message": "Selectie verwijderen" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Alle woordenboekvermeldingen opnieuw instellen" }, "user_dict_save": { "message": "Opslaan" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/pl/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/pl/messages.json index aa9150c..2a751bc 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/pl/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/pl/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignoruj korekt\u0119" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Strona ustawie\u0144 klawiatury hebrajskiej" }, @@ -3282,7 +3285,7 @@ "message": "Usu\u0144 zaznaczone" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Zresetuj wszystkie wpisy s\u0142ownika" }, "user_dict_save": { "message": "Zapisz" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_BR/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_BR/messages.json index 3b42b3c..55e5003 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_BR/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_BR/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorar corre\u00e7\u00e3o para" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "P\u00e1gina de configura\u00e7\u00f5es do teclado hebraico" }, @@ -3282,7 +3285,7 @@ "message": "Remover entradas selecionadas" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Redefinir todas as entradas do dicion\u00e1rio" }, "user_dict_save": { "message": "Salvar" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_PT/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_PT/messages.json index d4bd96e..1a3317c 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_PT/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/pt_PT/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorar corre\u00e7\u00e3o para" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "P\u00e1gina de defini\u00e7\u00f5es do teclado hebraico" }, @@ -3282,7 +3285,7 @@ "message": "Remover selecionadas" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Repor todas as entradas do dicion\u00e1rio" }, "user_dict_save": { "message": "Guardar" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ro/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ro/messages.json index d156016..4b9177f 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ro/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ro/messages.json @@ -39,7 +39,7 @@ "message": "Pagina de set\u0103ri pentru tastatura belgian\u0103 (german\u0103)" }, "be_nld_settings_page": { - "message": "Pagina de set\u0103ri pentru tastatura belgian\u0103 (olandez\u0103)" + "message": "Pagina de set\u0103ri pentru tastatura belgian\u0103 (neerlandez\u0103)" }, "bg_bul_settings_page": { "message": "Pagina de set\u0103ri pentru tastatura bulgar\u0103" @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignor\u0103 corectura pentru" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Pagina de set\u0103ri pentru tastatura ebraic\u0103" }, @@ -3282,7 +3285,7 @@ "message": "Elimin\u0103-le pe cele selectate" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Reseteaz\u0103 toate intr\u0103rile din dic\u021bionar" }, "user_dict_save": { "message": "Salveaz\u0103" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ru/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ru/messages.json index 6dfb2d0..0263f1f 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ru/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ru/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c:" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438 \u043d\u0430 \u0438\u0432\u0440\u0438\u0442\u0435" }, @@ -3282,7 +3285,7 @@ "message": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0435" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u043e\u0432\u0430\u0440\u044c" }, "user_dict_save": { "message": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sk/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sk/messages.json index fb0d7f3..d8d11b0 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sk/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sk/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorova\u0165 opravu pre" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Str\u00e1nka s nastaveniami hebrejskej kl\u00e1vesnice" }, @@ -3282,7 +3285,7 @@ "message": "Odstr\u00e1ni\u0165 vybran\u00e9" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Resetova\u0165 v\u0161etky polo\u017eky v slovn\u00edku" }, "user_dict_save": { "message": "Ulo\u017ei\u0165" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sl/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sl/messages.json index f2aaca2..bba5c5e 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sl/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sl/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Prezri popravek za" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Stran z nastavitvami hebrejske tipkovnice" }, @@ -3282,7 +3285,7 @@ "message": "Odstrani izbor" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Ponastavi vse slovarske vnose" }, "user_dict_save": { "message": "Shrani" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sr/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sr/messages.json index 54a16b3..3e4dea6 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sr/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sr/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0417\u0430\u043d\u0435\u043c\u0430\u0440\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u0437\u0430" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441\u0430 \u043f\u043e\u0434\u0435\u0448\u0430\u0432\u0430\u045a\u0438\u043c\u0430 \u0445\u0435\u0431\u0440\u0435\u0458\u0441\u043a\u0435 \u0442\u0430\u0441\u0442\u0430\u0442\u0443\u0440\u0435" }, @@ -3282,7 +3285,7 @@ "message": "\u0423\u043a\u043b\u043e\u043d\u0438 \u0438\u0437\u0430\u0431\u0440\u0430\u043d\u043e" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0420\u0435\u0441\u0435\u0442\u0443\u0458 \u0441\u0432\u0435 \u0443\u043d\u043e\u0441\u0435 \u0443 \u0440\u0435\u0447\u043d\u0438\u043a\u0443" }, "user_dict_save": { "message": "\u0421\u0430\u0447\u0443\u0432\u0430\u0458" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sv/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sv/messages.json index 1bc9b29..75b5ae2 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sv/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sv/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "Ignorera korrigeringen av" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Inst\u00e4llningssidan f\u00f6r hebreiskt tangentbord" }, @@ -3282,7 +3285,7 @@ "message": "Ta bort markerade poster" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u00c5terst\u00e4ll alla \u00e4ndringar i ordlistan" }, "user_dict_save": { "message": "Spara" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sw/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sw/messages.json index a1a125d..073a1c1 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/sw/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/sw/messages.json @@ -2571,7 +2571,7 @@ "message": "Panua" }, "expand_candidates": { - "message": "panua orodha ya wagombea" + "message": "panua orodha ya maneno yanayopendekezwa" }, "fi_fin_settings_page": { "message": "Ukurasa wa Mipangilio ya Kibodi ya Kifini" @@ -2631,7 +2631,10 @@ "message": "Ukurasa wa Mipangilio ya Kibodi ya Kiairishi" }, "ignore_correction": { - "message": "Puuza marekebisho ya neno" + "message": "Puuza usahihishaji wa neno" + }, + "ignore_correction_short": { + "message": "Ignore correction" }, "il_heb_settings_page": { "message": "Ukurasa wa Mipangilio ya Kibodi ya Kiyahudi" @@ -3105,7 +3108,7 @@ "message": "Onyesha mapendekezo ya Hangul" }, "shrink_candidates": { - "message": "punguza orodha ya wagombea" + "message": "punguza orodha ya maneno yanayopendekezwa" }, "si_slv_settings_page": { "message": "Ukurasa wa Mipangilio ya Kibodi ya Kislovania" @@ -3282,7 +3285,7 @@ "message": "Ondoa Uliochaguliwa" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "Weka Upya Mabadiliko Yote ya Kamusi" }, "user_dict_save": { "message": "Hifadhi" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ta/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ta/messages.json index dcf08b3..848cabf 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/ta/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/ta/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0b87\u0ba8\u0bcd\u0ba4\u0b9a\u0bcd \u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bbf\u0ba9\u0bcd \u0ba4\u0bbf\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0ba4\u0bcd\u0ba4\u0bc8\u0ba4\u0bcd \u0ba4\u0bb5\u0bbf\u0bb0\u0bcd" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0bb9\u0bc0\u0baa\u0bcd\u0bb0\u0bc1 \u0bb5\u0bbf\u0b9a\u0bc8\u0baa\u0bcd\u0baa\u0bb2\u0b95\u0bc8 \u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd \u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd" }, @@ -3282,7 +3285,7 @@ "message": "\u0ba4\u0bc7\u0bb0\u0bcd\u0ba8\u0bcd\u0ba4\u0bc6\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bb1\u0bcd\u0bb1\u0bc8 \u0b85\u0b95\u0bb1\u0bcd\u0bb1\u0bc1" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0b8e\u0bb2\u0bcd\u0bb2\u0bbe \u0b85\u0b95\u0bb0\u0bbe\u0ba4\u0bbf \u0b89\u0bb3\u0bcd\u0bb3\u0bc0\u0b9f\u0bc1\u0b95\u0bb3\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bae\u0bc8" }, "user_dict_save": { "message": "\u0b9a\u0bc7\u0bae\u0bbf" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/te/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/te/messages.json index 086a4ff..83ad036 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/te/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/te/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0c26\u0c40\u0c28\u0c3f \u0c26\u0c3f\u0c26\u0c4d\u0c26\u0c41\u0c2c\u0c3e\u0c1f\u0c41\u0c28\u0c3f \u0c35\u0c3f\u0c38\u0c4d\u0c2e\u0c30\u0c3f\u0c02\u0c1a\u0c41" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0c39\u0c3f\u0c2c\u0c4d\u0c30\u0c42 \u0c15\u0c40\u0c2c\u0c4b\u0c30\u0c4d\u0c21\u0c4d \u0c38\u0c46\u0c1f\u0c4d\u0c1f\u0c3f\u0c02\u0c17\u0c4d\u200c\u0c32 \u0c2a\u0c47\u0c1c\u0c40" }, @@ -3282,7 +3285,7 @@ "message": "\u0c0e\u0c02\u0c1a\u0c41\u0c15\u0c41\u0c28\u0c4d\u0c28 \u0c35\u0c3e\u0c1f\u0c3f\u0c28\u0c3f \u0c24\u0c40\u0c38\u0c3f\u0c35\u0c47\u0c2f\u0c3f" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0c05\u0c28\u0c4d\u0c28\u0c3f \u0c28\u0c3f\u0c18\u0c02\u0c1f\u0c41\u0c35\u0c41 \u0c28\u0c2e\u0c4b\u0c26\u0c41\u0c32\u0c28\u0c41 \u0c30\u0c40\u0c38\u0c46\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c3f" }, "user_dict_save": { "message": "\u0c38\u0c47\u0c35\u0c4d \u0c1a\u0c47\u0c2f\u0c3f" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/th/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/th/messages.json index c433fc0..956c7cf 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/th/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/th/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0e25\u0e30\u0e40\u0e27\u0e49\u0e19\u0e01\u0e32\u0e23\u0e41\u0e01\u0e49\u0e44\u0e02\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e41\u0e1b\u0e49\u0e19\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e20\u0e32\u0e29\u0e32\u0e2e\u0e35\u0e1a\u0e23\u0e39" }, @@ -3282,7 +3285,7 @@ "message": "\u0e19\u0e33\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e2d\u0e01" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1e\u0e08\u0e19\u0e32\u0e19\u0e38\u0e01\u0e23\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" }, "user_dict_save": { "message": "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/tr/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/tr/messages.json index 05d1d34..4620db2 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/tr/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/tr/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u015eu kelime i\u00e7in d\u00fczeltmeyi yoksay" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0130branice Klavye Ayarlar\u0131 Sayfas\u0131" }, @@ -3282,7 +3285,7 @@ "message": "Se\u00e7ileni Kald\u0131r" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "T\u00fcm S\u00f6zl\u00fck Giri\u015flerini S\u0131f\u0131rla" }, "user_dict_save": { "message": "Kaydet" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/uk/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/uk/messages.json index 6a1f460..3dbd1f2 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/uk/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/uk/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u0406\u0433\u043d\u043e\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044f \u0441\u043b\u043e\u0432\u0430" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u0421\u0442\u043e\u0440\u0456\u043d\u043a\u0430 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u044c \u043a\u043b\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0438 \u0434\u043b\u044f \u0456\u0432\u0440\u0438\u0442\u0443" }, @@ -3282,7 +3285,7 @@ "message": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043b\u0435\u043d\u0435" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0421\u043a\u0438\u043d\u0443\u0442\u0438 \u0432\u0441\u0456 \u0441\u0442\u0430\u0442\u0442\u0456 \u0441\u043b\u043e\u0432\u043d\u0438\u043a\u0430" }, "user_dict_save": { "message": "\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/vi/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/vi/messages.json index fd6ab5a..337df5f 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/vi/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/vi/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "B\u1ecf qua t\u00ednh n\u0103ng s\u1eeda cho" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "Trang c\u00e0i \u0111\u1eb7t b\u00e0n ph\u00edm ti\u1ebfng Do Th\u00e1i" }, @@ -3282,7 +3285,7 @@ "message": "X\u00f3a m\u1ee5c \u0111\u00e3 ch\u1ecdn" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u0110\u1eb7t l\u1ea1i t\u1ea5t c\u1ea3 c\u00e1c m\u1ee5c t\u1eeb \u0111i\u1ec3n" }, "user_dict_save": { "message": "L\u01b0u" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_CN/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_CN/messages.json index 2e14fe2..b099646 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_CN/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_CN/messages.json @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u4e0d\u81ea\u52a8\u66f4\u6b63\u4ee5\u4e0b\u5b57\u8bcd\uff1a" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u5e0c\u4f2f\u6765\u8bed\u952e\u76d8\u8bbe\u7f6e\u9875\u9762" }, @@ -3282,7 +3285,7 @@ "message": "\u79fb\u9664\u6240\u9009\u5185\u5bb9" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u91cd\u7f6e\u6240\u6709\u5b57\u5178\u6761\u76ee" }, "user_dict_save": { "message": "\u4fdd\u5b58" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_TW/messages.json b/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_TW/messages.json index 4b16377..5df93fc 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_TW/messages.json +++ b/third_party/google_input_tools/src/chrome/os/inputview/_locales/zh_TW/messages.json @@ -2571,7 +2571,7 @@ "message": "\u5c55\u958b" }, "expand_candidates": { - "message": "\u5c55\u958b\u5019\u9078\u6e05\u55ae" + "message": "\u5c55\u958b\u5019\u9078\u5b57\u6e05\u55ae" }, "fi_fin_settings_page": { "message": "\u82ac\u862d\u6587\u9375\u76e4\u8a2d\u5b9a\u9801\u9762" @@ -2633,6 +2633,9 @@ "ignore_correction": { "message": "\u4e0d\u66f4\u6b63\u4ee5\u4e0b\u5b57\u8a5e\uff1a" }, + "ignore_correction_short": { + "message": "Ignore correction" + }, "il_heb_settings_page": { "message": "\u5e0c\u4f2f\u4f86\u6587\u9375\u76e4\u8a2d\u5b9a\u9801\u9762" }, @@ -3105,7 +3108,7 @@ "message": "\u986f\u793a\u97d3\u6587\u5efa\u8b70" }, "shrink_candidates": { - "message": "\u6536\u5408\u5019\u9078\u6e05\u55ae" + "message": "\u6536\u5408\u5019\u9078\u5b57\u6e05\u55ae" }, "si_slv_settings_page": { "message": "\u65af\u6d1b\u7dad\u5c3c\u4e9e\u6587\u9375\u76e4\u8a2d\u5b9a\u9801\u9762" @@ -3282,7 +3285,7 @@ "message": "\u522a\u9664\u6240\u9078\u9805\u76ee" }, "user_dict_reset": { - "message": "Reset All Dictionary Entries" + "message": "\u91cd\u8a2d\u6240\u6709\u5b57\u5178\u689d\u76ee" }, "user_dict_save": { "message": "\u5132\u5b58" diff --git a/third_party/google_input_tools/src/chrome/os/inputview/adapter.js b/third_party/google_input_tools/src/chrome/os/inputview/adapter.js index df41620..bee4f68 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/adapter.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/adapter.js @@ -19,6 +19,8 @@ goog.require('goog.events.EventTarget'); goog.require('goog.events.EventType'); goog.require('goog.object'); goog.require('i18n.input.chrome.DataSource'); +goog.require('i18n.input.chrome.inputview.FeatureName'); +goog.require('i18n.input.chrome.inputview.FeatureTracker'); goog.require('i18n.input.chrome.inputview.GlobalFlags'); goog.require('i18n.input.chrome.inputview.ReadyState'); goog.require('i18n.input.chrome.inputview.StateType'); @@ -33,9 +35,11 @@ goog.require('i18n.input.chrome.message.Type'); goog.scope(function() { var CandidatesBackEvent = i18n.input.chrome.DataSource.CandidatesBackEvent; var ContextType = i18n.input.chrome.message.ContextType; -var Type = i18n.input.chrome.message.Type; +var FeatureTracker = i18n.input.chrome.inputview.FeatureTracker; +var FeatureName = i18n.input.chrome.inputview.FeatureName; var Name = i18n.input.chrome.message.Name; var SizeSpec = i18n.input.chrome.inputview.SizeSpec; +var Type = i18n.input.chrome.message.Type; @@ -64,6 +68,15 @@ i18n.input.chrome.inputview.Adapter = function(readyState) { */ this.modifierState_ = {}; + + /** + * Tracker for which FeatureName are enabled. + * + * @type {!FeatureTracker}; + */ + this.features = new FeatureTracker(); + + /** * The system ready state. * @@ -114,6 +127,7 @@ Adapter.prototype.isVoiceInputEnabled = true; /** @type {boolean} */ Adapter.prototype.showGlobeKey = false; + /** @type {string} */ Adapter.prototype.contextType = ContextType.DEFAULT; @@ -359,20 +373,19 @@ Adapter.prototype.isGestureDeletionEnabled = function() { if (this.contextType == ContextType.URL) { return false; } - return this.isGestureEdittingEnabled(); + return this.features.isEnabled(FeatureName.GESTURE_EDITTING); }; /** - * True to enable gesture editting. + * True to enable gesture typing. * * @return {boolean} */ -Adapter.prototype.isGestureEdittingEnabled = function() { - return this.isExperimental; +Adapter.prototype.isGestureTypingEnabled = function() { + return this.features.isEnabled(FeatureName.GESTURE_TYPING); }; - /** * Callback when blurs in the context. * @@ -483,6 +496,7 @@ Adapter.prototype.initialize = function(languageCode) { inputview.getKeyboardConfig((function(config) { this.isA11yMode = !!config['a11ymode']; this.isExperimental = !!config['experimental']; + this.features.initialize(config); this.readyState_.markStateReady(StateType.KEYBOARD_CONFIG_READY); this.maybeDispatchSettingsReadyEvent_(); }).bind(this)); diff --git a/third_party/google_input_tools/src/chrome/os/inputview/common.css b/third_party/google_input_tools/src/chrome/os/inputview/common.css index 1238b4d..fc84723 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/common.css +++ b/third_party/google_input_tools/src/chrome/os/inputview/common.css @@ -219,6 +219,16 @@ background: #f5f5f5; display: -webkit-box; } +.inputview-gesture-canvas-view { + /* Overlap */ + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: 1; + pointer-events: none; +} .inputview-globe-icon { background: transparent url('images/globe.png') 0 0 / 21px 21px no-repeat; display: inline-block; @@ -355,6 +365,9 @@ background: transparent url('images/down.png') 0 0/16px 13.5px no-repeat; width: 16px; } +.inputview-drawing-canvas { + pointer-events: none; +} .inputview-left-key { background: transparent url('images/left.png') 0 0/9px 13.5px no-repeat; width: 9px; diff --git a/third_party/google_input_tools/src/chrome/os/inputview/config/t13n-rtl_data.js b/third_party/google_input_tools/src/chrome/os/inputview/config/t13n-rtl_data.js deleted file mode 100644 index 2baf604..0000000 --- a/third_party/google_input_tools/src/chrome/os/inputview/config/t13n-rtl_data.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved. -// limitations under the License. -// See the License for the specific language governing permissions and -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// distributed under the License is distributed on an "AS-IS" BASIS, -// Unless required by applicable law or agreed to in writing, software -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// You may obtain a copy of the License at -// you may not use this file except in compliance with the License. -// Licensed under the Apache License, Version 2.0 (the "License"); -// -goog.require('i18n.input.chrome.inputview.content.ContextlayoutUtil'); -goog.require('i18n.input.chrome.inputview.content.util'); -goog.require('i18n.input.chrome.message.ContextType'); - -(function() { - var viewIdPrefix_ = '101kbd-k-'; - var ContextType = i18n.input.chrome.message.ContextType; - - var keyCharacters = [ - ['\u0060', '\u007e'], // TLDE - ['\u0031', '\u0021'], // AE01 - ['\u0032', '\u0040'], // AE02 - ['\u0033', '\u0023'], // AE03 - ['\u0034', '\u0024'], // AE04 - ['\u0035', '\u0025'], // AE05 - ['\u0036', '\u005e'], // AE06 - ['\u0037', '\u0026'], // AE07 - ['\u0038', '\u002a'], // AE08 - ['\u0039', '\u0029'], // AE09 - ['\u0030', '\u0028'], // AE10 - ['\u002d', '\u005f'], // AE11 - ['\u003d', '\u002b'], // AE12 - ['\u0071', '\u0051'], // AD01 - ['\u0077', '\u0057'], // AD02 - ['\u0065', '\u0045'], // AD03 - ['\u0072', '\u0052'], // AD04 - ['\u0074', '\u0054'], // AD05 - ['\u0079', '\u0059'], // AD06 - ['\u0075', '\u0055'], // AD07 - ['\u0069', '\u0049'], // AD08 - ['\u006f', '\u004f'], // AD09 - ['\u0070', '\u0050'], // AD10 - ['\u005d', '\u007d'], // AD11 - ['\u005b', '\u007b'], // AD12 - ['\u005c', '\u007c'], // BKSL - ['\u0061', '\u0041'], // AC01 - ['\u0073', '\u0053'], // AC02 - ['\u0064', '\u0044'], // AC03 - ['\u0066', '\u0046'], // AC04 - ['\u0067', '\u0047'], // AC05 - ['\u0068', '\u0048'], // AC06 - ['\u006a', '\u004a'], // AC07 - ['\u006b', '\u004b'], // AC08 - ['\u006c', '\u004c'], // AC09 - ['\u003b', '\u003a'], // AC10 - ['\u0027', '\u0022'], // AC11 - ['\u007a', '\u005a'], // AB01 - ['\u0078', '\u0058'], // AB02 - ['\u0063', '\u0043'], // AB03 - ['\u0076', '\u0056'], // AB04 - ['\u0062', '\u0042'], // AB05 - ['\u006e', '\u004e'], // AB06 - ['\u006d', '\u004d'], // AB07 - ['\u002c', '\u003c'], // AB08 - ['\u002e', '\u003e'], // AB09 - ['\u002f', '\u003f'], // AB10 - ['\u0020', '\u0020'] // SPCE - ]; - - var data = i18n.input.chrome.inputview.content.util.createData( - keyCharacters, viewIdPrefix_, false, false); - data['id'] = 't13n-rtl'; - google.ime.chrome.inputview.onConfigLoaded(data); -}) (); diff --git a/third_party/google_input_tools/src/chrome/os/inputview/controller.js b/third_party/google_input_tools/src/chrome/os/inputview/controller.js index fecf7b0..52b65d7 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/controller.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/controller.js @@ -24,12 +24,12 @@ goog.require('goog.events.EventType'); goog.require('goog.i18n.bidi'); goog.require('goog.object'); goog.require('i18n.input.chrome.DataSource'); -goog.require('i18n.input.chrome.SoundController'); goog.require('i18n.input.chrome.Statistics'); goog.require('i18n.input.chrome.inputview.Adapter'); goog.require('i18n.input.chrome.inputview.CandidatesInfo'); goog.require('i18n.input.chrome.inputview.ConditionName'); goog.require('i18n.input.chrome.inputview.Css'); +goog.require('i18n.input.chrome.inputview.FeatureName'); goog.require('i18n.input.chrome.inputview.KeyboardContainer'); goog.require('i18n.input.chrome.inputview.M17nModel'); goog.require('i18n.input.chrome.inputview.Model'); @@ -45,6 +45,7 @@ goog.require('i18n.input.chrome.inputview.elements.content.Candidate'); goog.require('i18n.input.chrome.inputview.elements.content.CandidateView'); goog.require('i18n.input.chrome.inputview.elements.content.ExpandedCandidateView'); goog.require('i18n.input.chrome.inputview.elements.content.MenuView'); +goog.require('i18n.input.chrome.inputview.events.DragEvent'); goog.require('i18n.input.chrome.inputview.events.EventType'); goog.require('i18n.input.chrome.inputview.events.KeyCodes'); goog.require('i18n.input.chrome.inputview.handler.PointerHandler'); @@ -52,6 +53,7 @@ goog.require('i18n.input.chrome.inputview.util'); goog.require('i18n.input.chrome.message.ContextType'); goog.require('i18n.input.chrome.message.Name'); goog.require('i18n.input.chrome.message.Type'); +goog.require('i18n.input.chrome.sounds.SoundController'); goog.require('i18n.input.lang.InputToolCode'); @@ -67,6 +69,7 @@ var ElementType = i18n.input.chrome.inputview.elements.ElementType; var EventType = i18n.input.chrome.inputview.events.EventType; var ExpandedCandidateView = i18n.input.chrome.inputview.elements.content. ExpandedCandidateView; +var FeatureName = i18n.input.chrome.inputview.FeatureName; var InputToolCode = i18n.input.lang.InputToolCode; var KeyCodes = i18n.input.chrome.inputview.events.KeyCodes; var MenuView = i18n.input.chrome.inputview.elements.content.MenuView; @@ -76,8 +79,8 @@ var SizeSpec = i18n.input.chrome.inputview.SizeSpec; var SpecNodeName = i18n.input.chrome.inputview.SpecNodeName; var StateType = i18n.input.chrome.inputview.StateType; var content = i18n.input.chrome.inputview.elements.content; -var SoundController = i18n.input.chrome.SoundController; -var Sounds = i18n.input.chrome.inputview.Sounds; +var SoundController = i18n.input.chrome.sounds.SoundController; +var Sounds = i18n.input.chrome.sounds.Sounds; var Type = i18n.input.chrome.message.Type; var util = i18n.input.chrome.inputview.util; @@ -179,7 +182,7 @@ i18n.input.chrome.inputview.Controller = function(keyset, languageCode, /** @private {!i18n.input.chrome.inputview.Adapter} */ this.adapter_ = new i18n.input.chrome.inputview.Adapter(this.readyState_); - /** @private {!i18n.input.chrome.SoundController} */ + /** @private {!SoundController} */ this.soundController_ = new SoundController(false); /** @private {!i18n.input.chrome.inputview.KeyboardContainer} */ @@ -466,6 +469,9 @@ Controller.prototype.registerEventHandler_ = function() { EventType.POINTER_OUT, EventType.SWIPE ], this.onPointerEvent_). + listen(this.pointerHandler_, + EventType.DRAG, + this.onDragEvent_). listen(window, goog.events.EventType.RESIZE, this.resize). listen(this.adapter_, EventType.SURROUNDING_TEXT_CHANGED, this.onSurroundingTextChanged_). @@ -603,7 +609,7 @@ Controller.prototype.onSettingsReady_ = function() { this.setDefaultKeyset_(newKeyset); } this.container_.selectView.setVisible( - this.adapter_.isGestureEdittingEnabled()); + this.adapter_.features.isEnabled(FeatureName.GESTURE_EDITTING)); // Loads resources in case the default keyset is changed. this.loadAllResources_(); this.maybeCreateViews_(); @@ -725,6 +731,21 @@ Controller.prototype.onPointerEvent_ = function(e) { /** + * Handles the drag events. Generally, this will forward the event details to + * the components that handle drawing, decoding, etc. + * + * @param {!i18n.input.chrome.inputview.events.DragEvent} e . + * @private + */ +Controller.prototype.onDragEvent_ = function(e) { + if (this.adapter_.isGestureTypingEnabled() && e.type == EventType.DRAG) { + this.container_.gestureCanvasView.addPointAndDraw(e); + return; + } +}; + + +/** * Handles the swipe action. * * @param {!i18n.input.chrome.inputview.elements.Element} view The view, for @@ -824,6 +845,11 @@ Controller.prototype.executeCommand_ = function(command, opt_arg) { * @private */ Controller.prototype.handlePointerAction_ = function(view, e) { + if (this.adapter_.isGestureTypingEnabled() && + e.type == EventType.POINTER_UP) { + this.container_.gestureCanvasView.clear(); + } + // Listen for DOUBLE_CLICK as well to capture secondary taps on the spacebar. if (e.type == EventType.POINTER_UP || e.type == EventType.DOUBLE_CLICK) { this.recordStatsForClosing_( @@ -1378,7 +1404,8 @@ Controller.prototype.resetAll_ = function() { * @private */ Controller.prototype.shouldShowToolBar_ = function() { - return this.adapter_.isExperimental && this.adapter_.isGoogleDocument() && + return this.adapter_.features.isEnabled(FeatureName.OPTIMIZED_LAYOUTS) && + this.adapter_.isGoogleDocument() && this.adapter_.contextType == ContextType.DEFAULT; }; @@ -1594,15 +1621,14 @@ Controller.prototype.clearCandidates_ = function() { if (this.container_.currentKeysetView) { this.container_.currentKeysetView.setVisible(true); } - if (!this.adapter_.isQPInputView) { - if (this.currentKeyset_ == Controller.HANDWRITING_VIEW_CODE_ || - this.currentKeyset_ == Controller.EMOJI_VIEW_CODE_) { - this.container_.candidateView.switchToIcon( - CandidateView.IconType.BACK, true); - } else { - this.container_.candidateView.switchToIcon(CandidateView.IconType.VOICE, - this.adapter_.isVoiceInputEnabled); - } + if (!this.adapter_.isQPInputView && + (this.currentKeyset_ == Controller.HANDWRITING_VIEW_CODE_ || + this.currentKeyset_ == Controller.EMOJI_VIEW_CODE_)) { + this.container_.candidateView.switchToIcon( + CandidateView.IconType.BACK, true); + } else { + this.container_.candidateView.switchToIcon(CandidateView.IconType.VOICE, + this.adapter_.isVoiceInputEnabled); } }; diff --git a/third_party/google_input_tools/src/chrome/os/inputview/css.js b/third_party/google_input_tools/src/chrome/os/inputview/css.js index d08b111..23ba9e5 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/css.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/css.js @@ -60,6 +60,7 @@ i18n.input.chrome.inputview.Css = { DEFAULT_CONTENT: goog.getCssName('inputview-dc'), DIGIT_CHARACTER: goog.getCssName('inputview-digit-character'), DOWN_KEY: goog.getCssName('inputview-down-key'), + DRAWING_CANVAS: goog.getCssName('inputview-drawing-canvas'), ELEMENT_HIGHLIGHT: goog.getCssName('inputview-element-highlight'), EMOJI: goog.getCssName('inputview-emoji'), EMOJI_BACK: goog.getCssName('inputview-emoji-back'), @@ -98,6 +99,7 @@ i18n.input.chrome.inputview.Css = { FONT: goog.getCssName('inputview-font'), FONT_SMALL: goog.getCssName('inputview-font-small'), FUNCITONAL_KEY_STICKY: goog.getCssName('inputview-functional-key-sticky'), + GESTURE_CANVAS_VIEW: goog.getCssName('inputview-gesture-canvas-view'), GLOBE_ICON: goog.getCssName('inputview-globe-icon'), HANDWRITING: goog.getCssName('inputview-handwriting'), HANDWRITING_BACK: goog.getCssName('inputview-handwriting-back'), @@ -189,6 +191,7 @@ i18n.input.chrome.inputview.Css = { VERTICAL_LAYOUT: goog.getCssName('inputview-vertical'), VIEW: goog.getCssName('inputview-view'), VOICE_BOLD: goog.getCssName('inputview-voice-bold'), + VOICE_BUTTON: goog.getCssName('inputview-voice-btn'), VOICE_CANDIDATES: goog.getCssName('inputview-voice-candidates'), VOICE_DELETE_BTN: goog.getCssName('inputview-voice-delete-btn'), VOICE_HIGHLIGHT: goog.getCssName('inputview-voice-highlight'), diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/altdataview.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/altdataview.js index 14ec2a1..aa0af28 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/altdataview.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/altdataview.js @@ -537,6 +537,7 @@ AltDataView.prototype.getCoverElement = function() { AltDataView.prototype.resize = function(width, height) { goog.base(this, 'resize', width, height); + this.hide(); goog.style.setSize(this.coverElement_, width, height); }; diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/candidateview.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/candidateview.js index 5ccc1e8..4bbe45a 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/candidateview.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/candidateview.js @@ -78,10 +78,8 @@ i18n.input.chrome.inputview.elements.content.CandidateView = function(id, this.iconButtons_[IconType.EXPAND_CANDIDATES] = new content. CandidateButton('', ElementType.EXPAND_CANDIDATES, Css.EXPAND_CANDIDATES_ICON, '', this); - - this.iconButtons_[IconType.VOICE] = new content. - CandidateButton('', ElementType.VOICE_BTN, Css.VOICE_MIC_BAR, '', this, - true); + this.iconButtons_[IconType.VOICE] = new content.CandidateButton('', + ElementType.VOICE_BTN, Css.VOICE_MIC_BAR, '', this, true); /** * Toolbar buttons. @@ -184,7 +182,7 @@ CandidateView.prototype.showingToolbar = false; * @type {number} * @private */ -CandidateView.WIDTH_FOR_THREE_CANDIDATES_ = 235; +CandidateView.WIDTH_FOR_THREE_CANDIDATES_ = 200; /** @@ -249,6 +247,9 @@ CandidateView.prototype.createDom = function() { var button = this.iconButtons_[i]; button.render(elem); button.setVisible(false); + if (button.type == ElementType.VOICE_BTN) { + goog.dom.classlist.add(button.getElement(), Css.VOICE_BUTTON); + } } goog.a11y.aria.setState(/** @type {!Element} */ @@ -491,15 +492,14 @@ CandidateView.prototype.setToolbarVisible = function(visible) { */ CandidateView.prototype.updateByKeyset = function( keyset, isPasswordBox, isRTL) { - if (!i18n.input.chrome.inputview.GlobalFlags.isQPInputView) { - if (keyset == CandidateView.HANDWRITING_VIEW_CODE_ || - keyset == CandidateView.EMOJI_VIEW_CODE_) { - this.switchToIcon(IconType.BACK, true); - } else { - this.switchToIcon(IconType.VOICE, - this.adapter_.isVoiceInputEnabled && - this.adapter_.contextType != 'password'); - } + if (!i18n.input.chrome.inputview.GlobalFlags.isQPInputView && ( + keyset == CandidateView.HANDWRITING_VIEW_CODE_ || + keyset == CandidateView.EMOJI_VIEW_CODE_)) { + this.switchToIcon(IconType.BACK, true); + } else { + this.switchToIcon(IconType.VOICE, + this.adapter_.isVoiceInputEnabled && + this.adapter_.contextType != 'password'); } if (isPasswordBox && keyset.indexOf('compact') != -1) { diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/compactkeymodel.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/compactkeymodel.js index 17b042f..9e65ff5 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/compactkeymodel.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/compactkeymodel.js @@ -14,6 +14,7 @@ goog.provide('i18n.input.chrome.inputview.elements.content.CompactKeyModel'); goog.require('i18n.input.chrome.inputview.MoreKeysShiftOperation'); +goog.require('i18n.input.chrome.inputview.elements.content.FunctionalKey'); goog.scope(function() { diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/gesturecanvasview.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/gesturecanvasview.js new file mode 100644 index 0000000..9f081a1 --- /dev/null +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/gesturecanvasview.js @@ -0,0 +1,165 @@ +// Copyright 2015 The ChromeOS IME Authors. All Rights Reserved. +// limitations under the License. +// See the License for the specific language governing permissions and +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// distributed under the License is distributed on an "AS-IS" BASIS, +// Unless required by applicable law or agreed to in writing, software +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// You may obtain a copy of the License at +// you may not use this file except in compliance with the License. +// Licensed under the Apache License, Version 2.0 (the "License"); +// +goog.provide('i18n.input.chrome.inputview.elements.content.GestureCanvasView'); + +goog.require('goog.async.Delay'); +goog.require('goog.dom.TagName'); +goog.require('goog.dom.classlist'); +goog.require('i18n.input.chrome.inputview.Css'); +goog.require('i18n.input.chrome.inputview.elements.Element'); +goog.require('i18n.input.chrome.inputview.elements.ElementType'); + + +goog.scope(function() { +var Css = i18n.input.chrome.inputview.Css; +var ElementType = i18n.input.chrome.inputview.elements.ElementType; +var TagName = goog.dom.TagName; + + + +/** + * The gesture canvas view. + * + * This view is used to display the strokes for gesture typing. + * + * @param {goog.events.EventTarget=} opt_eventTarget The parent event target. + * @constructor + * @extends {i18n.input.chrome.inputview.elements.Element} + */ +i18n.input.chrome.inputview.elements.content.GestureCanvasView = + function(opt_eventTarget) { + GestureCanvasView.base(this, 'constructor', '', + ElementType.GESTURE_CANVAS_VIEW, opt_eventTarget); + + /** + * Actual canvas for drawing the gesture trail. + * + * @private {!Element} + */ + this.drawingCanvas_; + + /** + * Context for drawing the gesture trail. + * + * @private {!CanvasRenderingContext2D} + */ + this.drawingContext_; + + /** + * Drag events whose points should be drawn on the canvas. + * + * @private {!Array} + */ + this.dragEventList_ = []; + + /** @private {!goog.async.Delay} */ + this.animator_ = new goog.async.Delay(this.animateGestureTrail_, 0, this); +}; +var GestureCanvasView = + i18n.input.chrome.inputview.elements.content.GestureCanvasView; +goog.inherits(GestureCanvasView, i18n.input.chrome.inputview.elements.Element); + + +/** + * Draw the gesture trail. + * + * @private + */ +GestureCanvasView.prototype.draw_ = function() { + // First, clear the canvas. + this.drawingContext_.clearRect( + 0, 0, this.drawingCanvas_.width, this.drawingCanvas_.height); + + // Event positions come in relative to the top of the entire content area, so + // grab the canvas offset in order to calculate the correct position to draw + // the strokes. + var offset = goog.style.getPageOffset(this.drawingCanvas_); + + // Iterate through all the points and draw them. + for (var i = 1; i < this.dragEventList_.length; i++) { + // TODO(stevet): The following is a basic implementation of the trail + // rendering. This should be later be updated to be more efficient and + // support effects like fading. + var first = this.dragEventList_[i - 1]; + var second = this.dragEventList_[i]; + this.drawingContext_.beginPath(); + this.drawingContext_.strokeStyle = '#00B4CC'; + this.drawingContext_.fillStyle = 'none'; + this.drawingContext_.lineWidth = 8; + this.drawingContext_.lineCap = 'round'; + this.drawingContext_.lineJoin = 'round'; + this.drawingContext_.moveTo(first.x - offset.x, first.y - offset.y); + this.drawingContext_.lineTo(second.x - offset.x, second.y - offset.y); + this.drawingContext_.stroke(); + } +}; + + +/** @override */ +GestureCanvasView.prototype.createDom = function() { + goog.base(this, 'createDom'); + var dom = this.getDomHelper(); + var elem = this.getElement(); + goog.dom.classlist.add(elem, Css.GESTURE_CANVAS_VIEW); + + // Create the HTML5 canvas where the gesture trail is actually rendered. + this.drawingCanvas_ = dom.createDom(TagName.CANVAS, Css.DRAWING_CANVAS); + this.drawingContext_ = this.drawingCanvas_.getContext('2d'); + dom.appendChild(elem, this.drawingCanvas_); +}; + + +/** @override */ +GestureCanvasView.prototype.resize = function(width, height) { + GestureCanvasView.base(this, 'resize', width, height); + + // Explicitly set the width and height of the canvas, which is necessary + // to ensure that rendered elements are not stretched. + this.drawingCanvas_.width = width; + this.drawingCanvas_.height = height; +}; + + +/** + * Add a new point to the collection of points, and refresh the view. + * + * @param {!i18n.input.chrome.inputview.events.DragEvent} e Drag event to draw. + */ +GestureCanvasView.prototype.addPointAndDraw = function(e) { + // Add to the collection. + this.dragEventList_.push(e); + + // Refresh the view. + this.draw_(); +}; + + +/** + * Clear the view. + */ +GestureCanvasView.prototype.clear = function() { + this.dragEventList_ = []; + this.draw_(); +}; + + +/** + * The gesture trail animation function. + * + * @private + */ +GestureCanvasView.prototype.animateGestureTrail_ = function() { + // TODO(stevet): Implement the gesture trail animation here. +}; +}); // goog.scope diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/indicator.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/indicator.js deleted file mode 100644 index a0c8392..0000000 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/indicator.js +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved. -// limitations under the License. -// See the License for the specific language governing permissions and -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// distributed under the License is distributed on an "AS-IS" BASIS, -// Unless required by applicable law or agreed to in writing, software -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// You may obtain a copy of the License at -// you may not use this file except in compliance with the License. -// Licensed under the Apache License, Version 2.0 (the "License"); -// -goog.provide('i18n.input.chrome.inputview.elements.content.PageIndicator'); - -goog.require('goog.dom'); -goog.require('goog.dom.TagName'); -goog.require('goog.dom.classlist'); -goog.require('goog.style'); -goog.require('i18n.input.chrome.inputview.Css'); -goog.require('i18n.input.chrome.inputview.elements.Element'); - -goog.scope(function() { -var ElementType = i18n.input.chrome.inputview.elements.ElementType; - - - -/** - * The indicator of the current page index. - * - * @param {string} id The id. - * @param {!i18n.input.chrome.inputview.elements.ElementType} type The element - * type. - * @param {goog.events.EventTarget=} opt_eventTarget The event target. - * @constructor - * @extends {i18n.input.chrome.inputview.elements.Element} - */ -i18n.input.chrome.inputview.elements.content.PageIndicator = function(id, type, - opt_eventTarget) { - goog.base(this, id, type, opt_eventTarget); -}; -goog.inherits(i18n.input.chrome.inputview.elements.content.PageIndicator, - i18n.input.chrome.inputview.elements.Element); -var PageIndicator = i18n.input.chrome.inputview.elements.content.PageIndicator; - - -/** @override */ -PageIndicator.prototype.createDom = function() { - goog.base(this, 'createDom'); - var dom = this.getDomHelper(); - var elem = this.getElement(); - goog.dom.classlist.add(elem, - i18n.input.chrome.inputview.Css.INDICATOR_BACKGROUND); - this.bgElem = goog.dom.createDom(goog.dom.TagName.DIV); - goog.dom.classlist.add(this.bgElem, - i18n.input.chrome.inputview.Css.INDICATOR); - dom.appendChild(elem, this.bgElem); -}; - - -/** @override */ -PageIndicator.prototype.resize = function(width, height) { - this.bgElem.style.height = height + 'px'; - this.getElement().style.width = width + 'px'; - goog.base(this, 'resize', width, height); -}; - - -/** - * Slide the indicator. - * - * @param {number} deltaX The x-coordinate of slide distance. - * @param {number} totalPages The total number of pages. - */ -PageIndicator.prototype.slide = function(deltaX, totalPages) { - var marginLeft = goog.style.getMarginBox(this.bgElem).left + - deltaX / totalPages; - this.bgElem.style.marginLeft = marginLeft + 'px'; -}; - - -/** - * Move the indicator to indicate a page. - * - * @param {number} pageNum The page that needs to be indicated. - * @param {number} totalPages The total number of pages. - */ -PageIndicator.prototype.gotoPage = function(pageNum, totalPages) { - var width = goog.style.getSize(this.getElement()).width; - this.bgElem.style.marginLeft = width / totalPages * pageNum + 'px'; - if (totalPages >= 2) { - this.bgElem.style.width = width / totalPages + 'px'; - } else { - this.bgElem.style.width = 0; - } -}; -}); // goog.scope - - diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/keysetview.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/keysetview.js index 0174e0b..b7abdb7 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/keysetview.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/keysetview.js @@ -344,9 +344,7 @@ KeysetView.prototype.resize = function(outerWidth, outerHeight, widthPercent, var elem = this.getElement(); var margin = Math.round((outerWidth - outerWidth * widthPercent) / 2); var w = outerWidth - 2 * margin; - if (margin > 0) { - elem.style.marginLeft = elem.style.marginRight = margin + 'px'; - } + elem.style.marginLeft = elem.style.marginRight = margin + 'px'; goog.style.setSize(elem, w, outerHeight); this.resizeRows(w, outerHeight); diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/swipeview.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/swipeview.js index 903fd21..069dc7e 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/swipeview.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/swipeview.js @@ -378,6 +378,9 @@ SwipeView.prototype.handleSwipeAction_ = function(e) { * @private */ SwipeView.prototype.handlePointerAction_ = function(e) { + if (!e.view) { + return; + } switch (e.view.type) { case ElementType.BACKSPACE_KEY: var key = /** @type {!content.FunctionalKey} */ (e.view); diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/voiceview.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/voiceview.js index 4681268..7a8907e 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/content/voiceview.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/content/voiceview.js @@ -19,12 +19,12 @@ goog.require('goog.dom.TagName'); goog.require('goog.dom.classlist'); goog.require('goog.style'); goog.require('i18n.input.chrome.inputview.Css'); -goog.require('i18n.input.chrome.inputview.Sounds'); goog.require('i18n.input.chrome.inputview.elements.Element'); goog.require('i18n.input.chrome.inputview.elements.ElementType'); goog.require('i18n.input.chrome.inputview.elements.content.FunctionalKey'); goog.require('i18n.input.chrome.message.Name'); goog.require('i18n.input.chrome.message.Type'); +goog.require('i18n.input.chrome.sounds.Sounds'); goog.scope(function() { @@ -32,7 +32,7 @@ var Css = i18n.input.chrome.inputview.Css; var ElementType = i18n.input.chrome.inputview.elements.ElementType; var FunctionalKey = i18n.input.chrome.inputview.elements.content.FunctionalKey; var Name = i18n.input.chrome.message.Name; -var Sounds = i18n.input.chrome.inputview.Sounds; +var Sounds = i18n.input.chrome.sounds.Sounds; var TagName = goog.dom.TagName; var Type = i18n.input.chrome.message.Type; @@ -43,7 +43,7 @@ var Type = i18n.input.chrome.message.Type; * * @param {goog.events.EventTarget=} opt_eventTarget The parent event target. * @param {i18n.input.chrome.inputview.Adapter=} opt_adapter . - * @param {i18n.input.chrome.SoundController=} opt_soundController . + * @param {i18n.input.chrome.sounds.SoundController=} opt_soundController . * @constructor * @extends {i18n.input.chrome.inputview.elements.Element} */ @@ -62,7 +62,7 @@ i18n.input.chrome.inputview.elements.content.VoiceView = /** * The sound controller. * - * @private {!i18n.input.chrome.SoundController} + * @private {!i18n.input.chrome.sounds.SoundController} */ this.soundController_ = goog.asserts.assertObject(opt_soundController); @@ -206,6 +206,7 @@ VoiceView.prototype.setVisible = function(visible) { goog.style.setElementShown(this.voicePanel_, false); goog.style.setElementShown(this.privacyDiv_, false); } + this.resize(this.width, this.height); }; diff --git a/third_party/google_input_tools/src/chrome/os/inputview/elements/elementtype.js b/third_party/google_input_tools/src/chrome/os/inputview/elements/elementtype.js index 035bfd9..999e17a 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/elements/elementtype.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/elements/elementtype.js @@ -77,6 +77,7 @@ i18n.input.chrome.inputview.elements.ElementType = { REDO: 54, UNDO: 55, SWIPE_VIEW: 56, - SELECT_VIEW: 57 + SELECT_VIEW: 57, + GESTURE_CANVAS_VIEW: 58 }; diff --git a/third_party/google_input_tools/src/chrome/os/inputview/featurename.js b/third_party/google_input_tools/src/chrome/os/inputview/featurename.js new file mode 100644 index 0000000..e777483 --- /dev/null +++ b/third_party/google_input_tools/src/chrome/os/inputview/featurename.js @@ -0,0 +1,27 @@ +// Copyright 2015 The ChromeOS IME Authors. All Rights Reserved. +// limitations under the License. +// See the License for the specific language governing permissions and +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// distributed under the License is distributed on an "AS-IS" BASIS, +// Unless required by applicable law or agreed to in writing, software +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// You may obtain a copy of the License at +// you may not use this file except in compliance with the License. +// Licensed under the Apache License, Version 2.0 (the "License"); +// +goog.provide('i18n.input.chrome.inputview.FeatureName'); + +/** + * All features. + * + * @enum {string} + */ +i18n.input.chrome.inputview.FeatureName = { + // List all features. + GESTURE_EDITTING: 'gesture-editting', + GESTURE_TYPING: 'gesturetyping', + OPTIMIZED_LAYOUTS: 'optimized-layouts', + EXPERIMENTAL: 'experimental' +}; diff --git a/third_party/google_input_tools/src/chrome/os/inputview/featuretracker.js b/third_party/google_input_tools/src/chrome/os/inputview/featuretracker.js new file mode 100644 index 0000000..22a4a9e --- /dev/null +++ b/third_party/google_input_tools/src/chrome/os/inputview/featuretracker.js @@ -0,0 +1,93 @@ +// Copyright 2015 The ChromeOS IME Authors. All Rights Reserved. +// limitations under the License. +// See the License for the specific language governing permissions and +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// distributed under the License is distributed on an "AS-IS" BASIS, +// Unless required by applicable law or agreed to in writing, software +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// You may obtain a copy of the License at +// you may not use this file except in compliance with the License. +// Licensed under the Apache License, Version 2.0 (the "License"); +// +goog.provide('i18n.input.chrome.inputview.FeatureTracker'); + +goog.require('goog.object'); +goog.require('i18n.input.chrome.inputview.FeatureName'); + +goog.scope(function() { +var Adapter = i18n.input.chrome.inputview.Adapter; +var FeatureName = i18n.input.chrome.inputview.FeatureName; + + +/** + * Controller for experimental features. + * + * @constructor + */ +i18n.input.chrome.inputview.FeatureTracker = function() { + + /** + * Whether experimental flags is enabled. + * + * @private {Object.<string, boolean>} + */ + this.features_ = {}; + + /** + * Features that are enabled by default. Any feature not on this list is + * disabled unless the runtime --enable-inputview-{feature} flag is present. + * + * @const + * @private {!Array<FeatureName>} + */ + this.ENABLED_BY_DEFAULT_ = []; +}; + +var FeatureTracker = i18n.input.chrome.inputview.FeatureTracker; + + +/** + * Whether the feature is enabled. + * + * @param {!FeatureName} feature . + * @return {boolean} + */ +FeatureTracker.prototype.isEnabled = function(feature) { + if (feature in this.features_) { + return this.features_[feature]; + } + return (this.ENABLED_BY_DEFAULT_.indexOf(feature) >= 0) || + !!this.features_[FeatureName.EXPERIMENTAL]; +}; + + +/** + * Inits the feature tracker. + * + * @param {!Object} config The keyboard config. + */ +FeatureTracker.prototype.initialize = function(config) { + if (config.features) { + var features = config.features; + // Parse the run time flags. + for (var i = 0; i < features.length; i++) { + var pieces = features[i].split('-'); + var state = pieces.pop(); + if (state == 'enabled') { + this.features_[pieces.join('-')] = true; + } else if (state == 'disabled') { + this.features_[pieces.join('-')] = false; + } else { + console.error('Unrecognized flag: ' + features[i]); + } + } + } else { + console.error('API Error. Features not present in config.'); + return; + } +}; + +}); // goog.scope + diff --git a/third_party/google_input_tools/src/chrome/os/inputview/images/special_characters.png b/third_party/google_input_tools/src/chrome/os/inputview/images/special_characters.png Binary files differdeleted file mode 100644 index a48a1c1..0000000 --- a/third_party/google_input_tools/src/chrome/os/inputview/images/special_characters.png +++ /dev/null diff --git a/third_party/google_input_tools/src/chrome/os/inputview/keyboardcontainer.js b/third_party/google_input_tools/src/chrome/os/inputview/keyboardcontainer.js index f66841b..fd77a23 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/keyboardcontainer.js +++ b/third_party/google_input_tools/src/chrome/os/inputview/keyboardcontainer.js @@ -23,6 +23,7 @@ goog.require('i18n.input.chrome.inputview.elements.content.AltDataView'); goog.require('i18n.input.chrome.inputview.elements.content.CandidateView'); goog.require('i18n.input.chrome.inputview.elements.content.EmojiView'); goog.require('i18n.input.chrome.inputview.elements.content.ExpandedCandidateView'); +goog.require('i18n.input.chrome.inputview.elements.content.GestureCanvasView'); goog.require('i18n.input.chrome.inputview.elements.content.HandwritingView'); goog.require('i18n.input.chrome.inputview.elements.content.KeysetView'); goog.require('i18n.input.chrome.inputview.elements.content.MenuView'); @@ -47,7 +48,7 @@ var content = i18n.input.chrome.inputview.elements.content; * The keyboard container. * * @param {!i18n.input.chrome.inputview.Adapter} adapter . - * @param {!i18n.input.chrome.SoundController} soundController . + * @param {!i18n.input.chrome.sounds.SoundController} soundController . * @constructor * @extends {goog.ui.Container} */ @@ -68,6 +69,11 @@ i18n.input.chrome.inputview.KeyboardContainer = /** @type {!content.SelectView} */ this.selectView = new content.SelectView(this); + if (adapter.isGestureTypingEnabled()) { + /** @type {!content.GestureCanvasView} */ + this.gestureCanvasView = new content.GestureCanvasView(this); + } + /** @type {!content.MenuView} */ this.menuView = new content.MenuView(this); @@ -132,10 +138,10 @@ KeyboardContainer.prototype.createDom = function() { goog.base(this, 'createDom'); var elem = this.getElement(); - this.wrapperDiv_ = this.getDomHelper().createDom( - goog.dom.TagName.DIV, Css.WRAPPER); + var dom = this.getDomHelper(); + this.wrapperDiv_ = dom.createDom(goog.dom.TagName.DIV, Css.WRAPPER); this.candidateView.render(this.wrapperDiv_); - this.getDomHelper().appendChild(elem, this.wrapperDiv_); + dom.appendChild(elem, this.wrapperDiv_); this.altDataView.render(); this.swipeView.render(); this.selectView.render(); @@ -144,6 +150,9 @@ KeyboardContainer.prototype.createDom = function() { this.voiceView.setVisible(false); this.expandedCandidateView.render(this.wrapperDiv_); this.expandedCandidateView.setVisible(false); + if (this.adapter_.isGestureTypingEnabled()) { + this.gestureCanvasView.render(this.wrapperDiv_); + } goog.dom.classlist.add(elem, Css.CONTAINER); }; @@ -318,6 +327,9 @@ KeyboardContainer.prototype.resize = function(width, height, widthPercent, this.selectView.resize(screen.width, height); this.menuView.resize(screen.width, height); this.voiceView.resize(w + padding, height); + if (this.adapter_.isGestureTypingEnabled()) { + this.gestureCanvasView.resize(screen.width, height); + } }; @@ -329,6 +341,9 @@ KeyboardContainer.prototype.disposeInternal = function() { goog.dispose(this.selectView); goog.dispose(this.menuView); goog.dispose(this.voiceView); + if (this.adapter_.isGestureTypingEnabled()) { + goog.dispose(this.gestureCanvasView); + } for (var key in this.keysetViewMap) { goog.dispose(this.keysetViewMap[key]); } diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/auto_correction.wav b/third_party/google_input_tools/src/chrome/os/sounds/auto_correction.wav Binary files differindex aa54b4c..aa54b4c 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/auto_correction.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/auto_correction.wav diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-delete.wav b/third_party/google_input_tools/src/chrome/os/sounds/keypress-delete.wav Binary files differindex fb8b018..fb8b018 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-delete.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/keypress-delete.wav diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-return.wav b/third_party/google_input_tools/src/chrome/os/sounds/keypress-return.wav Binary files differindex 491333b..491333b 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-return.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/keypress-return.wav diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-spacebar.wav b/third_party/google_input_tools/src/chrome/os/sounds/keypress-spacebar.wav Binary files differindex 2d58c6d..2d58c6d 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-spacebar.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/keypress-spacebar.wav diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-standard.wav b/third_party/google_input_tools/src/chrome/os/sounds/keypress-standard.wav Binary files differindex aa54b4c..aa54b4c 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/keypress-standard.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/keypress-standard.wav diff --git a/third_party/google_input_tools/src/chrome/os/soundcontroller.js b/third_party/google_input_tools/src/chrome/os/sounds/soundcontroller.js index 7b57e3b..c3f037c 100644 --- a/third_party/google_input_tools/src/chrome/os/soundcontroller.js +++ b/third_party/google_input_tools/src/chrome/os/sounds/soundcontroller.js @@ -11,15 +11,15 @@ // you may not use this file except in compliance with the License. // Licensed under the Apache License, Version 2.0 (the "License"); // -goog.provide('i18n.input.chrome.SoundController'); +goog.provide('i18n.input.chrome.sounds.SoundController'); goog.require('goog.Disposable'); goog.require('goog.dom'); -goog.require('i18n.input.chrome.inputview.Sounds'); goog.require('i18n.input.chrome.inputview.elements.ElementType'); +goog.require('i18n.input.chrome.sounds.Sounds'); goog.scope(function() { -var Sounds = i18n.input.chrome.inputview.Sounds; +var Sounds = i18n.input.chrome.sounds.Sounds; var ElementType = i18n.input.chrome.inputview.elements.ElementType; var keyToSoundIdOnKeyUp = {}; var keyToSoundIdOnKeyRepeat = {}; @@ -34,7 +34,7 @@ var keyToSoundIdOnKeyRepeat = {}; * @constructor * @extends {goog.Disposable} */ -i18n.input.chrome.SoundController = function(enabled, opt_volume) { +i18n.input.chrome.sounds.SoundController = function(enabled, opt_volume) { /** * Collection of all the sound pools. @@ -58,10 +58,10 @@ i18n.input.chrome.SoundController = function(enabled, opt_volume) { this.initialize(); } }; -goog.inherits(i18n.input.chrome.SoundController, goog.Disposable); +goog.inherits(i18n.input.chrome.sounds.SoundController, goog.Disposable); -var Controller = i18n.input.chrome.SoundController; +var Controller = i18n.input.chrome.sounds.SoundController; /** diff --git a/third_party/google_input_tools/src/chrome/os/sounds.js b/third_party/google_input_tools/src/chrome/os/sounds/sounds.js index e98f10fe..8b1c7ef 100644 --- a/third_party/google_input_tools/src/chrome/os/sounds.js +++ b/third_party/google_input_tools/src/chrome/os/sounds/sounds.js @@ -11,7 +11,7 @@ // you may not use this file except in compliance with the License. // Licensed under the Apache License, Version 2.0 (the "License"); // -goog.provide('i18n.input.chrome.inputview.Sounds'); +goog.provide('i18n.input.chrome.sounds.Sounds'); /** @@ -19,7 +19,7 @@ goog.provide('i18n.input.chrome.inputview.Sounds'); * * @enum {string} */ -i18n.input.chrome.inputview.Sounds = { +i18n.input.chrome.sounds.Sounds = { DELETE: 'keypress-delete', RETURN: 'keypress-return', SPACEBAR: 'keypress-spacebar', diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/voice_recog_end.wav b/third_party/google_input_tools/src/chrome/os/sounds/voice_recog_end.wav Binary files differindex aa54b4c..aa54b4c 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/voice_recog_end.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/voice_recog_end.wav diff --git a/third_party/google_input_tools/src/chrome/os/inputview/sounds/voice_recog_start.wav b/third_party/google_input_tools/src/chrome/os/sounds/voice_recog_start.wav Binary files differindex aa54b4c..aa54b4c 100644 --- a/third_party/google_input_tools/src/chrome/os/inputview/sounds/voice_recog_start.wav +++ b/third_party/google_input_tools/src/chrome/os/sounds/voice_recog_start.wav diff --git a/third_party/google_input_tools/src/chrome/os/statistics.js b/third_party/google_input_tools/src/chrome/os/statistics.js index 551f96e..af1d9f8 100644 --- a/third_party/google_input_tools/src/chrome/os/statistics.js +++ b/third_party/google_input_tools/src/chrome/os/statistics.js @@ -57,6 +57,7 @@ Statistics.CommitTypes = { X_Y1: 3, // User types X, and chooses Y as non-top suggestion. PREDICTION: 4, REVERT: 5, + VOICE: 6, MAX: 7 }; @@ -64,8 +65,7 @@ Statistics.CommitTypes = { /** * The current input method id. * - * @type {string} - * @private + * @private {string} */ Statistics.prototype.inputMethodId_ = ''; @@ -73,13 +73,20 @@ Statistics.prototype.inputMethodId_ = ''; /** * The current auto correct level. * - * @type {number} - * @private + * @private {number} */ Statistics.prototype.autoCorrectLevel_ = 0; /** + * Number of characters entered between each backspace. + * + * @private {number} + */ +Statistics.prototype.charactersBetweenBackspaces_ = 0; + + +/** * Whether recording for physical keyboard specially. * * @private {boolean} @@ -152,7 +159,7 @@ Statistics.prototype.getTargetType_ = function( * @param {number} targetIndex The target index. * @param {number} triggerType The trigger type: * 0: BySpace; 1: ByReset; 2: ByCandidate; 3: BySymbolOrNumber; - * 4: ByDoubleSpaceToPeriod; 5: ByRevert. + * 4: ByDoubleSpaceToPeriod; 5: ByRevert; 6: ByVoice. */ Statistics.prototype.recordCommit = function( source, target, targetIndex, triggerType) { @@ -173,6 +180,8 @@ Statistics.prototype.recordCommit = function( commitType = CommitTypes.PREDICTION; } else if (triggerType == 5) { commitType = CommitTypes.REVERT; + } else if (triggerType == 6) { + commitType = CommitTypes.VOICE; } if (commitType < 0) { return; @@ -306,4 +315,26 @@ Statistics.prototype.recordValue = function( }, count); } }; + + +/** + * Records a key down. + */ +Statistics.prototype.recordCharacterKey = function() { + this.charactersBetweenBackspaces_++; +}; + + +/** + * Records a backspace. + */ +Statistics.prototype.recordBackspace = function() { + // Ignore multiple backspaces typed in succession. + if (this.charactersBetweenBackspaces_ > 0) { + this.recordValue( + 'InputMethod.VirtualKeyboard.CharactersBetweenBackspaces', + this.charactersBetweenBackspaces_, 4096, 50); + } + this.charactersBetweenBackspaces_ = 0; +}; }); // goog.scope diff --git a/ui/keyboard/BUILD.gn b/ui/keyboard/BUILD.gn index e997834..bdb0775 100644 --- a/ui/keyboard/BUILD.gn +++ b/ui/keyboard/BUILD.gn @@ -76,12 +76,12 @@ grit("resources_grit") { "keyboard_resources.rc", ] - inputview_dir = "//third_party/google_input_tools/src/chrome/os/inputview" + input_tools_root_dir = "//third_party/google_input_tools/src/chrome/os" inputview_gen_js = "$root_gen_dir/ui/keyboard/resources/inputview.js" keyboard_mojom_gen_js = "$root_gen_dir/ui/keyboard/webui/keyboard.mojom.js" grit_flags = [ "-E", - "inputview_dir=" + rebase_path(inputview_dir, "."), + "input_tools_root_dir=" + rebase_path(input_tools_root_dir, "."), "-E", "inputview_gen_js=" + rebase_path(inputview_gen_js, root_build_dir), "-E", diff --git a/ui/keyboard/keyboard.gyp b/ui/keyboard/keyboard.gyp index 27a26e2..c2c28a5 100644 --- a/ui/keyboard/keyboard.gyp +++ b/ui/keyboard/keyboard.gyp @@ -6,7 +6,7 @@ 'variables': { 'chromium_code': 1, 'keyboard_mojom_gen_js': '<(SHARED_INTERMEDIATE_DIR)/ui/keyboard/webui/keyboard.mojom.js', - 'inputview_dir': '../../third_party/google_input_tools/src/chrome/os/inputview', + 'input_tools_root_dir': '../../third_party/google_input_tools/src/chrome/os', 'inputview_gen_js': '<(SHARED_INTERMEDIATE_DIR)/ui/keyboard/resources/inputview.js', }, 'targets': [ @@ -36,7 +36,7 @@ 'grit_grd_file': 'keyboard_resources.grd', 'grit_additional_defines': [ '-E', 'keyboard_mojom_gen_js=<(keyboard_mojom_gen_js)', - '-E', 'inputview_dir=<(inputview_dir)', + '-E', 'input_tools_root_dir=<(input_tools_root_dir)', '-E', 'inputview_gen_js=<(inputview_gen_js)', ], }, diff --git a/ui/keyboard/keyboard_resources.grd b/ui/keyboard/keyboard_resources.grd index f70ead5..616109e 100644 --- a/ui/keyboard/keyboard_resources.grd +++ b/ui/keyboard/keyboard_resources.grd @@ -15,56 +15,55 @@ </outputs> <release seq="1"> <includes> - <include name="IDR_KEYBOARD_CONFIG_EMOJI" file="${inputview_dir}/config/emoji_data.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_CONFIG_HWT" file="${inputview_dir}/config/hwt_data.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_CONFIG_US" file="${inputview_dir}/config/us_data.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_CSS_EMOJI" file="${inputview_dir}/emoji.css" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_BACKSPACE" file="${inputview_dir}/images/backspace.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_CAR" file="${inputview_dir}/images/car.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_CAT" file="${inputview_dir}/images/emoji_cat_items.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_CHECK" file="${inputview_dir}/images/check.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_COMPACT" file="${inputview_dir}/images/compact.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_DOWN" file="${inputview_dir}/images/down.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_EMOJI" file="${inputview_dir}/images/emoji.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_EMOTICON" file="${inputview_dir}/images/emoticon.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_ERROR" file="${inputview_dir}/images/error.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_FAVORITE" file="${inputview_dir}/images/favorit.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_FLOWER" file="${inputview_dir}/images/flower.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_FULLSIZE" file="${inputview_dir}/images/regular_size.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_GLOBE" file="${inputview_dir}/images/globe.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_HIDE_KEYBOARD" file="${inputview_dir}/images/hide.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_CONFIG_EMOJI" file="${input_tools_root_dir}/inputview/config/emoji_data.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_CONFIG_HWT" file="${input_tools_root_dir}/inputview/config/hwt_data.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_CONFIG_US" file="${input_tools_root_dir}/inputview/config/us_data.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_CSS_EMOJI" file="${input_tools_root_dir}/inputview/emoji.css" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_BACKSPACE" file="${input_tools_root_dir}/inputview/images/backspace.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_CAR" file="${input_tools_root_dir}/inputview/images/car.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_CAT" file="${input_tools_root_dir}/inputview/images/emoji_cat_items.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_CHECK" file="${input_tools_root_dir}/inputview/images/check.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_COMPACT" file="${input_tools_root_dir}/inputview/images/compact.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_DOWN" file="${input_tools_root_dir}/inputview/images/down.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_EMOJI" file="${input_tools_root_dir}/inputview/images/emoji.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_EMOTICON" file="${input_tools_root_dir}/inputview/images/emoticon.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_ERROR" file="${input_tools_root_dir}/inputview/images/error.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_FAVORITE" file="${input_tools_root_dir}/inputview/images/favorit.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_FLOWER" file="${input_tools_root_dir}/inputview/images/flower.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_FULLSIZE" file="${input_tools_root_dir}/inputview/images/regular_size.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_GLOBE" file="${input_tools_root_dir}/inputview/images/globe.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_HIDE_KEYBOARD" file="${input_tools_root_dir}/inputview/images/hide.png" type="BINDATA" /> <include name="IDR_KEYBOARD_IMAGES_KEYBOARD" file="resources/images/keyboard.svg" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_LEFT" file="${inputview_dir}/images/left.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_MENU" file="${inputview_dir}/images/menu.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_PENCIL" file="${inputview_dir}/images/pencil.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_RECENT" file="${inputview_dir}/images/recent.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_RETURN" file="${inputview_dir}/images/enter.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_RIGHT" file="${inputview_dir}/images/right.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_SPECIAL_CHARACTERS" file="${inputview_dir}/images/special_characters.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_SEARCH" file="${inputview_dir}/images/search.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_SETTINGS" file="${inputview_dir}/images/setting.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_SHIFT" file="${inputview_dir}/images/shift.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_SPACE" file="${inputview_dir}/images/space.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_TAB" file="${inputview_dir}/images/tab.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_TRIANGLE" file="${inputview_dir}/images/triangle.png" type="BINDATA" /> - <include name="IDR_KEYBOARD_IMAGES_UP" file="${inputview_dir}/images/up.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_LEFT" file="${input_tools_root_dir}/inputview/images/left.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_MENU" file="${input_tools_root_dir}/inputview/images/menu.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_PENCIL" file="${input_tools_root_dir}/inputview/images/pencil.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_RECENT" file="${input_tools_root_dir}/inputview/images/recent.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_RETURN" file="${input_tools_root_dir}/inputview/images/enter.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_RIGHT" file="${input_tools_root_dir}/inputview/images/right.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_SEARCH" file="${input_tools_root_dir}/inputview/images/search.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_SETTINGS" file="${input_tools_root_dir}/inputview/images/setting.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_SHIFT" file="${input_tools_root_dir}/inputview/images/shift.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_SPACE" file="${input_tools_root_dir}/inputview/images/space.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_TAB" file="${input_tools_root_dir}/inputview/images/tab.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_TRIANGLE" file="${input_tools_root_dir}/inputview/images/triangle.png" type="BINDATA" /> + <include name="IDR_KEYBOARD_IMAGES_UP" file="${input_tools_root_dir}/inputview/images/up.png" type="BINDATA" /> <include name="IDR_KEYBOARD_INDEX" file="resources/index.html" type="BINDATA" /> <include name="IDR_KEYBOARD_INPUTVIEW_ADAPTER" file="resources/inputview_adapter.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_INPUTVIEW_CSS" file="${inputview_dir}/common.css" type="BINDATA" /> + <include name="IDR_KEYBOARD_INPUTVIEW_CSS" file="${input_tools_root_dir}/inputview/common.css" type="BINDATA" /> <include name="IDR_KEYBOARD_INPUTVIEW_JS" file="${inputview_gen_js}" use_base_dir="false" type="BINDATA" /> <include name="IDR_KEYBOARD_MOJO_JS" file="resources/keyboard_mojo.js" flattenhtml="true" type="BINDATA" /> <include name="IDR_KEYBOARD_MOJO_GEN_JS" file="${keyboard_mojom_gen_js}" use_base_dir="false" type="BINDATA" /> <include name="IDR_KEYBOARD_LOCALES_EN" file="resources/locales/en.js" flattenhtml="true" type="BINDATA" /> - <include name="IDR_KEYBOARD_LAYOUTS_101" file="${inputview_dir}/layouts/101kbd_layout.js" type="BINDATA"/> - <include name="IDR_KEYBOARD_LAYOUTS_COMPACT_QWERTY" file="${inputview_dir}/layouts/compactkbd_qwerty_layout.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_LAYOUTS_COMPACT_NUMBERPAD" file="${inputview_dir}/layouts/compactkbd_numberpad_layout.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_LAYOUTS_EMOJI" file="${inputview_dir}/layouts/emoji_layout.js" type="BINDATA" /> - <include name="IDR_KEYBOARD_LAYOUTS_HWT" file="${inputview_dir}/layouts/handwriting_layout.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_LAYOUTS_101" file="${input_tools_root_dir}/inputview/layouts/101kbd_layout.js" type="BINDATA"/> + <include name="IDR_KEYBOARD_LAYOUTS_COMPACT_QWERTY" file="${input_tools_root_dir}/inputview/layouts/compactkbd_qwerty_layout.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_LAYOUTS_COMPACT_NUMBERPAD" file="${input_tools_root_dir}/inputview/layouts/compactkbd_numberpad_layout.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_LAYOUTS_EMOJI" file="${input_tools_root_dir}/inputview/layouts/emoji_layout.js" type="BINDATA" /> + <include name="IDR_KEYBOARD_LAYOUTS_HWT" file="${input_tools_root_dir}/inputview/layouts/handwriting_layout.js" type="BINDATA" /> <include name="IDR_KEYBOARD_MANIFEST" file="resources/manifest.json" type="BINDATA" /> - <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_DELETE" file="${inputview_dir}/sounds/keypress-delete.wav" type="BINDATA" /> - <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_RETURN" file="${inputview_dir}/sounds/keypress-return.wav" type="BINDATA" /> - <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_SPACEBAR" file="${inputview_dir}/sounds/keypress-spacebar.wav" type="BINDATA" /> - <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_STANDARD" file="${inputview_dir}/sounds/keypress-standard.wav" type="BINDATA" /> + <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_DELETE" file="${input_tools_root_dir}/sounds/keypress-delete.wav" type="BINDATA" /> + <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_RETURN" file="${input_tools_root_dir}/sounds/keypress-return.wav" type="BINDATA" /> + <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_SPACEBAR" file="${input_tools_root_dir}/sounds/keypress-spacebar.wav" type="BINDATA" /> + <include name="IDR_KEYBOARD_SOUNDS_KEYPRESS_STANDARD" file="${input_tools_root_dir}/sounds/keypress-standard.wav" type="BINDATA" /> </includes> </release> </grit> diff --git a/ui/keyboard/keyboard_util.cc b/ui/keyboard/keyboard_util.cc index 3c126c3..6ffeb34 100644 --- a/ui/keyboard/keyboard_util.cc +++ b/ui/keyboard/keyboard_util.cc @@ -346,8 +346,6 @@ const GritResourceMap* GetKeyboardExtensionResources(size_t* size) { {"keyboard/images/setting.png", IDR_KEYBOARD_IMAGES_SETTINGS}, {"keyboard/images/shift.png", IDR_KEYBOARD_IMAGES_SHIFT}, {"keyboard/images/space.png", IDR_KEYBOARD_IMAGES_SPACE}, - {"keyboard/images/special_characters.png", - IDR_KEYBOARD_IMAGES_SPECIAL_CHARACTERS}, {"keyboard/images/tab.png", IDR_KEYBOARD_IMAGES_TAB}, {"keyboard/images/triangle.png", IDR_KEYBOARD_IMAGES_TRIANGLE}, {"keyboard/images/up.png", IDR_KEYBOARD_IMAGES_UP}, |