| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/chromeos/status/language_menu_l10n_util.h" | 5 #include "chrome/browser/chromeos/status/language_menu_l10n_util.h" |
| 6 | 6 |
| 7 #include "base/hash_tables.h" | 7 #include "base/hash_tables.h" |
| 8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 9 #include "chrome/browser/chrome_thread.h" | 9 #include "chrome/browser/chrome_thread.h" |
| 10 #include "grit/generated_resources.h" | 10 #include "grit/generated_resources.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_FULL_HALF_PUNCTUATION }, | 35 IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_FULL_HALF_PUNCTUATION }, |
| 36 { "Simplfied/Traditional Chinese", | 36 { "Simplfied/Traditional Chinese", |
| 37 IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_S_T_CHINESE }, | 37 IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_S_T_CHINESE }, |
| 38 | 38 |
| 39 // TODO(yusukes): Support ibus-chewing and ibus-table-* if needed. | 39 // TODO(yusukes): Support ibus-chewing and ibus-table-* if needed. |
| 40 | 40 |
| 41 // For the "Languages and Input" dialog. | 41 // For the "Languages and Input" dialog. |
| 42 { "kbd (m17n)", IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_STANDARD_INPUT_METHOD }, | 42 { "kbd (m17n)", IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_STANDARD_INPUT_METHOD }, |
| 43 { "itrans (m17n)", // also uses the "STANDARD_INPUT_METHOD" id. | 43 { "itrans (m17n)", // also uses the "STANDARD_INPUT_METHOD" id. |
| 44 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_STANDARD_INPUT_METHOD }, | 44 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_STANDARD_INPUT_METHOD }, |
| 45 { "quick (m17n)", |
| 46 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_CHINESE_QUICK_INPUT_METHOD }, |
| 45 { "isiri (m17n)", | 47 { "isiri (m17n)", |
| 46 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_PERSIAN_ISIRI_2901_INPUT_METHOD }, | 48 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_PERSIAN_ISIRI_2901_INPUT_METHOD }, |
| 47 { "kesmanee (m17n)", | 49 { "kesmanee (m17n)", |
| 48 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_KESMANEE_INPUT_METHOD }, | 50 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_KESMANEE_INPUT_METHOD }, |
| 49 { "tis820 (m17n)", | 51 { "tis820 (m17n)", |
| 50 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_TIS820_INPUT_METHOD }, | 52 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_TIS820_INPUT_METHOD }, |
| 51 { "pattachote (m17n)", | 53 { "pattachote (m17n)", |
| 52 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_PATTACHOTE_INPUT_METHOD }, | 54 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_PATTACHOTE_INPUT_METHOD }, |
| 53 { "tcvn (m17n)", | 55 { "tcvn (m17n)", |
| 54 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_VIETNAMESE_TCVN_INPUT_METHOD }, | 56 IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_VIETNAMESE_TCVN_INPUT_METHOD }, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 67 { "Pinyin", IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_INPUT_METHOD }, | 69 { "Pinyin", IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_INPUT_METHOD }, |
| 68 { "Mozc (US keyboard layout)", | 70 { "Mozc (US keyboard layout)", |
| 69 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_US_INPUT_METHOD }, | 71 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_US_INPUT_METHOD }, |
| 70 { "Mozc (Japanese keyboard layout)", | 72 { "Mozc (Japanese keyboard layout)", |
| 71 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_JP_INPUT_METHOD }, | 73 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_JP_INPUT_METHOD }, |
| 72 { "Google Japanese Input (US keyboard layout)", | 74 { "Google Japanese Input (US keyboard layout)", |
| 73 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_US_INPUT_METHOD }, | 75 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_US_INPUT_METHOD }, |
| 74 { "Google Japanese Input (Japanese keyboard layout)", | 76 { "Google Japanese Input (Japanese keyboard layout)", |
| 75 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_JP_INPUT_METHOD }, | 77 IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_JP_INPUT_METHOD }, |
| 76 { "Korean", IDS_OPTIONS_SETTINGS_LANGUAGES_KOREAN_INPUT_METHOD }, | 78 { "Korean", IDS_OPTIONS_SETTINGS_LANGUAGES_KOREAN_INPUT_METHOD }, |
| 77 // TODO(yusukes): Support input methods in the ibus-xkb-layouts engine. | 79 |
| 80 // For ibus-xkb-layouts engine: third_party/ibus-xkb-layouts/files |
| 81 { "Japan", IDS_STATUSBAR_LAYOUT_JAPAN }, |
| 82 { "Slovenia", IDS_STATUSBAR_LAYOUT_SLOVENIA }, |
| 83 { "Germany", IDS_STATUSBAR_LAYOUT_GERMANY }, |
| 84 { "Italy", IDS_STATUSBAR_LAYOUT_ITALY }, |
| 85 { "Estonia", IDS_STATUSBAR_LAYOUT_ESTONIA }, |
| 86 { "Hungary", IDS_STATUSBAR_LAYOUT_HUNGARY }, |
| 87 { "Poland", IDS_STATUSBAR_LAYOUT_POLAND }, |
| 88 { "Denmark", IDS_STATUSBAR_LAYOUT_DENMARK }, |
| 89 { "Croatia", IDS_STATUSBAR_LAYOUT_CROATIA }, |
| 90 { "Brazil", IDS_STATUSBAR_LAYOUT_BRAZIL }, |
| 91 { "Serbia", IDS_STATUSBAR_LAYOUT_SERBIA }, |
| 92 { "Czechia", IDS_STATUSBAR_LAYOUT_CZECHIA }, |
| 93 { "USA - Dvorak", IDS_STATUSBAR_LAYOUT_USA_DVORAK }, |
| 94 { "Romania", IDS_STATUSBAR_LAYOUT_ROMANIA }, |
| 95 { "USA", IDS_STATUSBAR_LAYOUT_USA }, |
| 96 { "Lithuania", IDS_STATUSBAR_LAYOUT_LITHUANIA }, |
| 97 { "United Kingdom", IDS_STATUSBAR_LAYOUT_UNITED_KINGDOM }, |
| 98 { "Slovakia", IDS_STATUSBAR_LAYOUT_SLOVAKIA }, |
| 99 { "Russia", IDS_STATUSBAR_LAYOUT_RUSSIA }, |
| 100 { "Greece", IDS_STATUSBAR_LAYOUT_GREECE }, |
| 101 { "Belgium", IDS_STATUSBAR_LAYOUT_BELGIUM }, |
| 102 { "Bulgaria", IDS_STATUSBAR_LAYOUT_BULGARIA }, |
| 103 { "Switzerland", IDS_STATUSBAR_LAYOUT_SWITZERLAND }, |
| 104 { "Turkey", IDS_STATUSBAR_LAYOUT_TURKEY }, |
| 105 { "Portugal", IDS_STATUSBAR_LAYOUT_PORTUGAL }, |
| 106 { "Spain", IDS_STATUSBAR_LAYOUT_SPAIN }, |
| 107 { "Finland", IDS_STATUSBAR_LAYOUT_FINLAND }, |
| 108 { "Ukraine", IDS_STATUSBAR_LAYOUT_UKRAINE }, |
| 109 { "Spain - Catalan variant with middle-dot L", |
| 110 IDS_STATUSBAR_LAYOUT_SPAIN_CATALAN }, |
| 111 { "France", IDS_STATUSBAR_LAYOUT_FRANCE }, |
| 112 { "Norway", IDS_STATUSBAR_LAYOUT_NORWAY }, |
| 113 { "Sweden", IDS_STATUSBAR_LAYOUT_SWEDEN }, |
| 114 { "Netherlands", IDS_STATUSBAR_LAYOUT_NETHERLANDS }, |
| 115 { "Latvia", IDS_STATUSBAR_LAYOUT_LATVIA }, |
| 78 }; | 116 }; |
| 79 const size_t kNumEntries = arraysize(kEnglishToResourceIdArray); | 117 const size_t kNumEntries = arraysize(kEnglishToResourceIdArray); |
| 80 | 118 |
| 81 bool GetLocalizedString( | 119 bool GetLocalizedString( |
| 82 const std::string& english_string, string16 *out_string) { | 120 const std::string& english_string, string16 *out_string) { |
| 83 DCHECK(out_string); | 121 DCHECK(out_string); |
| 84 typedef base::hash_map<std::string, int> HashType; | 122 typedef base::hash_map<std::string, int> HashType; |
| 85 static HashType* english_to_resource_id = NULL; | 123 static HashType* english_to_resource_id = NULL; |
| 86 | 124 |
| 87 // Initialize the map if needed. | 125 // Initialize the map if needed. |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 | 185 |
| 148 bool LanguageMenuL10nUtil::StringIsSupported( | 186 bool LanguageMenuL10nUtil::StringIsSupported( |
| 149 const std::string& english_string) { | 187 const std::string& english_string) { |
| 150 // Do not check the current thread since the function is supposed to be called | 188 // Do not check the current thread since the function is supposed to be called |
| 151 // from unit tests. | 189 // from unit tests. |
| 152 string16 localized_string; | 190 string16 localized_string; |
| 153 return GetLocalizedString(english_string, &localized_string); | 191 return GetLocalizedString(english_string, &localized_string); |
| 154 } | 192 } |
| 155 | 193 |
| 156 } // namespace chromeos | 194 } // namespace chromeos |
| OLD | NEW |