summaryrefslogtreecommitdiffstats
path: root/base/BUILD.gn
diff options
context:
space:
mode:
authorjshin <jshin@chromium.org>2015-08-07 03:11:09 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-07 10:11:42 +0000
commit8b581d8b638951f98c0fb0c0116ac18b355b825e (patch)
tree58623cbfa64540aca8cb288b29bf8a0efbb2327b /base/BUILD.gn
parent3bc71b8291a88cc35c21d05d9fb99787cccfddf5 (diff)
downloadchromium_src-8b581d8b638951f98c0fb0c0116ac18b355b825e.zip
chromium_src-8b581d8b638951f98c0fb0c0116ac18b355b825e.tar.gz
chromium_src-8b581d8b638951f98c0fb0c0116ac18b355b825e.tar.bz2
Add ICU message format support
Adopt and customize a ICU message format wrapper used at Google to meet Chromium's need. This will enable formatting of 'complex messages' requiring plural and/or selector (e.g. gender or 'single vs multiple') support with more than one parameters. Besides, l10n_util::GetPluralStringF* is rewritten to use this API. I'm also planning to use this API to add a similar support to Chromium's JavaScript-based UI and extensions. References: MessageFormat specs: http://icu-project.org/apiref/icu4j/com/ibm/icu/text/MessageFormat.html http://icu-project.org/apiref/icu4c/classicu_1_1DecimalFormat.html#details Examples: http://userguide.icu-project.org/formatparse/messages message_formatter_unittest.cc go/plurals inside Google. BUG=481734 TEST=base_unittests --gtest_filter="MessageFormat*" Review URL: https://codereview.chromium.org/1140153005 Cr-Commit-Position: refs/heads/master@{#342327}
Diffstat (limited to 'base/BUILD.gn')
-rw-r--r--base/BUILD.gn7
1 files changed, 6 insertions, 1 deletions
diff --git a/base/BUILD.gn b/base/BUILD.gn
index b8ae3a9..6f364a9 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -987,6 +987,8 @@ component("i18n") {
"i18n/icu_string_conversions.h",
"i18n/icu_util.cc",
"i18n/icu_util.h",
+ "i18n/message_formatter.cc",
+ "i18n/message_formatter.h",
"i18n/number_formatting.cc",
"i18n/number_formatting.h",
"i18n/rtl.cc",
@@ -1006,10 +1008,12 @@ component("i18n") {
]
defines = [ "BASE_I18N_IMPLEMENTATION" ]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
+ public_deps = [
+ "//third_party/icu",
+ ]
deps = [
":base",
"//base/third_party/dynamic_annotations",
- "//third_party/icu",
]
if (!is_debug) {
@@ -1261,6 +1265,7 @@ test("base_unittests") {
"i18n/char_iterator_unittest.cc",
"i18n/file_util_icu_unittest.cc",
"i18n/icu_string_conversions_unittest.cc",
+ "i18n/message_formatter_unittest.cc",
"i18n/number_formatting_unittest.cc",
"i18n/rtl_unittest.cc",
"i18n/streaming_utf8_validator_unittest.cc",