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 3 // found in the LICENSE file. 4 5 #include "chrome/browser/ui/webui/options/chromeos/language_mozc_handler.h" 6 7 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/utf_string_conversions.h" 9 #include "base/values.h" 10 #include "chrome/browser/chromeos/language_preferences.h" 11 #include "chrome/browser/ui/webui/options/chromeos/language_options_util.h" 12 #include "grit/generated_resources.h" 13 #include "ui/base/l10n/l10n_util.h" 14 15 namespace { 16 const char kI18nPrefix[] = "mozc_"; 17 } // namespace 18 19 namespace chromeos { 20 namespace options { 21 22 LanguageMozcHandler::LanguageMozcHandler() { 23 } 24 25 LanguageMozcHandler::~LanguageMozcHandler() { 26 } 27 28 void LanguageMozcHandler::GetLocalizedValues( 29 DictionaryValue* localized_strings) { 30 DCHECK(localized_strings); 31 32 RegisterTitle(localized_strings, "languageMozcPage", 33 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SETTINGS_TITLE); 34 35 for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) { 36 localized_strings->SetString( 37 GetI18nContentValue(language_prefs::kMozcBooleanPrefs[i], kI18nPrefix), 38 l10n_util::GetStringUTF16( 39 language_prefs::kMozcBooleanPrefs[i].message_id)); 40 } 41 42 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) { 43 const language_prefs::LanguageMultipleChoicePreference<const char*>& 44 preference = language_prefs::kMozcMultipleChoicePrefs[i]; 45 localized_strings->SetString( 46 GetI18nContentValue(preference, kI18nPrefix), 47 l10n_util::GetStringUTF16(preference.label_message_id)); 48 localized_strings->Set(GetTemplateDataPropertyName(preference, kI18nPrefix), 49 CreateMultipleChoiceList(preference)); 50 } 51 52 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { 53 const language_prefs::LanguageIntegerRangePreference& preference = 54 language_prefs::kMozcIntegerPrefs[i]; 55 localized_strings->SetString( 56 GetI18nContentValue(preference, kI18nPrefix), 57 l10n_util::GetStringUTF16(preference.message_id)); 58 ListValue* list_value = new ListValue(); 59 for (int j = preference.min_pref_value; j <= preference.max_pref_value; 60 ++j) { 61 ListValue* option = new ListValue(); 62 option->Append(CreateValue(j)); 63 option->Append(CreateValue(j)); 64 list_value->Append(option); 65 } 66 localized_strings->Set(GetTemplateDataPropertyName(preference, kI18nPrefix), 67 list_value); 68 } 69 } 70 71 } // namespace options 72 } // namespace chromeos 73