Index: ui/base/l10n/l10n_util.cc |
diff --git a/ui/base/l10n/l10n_util.cc b/ui/base/l10n/l10n_util.cc |
index 35b81aa56800aead1b0c83abf82ed07f5bab04dd..c054b727bcd98b4167668784f294856b9e317848 100644 |
--- a/ui/base/l10n/l10n_util.cc |
+++ b/ui/base/l10n/l10n_util.cc |
@@ -13,6 +13,7 @@ |
#include "base/compiler_specific.h" |
#include "base/files/file_util.h" |
#include "base/i18n/file_util_icu.h" |
+#include "base/i18n/message_formatter.h" |
#include "base/i18n/rtl.h" |
#include "base/i18n/string_compare.h" |
#include "base/lazy_instance.h" |
@@ -27,7 +28,6 @@ |
#include "third_party/icu/source/common/unicode/rbbi.h" |
#include "third_party/icu/source/common/unicode/uloc.h" |
#include "ui/base/l10n/l10n_util_collator.h" |
-#include "ui/base/l10n/l10n_util_plurals.h" |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/base/ui_base_paths.h" |
@@ -825,25 +825,20 @@ base::string16 GetStringFUTF16Int(int message_id, int64 a) { |
} |
base::string16 GetPluralStringFUTF16(int message_id, int number) { |
- base::string16 pattern = GetStringUTF16(message_id); |
- UErrorCode err = U_ZERO_ERROR; |
- icu::MessageFormat format( |
- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), err); |
- icu::UnicodeString result_unistring; |
- FormatNumberInPlural(format, number, &result_unistring, &err); |
- int capacity = result_unistring.length() + 1; |
- DCHECK_GT(capacity, 1); |
- base::string16 result; |
- result_unistring.extract( |
- static_cast<UChar*>(base::WriteInto(&result, capacity)), capacity, err); |
- DCHECK(U_SUCCESS(err)); |
- return result; |
+ return base::i18n::MessageFormatter::FormatWithNumberedArgs( |
+ GetStringUTF16(message_id), number); |
} |
std::string GetPluralStringFUTF8(int message_id, int number) { |
return base::UTF16ToUTF8(GetPluralStringFUTF16(message_id, number)); |
} |
+base::string16 GetSingleOrMultipleStringUTF16(int message_id, |
+ bool is_multiple) { |
+ return base::i18n::MessageFormatter::FormatWithNumberedArgs( |
+ GetStringUTF16(message_id), is_multiple ? "multiple" : "single"); |
+} |
+ |
void SortStrings16(const std::string& locale, |
std::vector<base::string16>* strings) { |
SortVectorWithStringKey(locale, strings, false); |