| Index: ios/chrome/tools/strings/generate_localizable_strings.gni
|
| diff --git a/ios/chrome/tools/strings/generate_localizable_strings.gni b/ios/chrome/tools/strings/generate_localizable_strings.gni
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2606e58c131a9eb6daaad7cd4184dbac2610c7af
|
| --- /dev/null
|
| +++ b/ios/chrome/tools/strings/generate_localizable_strings.gni
|
| @@ -0,0 +1,105 @@
|
| +# Copyright 2016 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.
|
| +
|
| +# Help template to define a data_bundle with localized strings for use by
|
| +# the iOS system from packed locale.pak files.
|
| +#
|
| +# Arguments
|
| +# config_file
|
| +# string, path to the property list file containing the configuration
|
| +# parameters for the invocation of generate_localizable_strings tool.
|
| +#
|
| +# datapack_dir
|
| +# string, path to the directory containing the packed locale.pak files
|
| +# in use for the generate_localizable_strings tool.
|
| +#
|
| +# locales
|
| +# list of strings corresponding to all the locales that should be
|
| +# generated and packed.
|
| +#
|
| +# output_filenames
|
| +# list of strings corresponding to the basename of the files generated
|
| +# by the generate_localizable_strings tool (i.e. if it contains ["a"]
|
| +# then the tool will generate ["$locale.lproj/a"] for each locale set
|
| +# in locales argument).
|
| +#
|
| +# deps
|
| +# list of target labels.
|
| +#
|
| +template("generate_localizable_strings") {
|
| + assert(defined(invoker.config_file),
|
| + "config_file needs to be defined for ${target_name}")
|
| + assert(defined(invoker.datapack_dir),
|
| + "datapack_dir needs to be defined for ${target_name}")
|
| + assert(defined(invoker.output_filenames),
|
| + "output_filenames needs to be defined for ${target_name}")
|
| + assert(defined(invoker.packed_locales),
|
| + "packed_locales needs to be defined for ${target_name}")
|
| +
|
| + _tool_target = "//ios/chrome/tools/strings" +
|
| + ":generate_localizable_strings(${host_toolchain})"
|
| + _tool_path = get_label_info(_tool_target, "root_out_dir") +
|
| + "/generate_localizable_strings"
|
| +
|
| + _target_name = target_name
|
| +
|
| + _bundle_targets = []
|
| + foreach(locale, invoker.packed_locales) {
|
| + _bundle_targets += [ ":${_target_name}_${locale}" ]
|
| +
|
| + bundle_data("${_target_name}_${locale}") {
|
| + forward_variables_from(invoker, [ "testonly" ])
|
| +
|
| + visibility = [ ":${_target_name}" ]
|
| + public_deps = [
|
| + ":${_target_name}_generate",
|
| + ]
|
| + sources = []
|
| + foreach(filename, invoker.output_filenames) {
|
| + sources += [ "${target_gen_dir}/${locale}.lproj/$filename" ]
|
| + }
|
| + outputs = [
|
| + "{{bundle_resources_dir}}/${locale}.lproj/{{source_file_part}}",
|
| + ]
|
| + }
|
| + }
|
| +
|
| + action("${_target_name}_generate") {
|
| + forward_variables_from(invoker, [ "testonly" ])
|
| +
|
| + visibility = _bundle_targets
|
| + script = "//ios/chrome/tools/strings/generate_localizable_strings.py"
|
| + deps = invoker.deps + [ _tool_target ]
|
| +
|
| + outputs = []
|
| + sources = [
|
| + invoker.config_file,
|
| + ]
|
| +
|
| + foreach(locale, invoker.packed_locales) {
|
| + sources += [ "${invoker.datapack_dir}/${locale}.lproj/locale.pak" ]
|
| + foreach(filename, invoker.output_filenames) {
|
| + outputs += [ "${target_gen_dir}/${locale}.lproj/$filename" ]
|
| + }
|
| + }
|
| +
|
| + args = rebase_path([
|
| + _tool_path,
|
| + invoker.config_file,
|
| + root_gen_dir,
|
| + invoker.datapack_dir,
|
| + target_gen_dir,
|
| + ],
|
| + root_out_dir) + invoker.packed_locales
|
| + }
|
| +
|
| + group(_target_name) {
|
| + forward_variables_from(invoker,
|
| + [
|
| + "testonly",
|
| + "visibility",
|
| + ])
|
| + deps = _bundle_targets
|
| + }
|
| +}
|
|
|