Lines Matching defs:language

12  * See the License for the specific language governing permissions and
98 std::string PreferredLanguage::GetMatchedLanguage(const std::string& language)
101 icu::Locale locale = icu::Locale::forLanguageTag(language.c_str(), status);
103 HILOG_ERROR_I18N("GetMatchedLanguage: %{public}s is an invalid locale.", language.c_str());
106 LocaleInfo* requestLocale = new LocaleInfo(language);
108 HILOG_ERROR_I18N("GetMatchedLanguage: %{public}s failed to construct LocaleInfo.", language.c_str());
165 "PreferredLanguage::IsSetAppPreferredLanguage get i18n preferences failed, return system language.");
180 "PreferredLanguage::GetAppPreferredLanguage get i18n preferences failed, return system language.");
190 void PreferredLanguage::SetAppPreferredLanguage(const std::string &language, I18nErrorCode &errCode)
193 if (language.compare("default") != 0) {
194 appContext->SetLanguage(language);
202 int32_t status = preferences->PutString(PreferredLanguage::APP_LANGUAGE_KEY, language);
206 "PreferredLanguage::SetAppPreferredLanguage set app language to i18n preferences failed.");
225 bool PreferredLanguage::IsValidLanguage(const std::string &language)
227 std::string::size_type size = language.size();
232 if ((language[i] > 'z') || (language[i] < 'a')) {
266 I18nErrorCode PreferredLanguage::AddPreferredLanguage(const std::string &language, int32_t index)
268 if (!IsValidTag(language)) {
269 HILOG_ERROR_I18N("PreferredLanguage::AddPreferredLanguage %{public}s is not valid language tag.",
270 language.c_str());
275 if (FindLanguage(language) == -1) {
276 // Case: language not in current preferred language list.
277 AddNonExistPreferredLanguage(language, index, preferredLanguages, status);
279 // Case: language in current preferred language list.
280 AddExistPreferredLanguage(language, index, preferredLanguages, status);
293 HILOG_ERROR_I18N("PreferredLanguage::RemovePreferredLanguage can't remove the only language.");
299 // The first language in preferred language list is system language, therefor when first language changed
300 // in preferred language list, we need to reset system language.
303 HILOG_ERROR_I18N("PreferredLanguage::RemovePreferredLanguage update system language failed.");
310 void PreferredLanguage::AddNonExistPreferredLanguage(const std::string& language, int32_t index,
313 // valid index is [0, GetPreferredLanguageList().size()] for add non-exist language.
316 preferredLanguages.insert(preferredLanguages.begin() + validIndex, language);
317 // The first language in preferred language list is system language, therefor when first language changed
318 // in preferred language list, we need to reset system language.
321 HILOG_ERROR_I18N("PreferredLanguage::AddNonExistPreferredLanguage update system language failed.");
329 void PreferredLanguage::AddExistPreferredLanguage(const std::string& language, int32_t index,
333 // valid index is [0, GetPreferredLanguageList().size() - 1] for add exist language.
335 int32_t languageIdx = FindLanguage(language);
340 // Move language from languageIdx to validIdx.
343 preferredLanguages.insert(preferredLanguages.begin() + validIndex, language);
344 // The first language in preferred language list is system language, therefor when first language changed
345 // in preferred language list, we need to reset system language.
348 HILOG_ERROR_I18N("PreferredLanguage::AddExistPreferredLanguage update system language failed.");
367 // Query the index of language in system preferred language list.
368 int32_t PreferredLanguage::FindLanguage(const std::string &language)
372 if (preferredLanguageList[i] == language) {
379 // Join preferred language tags to string with ';'
397 HILOG_ERROR_I18N("PreferredLanguage::SetPreferredLanguage preferred language list is too long.");
401 HILOG_ERROR_I18N("PreferredLanguage::AddPreferredLanguage udpate preferred language param failed.");