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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 void AdjustParagraphDirectionality(base::string16* paragraph) { | 256 void AdjustParagraphDirectionality(base::string16* paragraph) { |
257 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) | 257 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) |
258 if (base::i18n::IsRTL() && | 258 if (base::i18n::IsRTL() && |
259 base::i18n::StringContainsStrongRTLChars(*paragraph)) { | 259 base::i18n::StringContainsStrongRTLChars(*paragraph)) { |
260 paragraph->insert(0, 1, | 260 paragraph->insert(0, 1, |
261 static_cast<base::char16>(base::i18n::kRightToLeftMark)); | 261 static_cast<base::char16>(base::i18n::kRightToLeftMark)); |
262 } | 262 } |
263 #endif | 263 #endif |
264 } | 264 } |
265 | 265 |
| 266 base::string16 GetStringUTF16Raw(int message_id) { |
| 267 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 268 return rb.GetLocalizedString(message_id); |
| 269 } |
| 270 |
266 #if defined(OS_WIN) | 271 #if defined(OS_WIN) |
267 std::string GetCanonicalLocale(const std::string& locale) { | 272 std::string GetCanonicalLocale(const std::string& locale) { |
268 return base::i18n::GetCanonicalLocale(locale.c_str()); | 273 return base::i18n::GetCanonicalLocale(locale.c_str()); |
269 } | 274 } |
270 #endif | 275 #endif |
271 | 276 |
272 struct AvailableLocalesTraits | 277 struct AvailableLocalesTraits |
273 : base::DefaultLazyInstanceTraits<std::vector<std::string> > { | 278 : base::DefaultLazyInstanceTraits<std::vector<std::string> > { |
274 static std::vector<std::string>* New(void* instance) { | 279 static std::vector<std::string>* New(void* instance) { |
275 std::vector<std::string>* locales = | 280 std::vector<std::string>* locales = |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 } | 658 } |
654 if (token_index == 0 && (token_len < 1 || token_len > 3)) { | 659 if (token_index == 0 && (token_len < 1 || token_len > 3)) { |
655 return false; | 660 return false; |
656 } else if (token_len < 1 || token_len > 8) { | 661 } else if (token_len < 1 || token_len > 8) { |
657 return false; | 662 return false; |
658 } | 663 } |
659 | 664 |
660 return true; | 665 return true; |
661 } | 666 } |
662 | 667 |
| 668 std::string GetStringUTF8Raw(int message_id) { |
| 669 return base::UTF16ToUTF8(GetStringUTF16Raw(message_id)); |
| 670 } |
| 671 |
663 std::string GetStringUTF8(int message_id) { | 672 std::string GetStringUTF8(int message_id) { |
664 return base::UTF16ToUTF8(GetStringUTF16(message_id)); | 673 return base::UTF16ToUTF8(GetStringUTF16(message_id)); |
665 } | 674 } |
666 | 675 |
667 base::string16 GetStringUTF16(int message_id) { | 676 base::string16 GetStringUTF16(int message_id) { |
668 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 677 base::string16 str = GetStringUTF16Raw(message_id); |
669 base::string16 str = rb.GetLocalizedString(message_id); | |
670 AdjustParagraphDirectionality(&str); | 678 AdjustParagraphDirectionality(&str); |
671 | 679 |
672 return str; | 680 return str; |
673 } | 681 } |
674 | 682 |
675 base::string16 GetStringFUTF16(int message_id, | 683 base::string16 GetStringFUTF16(int message_id, |
676 const std::vector<base::string16>& replacements, | 684 const std::vector<base::string16>& replacements, |
677 std::vector<size_t>* offsets) { | 685 std::vector<size_t>* offsets) { |
678 // TODO(tc): We could save a string copy if we got the raw string as | 686 // TODO(tc): We could save a string copy if we got the raw string as |
679 // a StringPiece and were able to call ReplaceStringPlaceholders with | 687 // a StringPiece and were able to call ReplaceStringPlaceholders with |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
881 } | 889 } |
882 | 890 |
883 int GetLocalizedContentsWidthInPixels(int pixel_resource_id) { | 891 int GetLocalizedContentsWidthInPixels(int pixel_resource_id) { |
884 int width = 0; | 892 int width = 0; |
885 base::StringToInt(l10n_util::GetStringUTF8(pixel_resource_id), &width); | 893 base::StringToInt(l10n_util::GetStringUTF8(pixel_resource_id), &width); |
886 DCHECK_GT(width, 0); | 894 DCHECK_GT(width, 0); |
887 return width; | 895 return width; |
888 } | 896 } |
889 | 897 |
890 } // namespace l10n_util | 898 } // namespace l10n_util |
OLD | NEW |