Home | History | Annotate | Download | only in chromeos
      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