| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/base/l10n/l10n_util.h" | 5 #include "ui/base/l10n/l10n_util.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cstdlib> | 8 #include <cstdlib> |
| 9 #include <iterator> | 9 #include <iterator> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 816 } | 816 } |
| 817 | 817 |
| 818 base::string16 GetStringFUTF16Int(int message_id, int a) { | 818 base::string16 GetStringFUTF16Int(int message_id, int a) { |
| 819 return GetStringFUTF16(message_id, base::UTF8ToUTF16(base::IntToString(a))); | 819 return GetStringFUTF16(message_id, base::UTF8ToUTF16(base::IntToString(a))); |
| 820 } | 820 } |
| 821 | 821 |
| 822 base::string16 GetStringFUTF16Int(int message_id, int64 a) { | 822 base::string16 GetStringFUTF16Int(int message_id, int64 a) { |
| 823 return GetStringFUTF16(message_id, base::UTF8ToUTF16(base::Int64ToString(a))); | 823 return GetStringFUTF16(message_id, base::UTF8ToUTF16(base::Int64ToString(a))); |
| 824 } | 824 } |
| 825 | 825 |
| 826 base::string16 GetPluralStringFUTF16(const std::vector<int>& message_ids, | 826 base::string16 GetPluralStringFUTF16(int message_id, int number) { |
| 827 int number) { | 827 base::string16 pattern = GetStringUTF16(message_id); |
| 828 scoped_ptr<icu::PluralFormat> format = BuildPluralFormat(message_ids); | |
| 829 DCHECK(format); | |
| 830 | |
| 831 UErrorCode err = U_ZERO_ERROR; | 828 UErrorCode err = U_ZERO_ERROR; |
| 832 icu::UnicodeString result_files_string = format->format(number, err); | 829 icu::MessageFormat format( |
| 833 int capacity = result_files_string.length() + 1; | 830 icu::UnicodeString(FALSE, pattern.data(), pattern.length()), err); |
| 831 icu::UnicodeString result_unistring; |
| 832 FormatNumberInPlural(format, number, &result_unistring, &err); |
| 833 int capacity = result_unistring.length() + 1; |
| 834 DCHECK_GT(capacity, 1); | 834 DCHECK_GT(capacity, 1); |
| 835 base::string16 result; | 835 base::string16 result; |
| 836 result_files_string.extract( | 836 result_unistring.extract( |
| 837 static_cast<UChar*>(WriteInto(&result, capacity)), capacity, err); | 837 static_cast<UChar*>(WriteInto(&result, capacity)), capacity, err); |
| 838 DCHECK(U_SUCCESS(err)); | 838 DCHECK(U_SUCCESS(err)); |
| 839 return result; | 839 return result; |
| 840 } | 840 } |
| 841 | 841 |
| 842 std::string GetPluralStringFUTF8(const std::vector<int>& message_ids, | 842 std::string GetPluralStringFUTF8(int message_id, int number) { |
| 843 int number) { | 843 return base::UTF16ToUTF8(GetPluralStringFUTF16(message_id, number)); |
| 844 return base::UTF16ToUTF8(GetPluralStringFUTF16(message_ids, number)); | |
| 845 } | 844 } |
| 846 | 845 |
| 847 void SortStrings16(const std::string& locale, | 846 void SortStrings16(const std::string& locale, |
| 848 std::vector<base::string16>* strings) { | 847 std::vector<base::string16>* strings) { |
| 849 SortVectorWithStringKey(locale, strings, false); | 848 SortVectorWithStringKey(locale, strings, false); |
| 850 } | 849 } |
| 851 | 850 |
| 852 const std::vector<std::string>& GetAvailableLocales() { | 851 const std::vector<std::string>& GetAvailableLocales() { |
| 853 return g_available_locales.Get(); | 852 return g_available_locales.Get(); |
| 854 } | 853 } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 874 | 873 |
| 875 const char* const* GetAcceptLanguageListForTesting() { | 874 const char* const* GetAcceptLanguageListForTesting() { |
| 876 return kAcceptLanguageList; | 875 return kAcceptLanguageList; |
| 877 } | 876 } |
| 878 | 877 |
| 879 size_t GetAcceptLanguageListSizeForTesting() { | 878 size_t GetAcceptLanguageListSizeForTesting() { |
| 880 return arraysize(kAcceptLanguageList); | 879 return arraysize(kAcceptLanguageList); |
| 881 } | 880 } |
| 882 | 881 |
| 883 } // namespace l10n_util | 882 } // namespace l10n_util |
| OLD | NEW |