summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsdefresne <sdefresne@chromium.org>2015-09-23 11:16:55 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-23 18:17:58 +0000
commit2784775ae65983b0478182a3bd02b133de4d0de0 (patch)
treedc42db9d5f1b24ffda9c224d336227ecc52f6c22
parent7d4047d17d21b2fda3ae15a7aa1e3a9c0d06f533 (diff)
downloadchromium_src-2784775ae65983b0478182a3bd02b133de4d0de0.zip
chromium_src-2784775ae65983b0478182a3bd02b133de4d0de0.tar.gz
chromium_src-2784775ae65983b0478182a3bd02b133de4d0de0.tar.bz2
New file to hold Chrome on iOS "today" extension localizable strings.
On iOS, application extensions are separate bundle with their own resources, so introduce a new file ios_today_extension_strings.grd to hold the localizable string for the Chrome on iOS "today" extension. Add script and build steps to generate and pack those now localized strings and update tools/gritsettings/resource_ids to reserve 15 ids for them (there are only 15 strings currently). Register the .grd file in tools/gritsettings/translation_expectations.pyl. BUG=534342 Review URL: https://codereview.chromium.org/1359563003 Cr-Commit-Position: refs/heads/master@{#350336}
-rw-r--r--ios/chrome/ios_today_extension_resources.gyp85
-rw-r--r--ios/chrome/ios_today_extension_resources_bundle.gypi12
-rw-r--r--ios/chrome/today_extension/strings/ios_today_extension_strings.grd180
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_am.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ar.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bg.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bn.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ca.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_cs.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_da.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_de.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_el.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_en-GB.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es-419.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_et.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fa.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fi.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fil.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fr.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_gu.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hi.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hr.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hu.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_id.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_it.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_iw.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ja.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_kn.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ko.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lt.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lv.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ml.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_mr.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ms.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_nl.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_no.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pl.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-BR.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-PT.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ro.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ru.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sk.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sl.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sr.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sv.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sw.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ta.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_te.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_th.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_tr.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_uk.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_vi.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-CN.xtb4
-rw-r--r--ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-TW.xtb4
-rwxr-xr-xios/chrome/tools/build/ios_repack_today_extension_locales.py142
-rw-r--r--ios/ios.gyp1
-rw-r--r--tools/gritsettings/resource_ids3
-rw-r--r--tools/gritsettings/translation_expectations.pyl1
59 files changed, 632 insertions, 0 deletions
diff --git a/ios/chrome/ios_today_extension_resources.gyp b/ios/chrome/ios_today_extension_resources.gyp
new file mode 100644
index 0000000..3af1d79
--- /dev/null
+++ b/ios/chrome/ios_today_extension_resources.gyp
@@ -0,0 +1,85 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'chromium_code': 1,
+ 'grit_base_dir': '<(SHARED_INTERMEDIATE_DIR)',
+ 'grit_out_dir': '<(grit_base_dir)/ios/today_extension',
+ },
+ 'targets': [
+ {
+ 'target_name': 'ios_today_extension_resources',
+ 'type': 'none',
+ 'dependencies': [
+ 'ios_today_extension_strings_gen',
+ ],
+ },
+ {
+ 'target_name': 'ios_today_extension_strings_gen',
+ 'type': 'none',
+ 'hard_dependency': 1,
+ 'actions': [
+ {
+ 'action_name': 'generate_ios_today_extension_strings',
+ 'variables': {
+ 'grit_whitelist': '',
+ 'grit_grd_file': 'today_extension/strings/ios_today_extension_strings.grd',
+ },
+ 'includes': [ '../../build/grit_action.gypi' ],
+ },
+ ],
+ 'includes': [ '../../build/grit_target.gypi' ],
+ # Override the exported include-dirs; ios/chrome/grit/ios_*strings.h
+ # should only be referenceable as ios/chrome/grit to allow DEPS-time
+ # checking of usage.
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(grit_base_dir)',
+ ],
+ 'include_dirs!': [
+ '<(grit_out_dir)',
+ ],
+ }
+ },
+ {
+ 'target_name': 'ios_today_extension_packed_resources',
+ 'type': 'none',
+ 'dependencies': [
+ 'ios_today_extension_resources',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'repack_ios_today_extension_locales',
+ 'variables': {
+ 'repack_locales_path': 'tools/build/ios_repack_today_extension_locales.py',
+ },
+ 'inputs': [
+ 'tools/build/ios_repack_today_extension_locales.py',
+ '<!@pymod_do_main(ios_repack_today_extension_locales -i '
+ '-s <(SHARED_INTERMEDIATE_DIR) '
+ '-x <(SHARED_INTERMEDIATE_DIR)/repack_today_extension '
+ '-b <(branding_path_component) '
+ '<(locales))'
+ ],
+ 'outputs': [
+ '<!@pymod_do_main(ios_repack_today_extension_locales -o '
+ '-s <(SHARED_INTERMEDIATE_DIR) '
+ '-x <(SHARED_INTERMEDIATE_DIR)/repack_today_extension '
+ '<(locales))'
+ ],
+ 'action': [
+ 'python',
+ 'tools/build/ios_repack_today_extension_locales.py',
+ '-x', '<(SHARED_INTERMEDIATE_DIR)/repack_today_extension',
+ '-s', '<(SHARED_INTERMEDIATE_DIR)',
+ '-b', '<(branding_path_component)',
+ '<@(locales)',
+ ],
+ },
+ ],
+ },
+ ],
+}
+
diff --git a/ios/chrome/ios_today_extension_resources_bundle.gypi b/ios/chrome/ios_today_extension_resources_bundle.gypi
new file mode 100644
index 0000000..9552a8d
--- /dev/null
+++ b/ios/chrome/ios_today_extension_resources_bundle.gypi
@@ -0,0 +1,12 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'dependencies': [
+ '<(DEPTH)/ios/chrome/ios_today_extension_resources.gyp:ios_today_extension_packed_resources',
+ ],
+ 'mac_bundle_resources': [
+ '<!@pymod_do_main(ios_repack_today_extension_locales -o -s <(SHARED_INTERMEDIATE_DIR) '
+ '-x <(SHARED_INTERMEDIATE_DIR)/repack_today_extension <(locales))',
+ ],
+}
diff --git a/ios/chrome/today_extension/strings/ios_today_extension_strings.grd b/ios/chrome/today_extension/strings/ios_today_extension_strings.grd
new file mode 100644
index 0000000..49c578f
--- /dev/null
+++ b/ios/chrome/today_extension/strings/ios_today_extension_strings.grd
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+This file contains definition of resources that will be translated for each
+locale. The variables is_win, is_macosx, is_linux, is_ios and is_posix are
+available for making strings OS specific. Other platform defines such as
+use_titlecase are declared in build/common.gypi.
+
+The strings in this file are specific to iOS, thus is_ios will be true and
+all other OS specific variables will be false.
+-->
+
+<grit base_dir="." latest_public_release="0" current_release="1"
+ source_lang_id="en" enc_check="möl">
+ <outputs>
+ <output filename="grit/ios_today_extension_strings.h" type="rc_header">
+ <emit emit_type="prepend"></emit>
+ </output>
+ <output filename="ios_today_extension_strings_am.pak" type="data_package" lang="am" />
+ <output filename="ios_today_extension_strings_ar.pak" type="data_package" lang="ar" />
+ <output filename="ios_today_extension_strings_bg.pak" type="data_package" lang="bg" />
+ <output filename="ios_today_extension_strings_bn.pak" type="data_package" lang="bn" />
+ <output filename="ios_today_extension_strings_ca.pak" type="data_package" lang="ca" />
+ <output filename="ios_today_extension_strings_cs.pak" type="data_package" lang="cs" />
+ <output filename="ios_today_extension_strings_da.pak" type="data_package" lang="da" />
+ <output filename="ios_today_extension_strings_de.pak" type="data_package" lang="de" />
+ <output filename="ios_today_extension_strings_el.pak" type="data_package" lang="el" />
+ <output filename="ios_today_extension_strings_en-GB.pak" type="data_package" lang="en-GB" />
+ <output filename="ios_today_extension_strings_en-US.pak" type="data_package" lang="en" />
+ <output filename="ios_today_extension_strings_es.pak" type="data_package" lang="es" />
+ <output filename="ios_today_extension_strings_es-MX.pak" type="data_package" lang="es-419" />
+ <output filename="ios_today_extension_strings_et.pak" type="data_package" lang="et" />
+ <output filename="ios_today_extension_strings_fa.pak" type="data_package" lang="fa" />
+ <output filename="ios_today_extension_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
+ <output filename="ios_today_extension_strings_fi.pak" type="data_package" lang="fi" />
+ <output filename="ios_today_extension_strings_fil.pak" type="data_package" lang="fil" />
+ <output filename="ios_today_extension_strings_fr.pak" type="data_package" lang="fr" />
+ <output filename="ios_today_extension_strings_gu.pak" type="data_package" lang="gu" />
+ <output filename="ios_today_extension_strings_he.pak" type="data_package" lang="he" />
+ <output filename="ios_today_extension_strings_hi.pak" type="data_package" lang="hi" />
+ <output filename="ios_today_extension_strings_hr.pak" type="data_package" lang="hr" />
+ <output filename="ios_today_extension_strings_hu.pak" type="data_package" lang="hu" />
+ <output filename="ios_today_extension_strings_id.pak" type="data_package" lang="id" />
+ <output filename="ios_today_extension_strings_it.pak" type="data_package" lang="it" />
+ <output filename="ios_today_extension_strings_ja.pak" type="data_package" lang="ja" />
+ <output filename="ios_today_extension_strings_kn.pak" type="data_package" lang="kn" />
+ <output filename="ios_today_extension_strings_ko.pak" type="data_package" lang="ko" />
+ <output filename="ios_today_extension_strings_lt.pak" type="data_package" lang="lt" />
+ <output filename="ios_today_extension_strings_lv.pak" type="data_package" lang="lv" />
+ <output filename="ios_today_extension_strings_ml.pak" type="data_package" lang="ml" />
+ <output filename="ios_today_extension_strings_mr.pak" type="data_package" lang="mr" />
+ <output filename="ios_today_extension_strings_ms.pak" type="data_package" lang="ms" />
+ <output filename="ios_today_extension_strings_nl.pak" type="data_package" lang="nl" />
+ <!-- The translation console uses 'no' for Norwegian Bokmål. It should
+ be 'nb'. -->
+ <output filename="ios_today_extension_strings_nb.pak" type="data_package" lang="no" />
+ <output filename="ios_today_extension_strings_pl.pak" type="data_package" lang="pl" />
+ <output filename="ios_today_extension_strings_pt.pak" type="data_package" lang="pt-BR" />
+ <output filename="ios_today_extension_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
+ <output filename="ios_today_extension_strings_ro.pak" type="data_package" lang="ro" />
+ <output filename="ios_today_extension_strings_ru.pak" type="data_package" lang="ru" />
+ <output filename="ios_today_extension_strings_sk.pak" type="data_package" lang="sk" />
+ <output filename="ios_today_extension_strings_sl.pak" type="data_package" lang="sl" />
+ <output filename="ios_today_extension_strings_sr.pak" type="data_package" lang="sr" />
+ <output filename="ios_today_extension_strings_sv.pak" type="data_package" lang="sv" />
+ <output filename="ios_today_extension_strings_sw.pak" type="data_package" lang="sw" />
+ <output filename="ios_today_extension_strings_ta.pak" type="data_package" lang="ta" />
+ <output filename="ios_today_extension_strings_te.pak" type="data_package" lang="te" />
+ <output filename="ios_today_extension_strings_th.pak" type="data_package" lang="th" />
+ <output filename="ios_today_extension_strings_tr.pak" type="data_package" lang="tr" />
+ <output filename="ios_today_extension_strings_uk.pak" type="data_package" lang="uk" />
+ <output filename="ios_today_extension_strings_vi.pak" type="data_package" lang="vi" />
+ <output filename="ios_today_extension_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
+ <output filename="ios_today_extension_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
+ </outputs>
+ <translations>
+ <file path="resources/ios_today_extension_strings_am.xtb" lang="am" />
+ <file path="resources/ios_today_extension_strings_ar.xtb" lang="ar" />
+ <file path="resources/ios_today_extension_strings_bg.xtb" lang="bg" />
+ <file path="resources/ios_today_extension_strings_bn.xtb" lang="bn" />
+ <file path="resources/ios_today_extension_strings_ca.xtb" lang="ca" />
+ <file path="resources/ios_today_extension_strings_cs.xtb" lang="cs" />
+ <file path="resources/ios_today_extension_strings_da.xtb" lang="da" />
+ <file path="resources/ios_today_extension_strings_de.xtb" lang="de" />
+ <file path="resources/ios_today_extension_strings_el.xtb" lang="el" />
+ <file path="resources/ios_today_extension_strings_en-GB.xtb" lang="en-GB" />
+ <file path="resources/ios_today_extension_strings_es.xtb" lang="es" />
+ <file path="resources/ios_today_extension_strings_es-419.xtb" lang="es-419" />
+ <file path="resources/ios_today_extension_strings_et.xtb" lang="et" />
+ <file path="resources/ios_today_extension_strings_fa.xtb" lang="fa" />
+ <file path="resources/ios_today_extension_strings_fi.xtb" lang="fi" />
+ <file path="resources/ios_today_extension_strings_fil.xtb" lang="fil" />
+ <file path="resources/ios_today_extension_strings_fr.xtb" lang="fr" />
+ <file path="resources/ios_today_extension_strings_gu.xtb" lang="gu" />
+ <file path="resources/ios_today_extension_strings_hi.xtb" lang="hi" />
+ <file path="resources/ios_today_extension_strings_hr.xtb" lang="hr" />
+ <file path="resources/ios_today_extension_strings_hu.xtb" lang="hu" />
+ <file path="resources/ios_today_extension_strings_id.xtb" lang="id" />
+ <file path="resources/ios_today_extension_strings_it.xtb" lang="it" />
+ <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
+ <file path="resources/ios_today_extension_strings_iw.xtb" lang="he" />
+ <file path="resources/ios_today_extension_strings_ja.xtb" lang="ja" />
+ <file path="resources/ios_today_extension_strings_kn.xtb" lang="kn" />
+ <file path="resources/ios_today_extension_strings_ko.xtb" lang="ko" />
+ <file path="resources/ios_today_extension_strings_lt.xtb" lang="lt" />
+ <file path="resources/ios_today_extension_strings_lv.xtb" lang="lv" />
+ <file path="resources/ios_today_extension_strings_ml.xtb" lang="ml" />
+ <file path="resources/ios_today_extension_strings_mr.xtb" lang="mr" />
+ <file path="resources/ios_today_extension_strings_ms.xtb" lang="ms" />
+ <file path="resources/ios_today_extension_strings_nl.xtb" lang="nl" />
+ <file path="resources/ios_today_extension_strings_no.xtb" lang="no" />
+ <file path="resources/ios_today_extension_strings_pl.xtb" lang="pl" />
+ <file path="resources/ios_today_extension_strings_pt-BR.xtb" lang="pt-BR" />
+ <file path="resources/ios_today_extension_strings_pt-PT.xtb" lang="pt-PT" />
+ <file path="resources/ios_today_extension_strings_ro.xtb" lang="ro" />
+ <file path="resources/ios_today_extension_strings_ru.xtb" lang="ru" />
+ <file path="resources/ios_today_extension_strings_sk.xtb" lang="sk" />
+ <file path="resources/ios_today_extension_strings_sl.xtb" lang="sl" />
+ <file path="resources/ios_today_extension_strings_sr.xtb" lang="sr" />
+ <file path="resources/ios_today_extension_strings_sv.xtb" lang="sv" />
+ <file path="resources/ios_today_extension_strings_sw.xtb" lang="sw" />
+ <file path="resources/ios_today_extension_strings_ta.xtb" lang="ta" />
+ <file path="resources/ios_today_extension_strings_te.xtb" lang="te" />
+ <file path="resources/ios_today_extension_strings_th.xtb" lang="th" />
+ <file path="resources/ios_today_extension_strings_tr.xtb" lang="tr" />
+ <file path="resources/ios_today_extension_strings_uk.xtb" lang="uk" />
+ <file path="resources/ios_today_extension_strings_vi.xtb" lang="vi" />
+ <file path="resources/ios_today_extension_strings_zh-CN.xtb" lang="zh-CN" />
+ <file path="resources/ios_today_extension_strings_zh-TW.xtb" lang="zh-TW" />
+ </translations>
+ <release seq="1" allow_pseudo="false">
+ <messages fallback_to_english="true">
+ <message name="IDS_IOS_NEW_TAB_TITLE_TODAY_EXTENSION" desc="Today extension button title to open a new tab. [Length: 30em]">
+ New Tab
+ </message>
+ <message name="IDS_IOS_OPEN_COPIED_LINK_TODAY_EXTENSION" desc="Today extension button title to open clipboard link. [Length: 30em]">
+ Open Copied Link
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_BLUETOOTH_TODAY_EXTENSION_FOOTER_LABEL" desc="The text contained in the footer label when Bluetooth is off. [50em]">
+ Turn on Bluetooth to see nearby BEGIN_LINK Physical Web END_LINK objects.
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_OFF_TODAY_EXTENSION_FOOTER_LABEL" desc="The text contained in the footer label when physical web is off. [50em]">
+ BEGIN_LINK Physical Web END_LINK is off.
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_ON_TODAY_EXTENSION_FOOTER_LABEL" desc="The text contained in the footer label when physical web is on. [50em]">
+ BEGIN_LINK Physical Web END_LINK is on.
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_SCANNING_TODAY_EXTENSION_FOOTER_LABEL" desc="The text contained in the footer label when scanning for physical web devices. [50em]">
+ Scanning for BEGIN_LINK Physical Web END_LINK objects...
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_OPTIN_ACCEPT" desc="The title of the accept button in the first run opt-in dialog when physical web devices are detected in the Today widget. [Length: 9em] [iOS only]">
+ OK, got it
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_OPTIN_DESCRIPTION" desc="The description of the first run opt-in dialog when physical web devices are detected in the Today widget. [iOS only]">
+ BEGIN_LINK Nearby objects are broadcasting webpages END_LINK. A Google service will be used to improve the quality of these results.
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_OPTIN_DISMISS" desc="The title of the dismiss button in the first run opt-in dialog when physical web devices are detected in the Today widget. [Length: 9em] [iOS only]">
+ No, thanks
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_OPTIN_TITLE" desc="The title of the first run opt-in dialog when physical web devices are detected in the Today widget. [Length: 30em] [iOS only]">
+ Physical Web
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_OPTIN_UNLOCK" desc="String replacing IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_OPTIN_DESCRIPTION when devices is locked. [iOS only]">
+ Unlock your device to enable.
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TODAY_EXTENSION_SHOW_MORE_BEACONS" desc="The title of the button to show more beacons [50em]">
+ Show More Results
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TURN_OFF_TODAY_EXTENSION_FOOTER_LABEL" desc="The text contained in the button to disable physical web. [15em]">
+ Disable
+ </message>
+ <message name="IDS_IOS_PYSICAL_WEB_TURN_ON_TODAY_EXTENSION_FOOTER_LABEL" desc="The text contained in the button to enable physical web. [15em]">
+ Enable
+ </message>
+ <message name="IDS_IOS_VOICE_SEARCH_TODAY_EXTENSION_TITLE" desc="The title for Voice Search button in today extension [Length: 20em]">
+ Voice Search
+ </message>
+ </messages>
+ </release>
+</grit>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_am.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_am.xtb
new file mode 100644
index 0000000..6c985cb8
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_am.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="am">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ar.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ar.xtb
new file mode 100644
index 0000000..e8b5562
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ar.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ar">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bg.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bg.xtb
new file mode 100644
index 0000000..ebab473
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bg.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="bg">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bn.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bn.xtb
new file mode 100644
index 0000000..a66cc1f
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_bn.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="bn">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ca.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ca.xtb
new file mode 100644
index 0000000..1438d89
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ca.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ca">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_cs.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_cs.xtb
new file mode 100644
index 0000000..2d95130
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_cs.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="cs">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_da.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_da.xtb
new file mode 100644
index 0000000..751fa4a
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_da.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="da">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_de.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_de.xtb
new file mode 100644
index 0000000..91de7f51
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_de.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="de">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_el.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_el.xtb
new file mode 100644
index 0000000..6e5e7d8
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_el.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="el">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_en-GB.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_en-GB.xtb
new file mode 100644
index 0000000..0fb2133
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_en-GB.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="en-GB">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es-419.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es-419.xtb
new file mode 100644
index 0000000..2fe4770
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es-419.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="es-419">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es.xtb
new file mode 100644
index 0000000..64022ec
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_es.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="es">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_et.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_et.xtb
new file mode 100644
index 0000000..5244dfd
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_et.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="et">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fa.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fa.xtb
new file mode 100644
index 0000000..18626f8
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fa.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fa">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fi.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fi.xtb
new file mode 100644
index 0000000..4691cd5
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fi.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fi">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fil.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fil.xtb
new file mode 100644
index 0000000..443630e
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fil.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fil">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fr.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fr.xtb
new file mode 100644
index 0000000..63026a3
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_fr.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fr">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_gu.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_gu.xtb
new file mode 100644
index 0000000..7d8a4df
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_gu.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="gu">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hi.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hi.xtb
new file mode 100644
index 0000000..a6ddd5d
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hi.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="hi">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hr.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hr.xtb
new file mode 100644
index 0000000..26f99d0
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hr.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="hr">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hu.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hu.xtb
new file mode 100644
index 0000000..7ef9a5e
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_hu.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="hu">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_id.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_id.xtb
new file mode 100644
index 0000000..aa34783
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_id.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="id">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_it.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_it.xtb
new file mode 100644
index 0000000..a6ac8d46
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_it.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="it">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_iw.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_iw.xtb
new file mode 100644
index 0000000..86b5533
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_iw.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="iw">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ja.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ja.xtb
new file mode 100644
index 0000000..23139e6
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ja.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ja">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_kn.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_kn.xtb
new file mode 100644
index 0000000..cc3643a
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_kn.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="kn">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ko.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ko.xtb
new file mode 100644
index 0000000..e0fc370
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ko.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ko">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lt.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lt.xtb
new file mode 100644
index 0000000..5804ae2
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lt.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="lt">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lv.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lv.xtb
new file mode 100644
index 0000000..a0a1c47
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_lv.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="lv">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ml.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ml.xtb
new file mode 100644
index 0000000..f7db315
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ml.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ml">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_mr.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_mr.xtb
new file mode 100644
index 0000000..098d29c
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_mr.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="mr">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ms.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ms.xtb
new file mode 100644
index 0000000..1fb470a
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ms.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ms">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_nl.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_nl.xtb
new file mode 100644
index 0000000..e782410
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_nl.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="nl">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_no.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_no.xtb
new file mode 100644
index 0000000..913638b
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_no.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="no">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pl.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pl.xtb
new file mode 100644
index 0000000..4519e3d
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pl.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="pl">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-BR.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-BR.xtb
new file mode 100644
index 0000000..e95eb56
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-BR.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="pt-BR">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-PT.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-PT.xtb
new file mode 100644
index 0000000..1dcf557a
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_pt-PT.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="pt-PT">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ro.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ro.xtb
new file mode 100644
index 0000000..9e43493
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ro.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ro">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ru.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ru.xtb
new file mode 100644
index 0000000..c4a621b
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ru.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ru">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sk.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sk.xtb
new file mode 100644
index 0000000..00750d3
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sk.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sk">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sl.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sl.xtb
new file mode 100644
index 0000000..489b7e4
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sl.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sl">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sr.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sr.xtb
new file mode 100644
index 0000000..38f6f35
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sr.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sr">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sv.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sv.xtb
new file mode 100644
index 0000000..ddea3dc
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sv.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sv">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sw.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sw.xtb
new file mode 100644
index 0000000..b775088
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_sw.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sw">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ta.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ta.xtb
new file mode 100644
index 0000000..ef90687
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_ta.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ta">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_te.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_te.xtb
new file mode 100644
index 0000000..48c714b
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_te.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="te">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_th.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_th.xtb
new file mode 100644
index 0000000..fae3196
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_th.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="th">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_tr.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_tr.xtb
new file mode 100644
index 0000000..9a29951
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_tr.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="tr">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_uk.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_uk.xtb
new file mode 100644
index 0000000..f0db52c
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_uk.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="uk">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_vi.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_vi.xtb
new file mode 100644
index 0000000..b2957da
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_vi.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="vi">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-CN.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-CN.xtb
new file mode 100644
index 0000000..26e8b40
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-CN.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="zh-CN">
+</translationbundle>
diff --git a/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-TW.xtb b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-TW.xtb
new file mode 100644
index 0000000..935ef48
--- /dev/null
+++ b/ios/chrome/today_extension/strings/resources/ios_today_extension_strings_zh-TW.xtb
@@ -0,0 +1,4 @@
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="zh-TW">
+</translationbundle>
diff --git a/ios/chrome/tools/build/ios_repack_today_extension_locales.py b/ios/chrome/tools/build/ios_repack_today_extension_locales.py
new file mode 100755
index 0000000..d7e2334
--- /dev/null
+++ b/ios/chrome/tools/build/ios_repack_today_extension_locales.py
@@ -0,0 +1,142 @@
+#!/usr/bin/env python
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Helper script to repack paks for a list of locales for today extension.
+
+Gyp doesn't have any built-in looping capability, so this just provides a way to
+loop over a list of locales when repacking pak files, thus avoiding a
+proliferation of mostly duplicate, cut-n-paste gyp actions.
+"""
+
+import optparse
+import os
+import sys
+
+script_dir = os.path.dirname(__file__)
+src_dir = os.path.join(script_dir, os.pardir, os.pardir, os.pardir, os.pardir)
+sys.path.append(os.path.join(src_dir, 'tools', 'grit'))
+
+from grit.format import data_pack
+
+
+def calc_output(options, locale):
+ """Determine the file that will be generated for the given locale."""
+ #e.g. '<(INTERMEDIATE_DIR)/repack/da.pak',
+ # For Fake Bidi, generate it at a fixed path so that tests can safely
+ # reference it.
+ if locale == 'fake-bidi':
+ return os.path.join(options.share_int_dir, locale + '.pak')
+ # For Cocoa to find the locale at runtime, it needs to use '_' instead
+ # of '-' (http://crbug.com/20441). Also, 'en-US' should be represented
+ # simply as 'en' (http://crbug.com/19165, http://crbug.com/25578).
+ if locale == 'en-US':
+ locale = 'en'
+ else:
+ locale = locale.replace('-', '_')
+ return os.path.join(options.out_dir, locale + '.lproj', 'locale.pak')
+
+
+def calc_inputs(options, locale):
+ """Determine the files that need processing for the given locale."""
+ inputs = []
+
+ #e.g. 'out/Debug/gen/ios/today_extension/ios_today_extension_strings_da.pak'
+ inputs.append(os.path.join(options.share_int_dir, 'ios', 'today_extension',
+ 'ios_today_extension_strings_%s.pak' % (locale)))
+
+ # Add any extra input files.
+ for extra_file in options.extra_input:
+ inputs.append('%s_%s.pak' % (extra_file, locale))
+
+ return inputs
+
+
+def list_outputs(options, locales):
+ """Returns the names of files that will be generated for the given locales.
+
+ This is to provide gyp the list of output files, so build targets can
+ properly track what needs to be built.
+ """
+ outputs = []
+ for locale in locales:
+ outputs.append(calc_output(options, locale))
+ return outputs
+
+
+def list_inputs(options, locales):
+ """Returns the names of files that will be processed for the given locales.
+
+ This is to provide gyp the list of input files, so build targets can properly
+ track their prerequisites.
+ """
+ inputs = []
+ for locale in locales:
+ inputs.extend(calc_inputs(options, locale))
+ return inputs
+
+
+def quote_filenames(filenames):
+ """Quote each elements so filename spaces don't mess up gyp's attempt to parse
+ it into a list."""
+ return " ".join(['"%s"' % x for x in filenames])
+
+
+def repack_locales(options, locales):
+ """ Loop over and repack the given locales."""
+ for locale in locales:
+ inputs = calc_inputs(options, locale)
+ output = calc_output(options, locale)
+ data_pack.DataPack.RePack(output, inputs, whitelist_file=options.whitelist)
+
+
+def DoMain(argv):
+ parser = optparse.OptionParser("usage: %prog [options] locales")
+ parser.add_option(
+ "-i", action="store_true", dest="print_inputs", default=False,
+ help="Print the expected input file list, then exit.")
+ parser.add_option(
+ "-o", action="store_true", dest="print_outputs", default=False,
+ help="Print the expected output file list, then exit.")
+ parser.add_option(
+ "-x", action="store", dest="out_dir",
+ help="Intermediate build files output directory.")
+ parser.add_option(
+ "-s", action="store", dest="share_int_dir",
+ help="Shared intermediate build files output directory.")
+ parser.add_option(
+ "-b", action="store", dest="branding",
+ help="Branding type of this build.")
+ parser.add_option(
+ "-e", action="append", dest="extra_input", default=[],
+ help="Full path to an extra input pak file without the "
+ "locale suffix and \".pak\" extension.")
+ parser.add_option(
+ "--whitelist", action="store", help="Full path to the "
+ "whitelist used to filter output pak file resource IDs")
+ options, locales = parser.parse_args(argv)
+
+ if not locales:
+ parser.error('Please specificy at least one locale to process.\n')
+
+ if not (options.out_dir and options.share_int_dir):
+ parser.error('Please specify all of "-x" and "-s".\n')
+ if options.print_inputs and options.print_outputs:
+ parser.error('Please specify only one of "-i" or "-o".\n')
+ # Need to know the branding, unless we're just listing the outputs.
+ if not options.print_outputs and not options.branding:
+ parser.error('Please specify "-b" to determine the input files.\n')
+
+ if options.print_inputs:
+ return quote_filenames(list_inputs(options, locales))
+
+ if options.print_outputs:
+ return quote_filenames(list_outputs(options, locales))
+
+ return repack_locales(options, locales)
+
+if __name__ == '__main__':
+ results = DoMain(sys.argv[1:])
+ if results:
+ print results
diff --git a/ios/ios.gyp b/ios/ios.gyp
index 17af2d1..116f26a 100644
--- a/ios/ios.gyp
+++ b/ios/ios.gyp
@@ -11,6 +11,7 @@
'type': 'none',
'dependencies': [
'chrome/ios_chrome_tests.gyp:*',
+ 'chrome/ios_today_extension_resources.gyp:*',
'crnet/crnet.gyp:*',
'crnet/crnet_pack.gyp:*',
'crnet/crnet_consumer/crnet_consumer.gyp:*',
diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
index df2e6ca..bd313a9 100644
--- a/tools/gritsettings/resource_ids
+++ b/tools/gritsettings/resource_ids
@@ -191,6 +191,9 @@
"ios/chrome/app/theme/ios_theme_resources.grd": {
"structures": [26655],
},
+ "ios/chrome/today_extension/strings/ios_today_extension_strings.grd": {
+ "messages": [27135],
+ },
"ash/ash_strings.grd": {
"messages": [25650],
},
diff --git a/tools/gritsettings/translation_expectations.pyl b/tools/gritsettings/translation_expectations.pyl
index bc33f87..c68e34b 100644
--- a/tools/gritsettings/translation_expectations.pyl
+++ b/tools/gritsettings/translation_expectations.pyl
@@ -31,6 +31,7 @@
"ios/chrome/app/strings/ios_chromium_strings.grd",
"ios/chrome/app/strings/ios_google_chrome_strings.grd",
"ios/chrome/app/strings/ios_strings.grd",
+ "ios/chrome/today_extension/strings/ios_today_extension_strings.grd",
"remoting/resources/remoting_strings.grd",
"ui/accessibility/extensions/strings/accessibility_extensions_strings.grd",
"ui/chromeos/ui_chromeos_strings.grd",