| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #if defined(USE_X11) | 7 #if defined(USE_X11) |
| 8 #include <glib/gutils.h> | 8 #include <glib/gutils.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 // 4. Patch ICU to special-case zh-Hans/zh-Hant for us. | 471 // 4. Patch ICU to special-case zh-Hans/zh-Hant for us. |
| 472 // #1 and #2 wouldn't work if display_locale != current UI locale although | 472 // #1 and #2 wouldn't work if display_locale != current UI locale although |
| 473 // we can think of additional hack to work around the problem. | 473 // we can think of additional hack to work around the problem. |
| 474 // #3 can be potentially expensive. | 474 // #3 can be potentially expensive. |
| 475 if (locale_code == "zh-CN") | 475 if (locale_code == "zh-CN") |
| 476 locale_code = "zh-Hans"; | 476 locale_code = "zh-Hans"; |
| 477 else if (locale_code == "zh-TW") | 477 else if (locale_code == "zh-TW") |
| 478 locale_code = "zh-Hant"; | 478 locale_code = "zh-Hant"; |
| 479 | 479 |
| 480 UErrorCode error = U_ZERO_ERROR; | 480 UErrorCode error = U_ZERO_ERROR; |
| 481 const int buffer_size = 1024; | 481 const int kBufferSize = 1024; |
| 482 | 482 |
| 483 string16 display_name; | 483 string16 display_name; |
| 484 int actual_size = uloc_getDisplayName(locale_code.c_str(), | 484 int actual_size = uloc_getDisplayName(locale_code.c_str(), |
| 485 display_locale.c_str(), | 485 display_locale.c_str(), |
| 486 WriteInto(&display_name, buffer_size + 1), buffer_size, &error); | 486 WriteInto(&display_name, kBufferSize), kBufferSize - 1, &error); |
| 487 DCHECK(U_SUCCESS(error)); | 487 DCHECK(U_SUCCESS(error)); |
| 488 display_name.resize(actual_size); | 488 display_name.resize(actual_size); |
| 489 // Add an RTL mark so parentheses are properly placed. | 489 // Add an RTL mark so parentheses are properly placed. |
| 490 if (is_for_ui && base::i18n::IsRTL()) | 490 if (is_for_ui && base::i18n::IsRTL()) |
| 491 display_name.push_back(static_cast<char16>(base::i18n::kRightToLeftMark)); | 491 display_name.push_back(static_cast<char16>(base::i18n::kRightToLeftMark)); |
| 492 return display_name; | 492 return display_name; |
| 493 } | 493 } |
| 494 | 494 |
| 495 std::string NormalizeLocale(const std::string& locale) { | 495 std::string NormalizeLocale(const std::string& locale) { |
| 496 std::string normalized_locale(locale); | 496 std::string normalized_locale(locale); |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 818 for (size_t i = 0; i < arraysize(kAcceptLanguageList); ++i) { | 818 for (size_t i = 0; i < arraysize(kAcceptLanguageList); ++i) { |
| 819 if (!IsLocaleNameTranslated(kAcceptLanguageList[i], display_locale)) | 819 if (!IsLocaleNameTranslated(kAcceptLanguageList[i], display_locale)) |
| 820 // TODO(jungshik) : Put them at the of the list with language codes | 820 // TODO(jungshik) : Put them at the of the list with language codes |
| 821 // enclosed by brackets instead of skipping. | 821 // enclosed by brackets instead of skipping. |
| 822 continue; | 822 continue; |
| 823 locale_codes->push_back(kAcceptLanguageList[i]); | 823 locale_codes->push_back(kAcceptLanguageList[i]); |
| 824 } | 824 } |
| 825 } | 825 } |
| 826 | 826 |
| 827 } // namespace l10n_util | 827 } // namespace l10n_util |
| OLD | NEW |