From cabde84509d0644258b3d5ccb8c7022e28f505bf Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Fri, 12 Apr 2013 19:41:14 +0200 Subject: use proper language tag fallback for language guesser result Change-Id: Icd912361ebca0e618bc76fa7017039cc116bef40 --- editeng/source/editeng/editview.cxx | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'editeng') diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx index 8e10abb4dd60..b4d66527b528 100644 --- a/editeng/source/editeng/editview.cxx +++ b/editeng/source/editeng/editview.cxx @@ -87,24 +87,22 @@ static LanguageType lcl_CheckLanguage( if (!xLangGuess.is()) return nLang; - lang::Locale aLocale( xLangGuess->guessPrimaryLanguage( rText, 0, rText.getLength()) ); + LanguageTag aGuessTag( xLangGuess->guessPrimaryLanguage( rText, 0, rText.getLength()) ); - // get language as from "Tools/Options - Language Settings - Languages: Locale setting" - LanguageType nTmpLang = Application::GetSettings().GetLanguageTag().getLanguageType(); - - // if the result from language guessing does not provide a 'Country' part - // try to get it by looking up the locale setting of the office. - /* FIXME-BCP47: handle language tags */ - if ( aLocale.Country.isEmpty( ) ) + // If the result from language guessing does not provide a 'Country' + // part, try to get it by looking up the locale setting of the office, + // "Tools/Options - Language Settings - Languages: Locale setting", if + // the language matches. + if ( aGuessTag.getCountry().isEmpty() ) { - lang::Locale aTmpLocale = LanguageTag( nTmpLang ).getLocale(); - if (aTmpLocale.Language == aLocale.Language) - nLang = nTmpLang; + const LanguageTag& rAppLocaleTag = Application::GetSettings().GetLanguageTag(); + if (rAppLocaleTag.getLanguage() == aGuessTag.getLanguage()) + nLang = rAppLocaleTag.getLanguageType(); } if (nLang == LANGUAGE_NONE) // language not found by looking up the sytem language... - nLang = LanguageTag( aLocale ).makeFallback().getLanguageType(); + nLang = aGuessTag.makeFallback().getLanguageType(); // best known locale match if (nLang == LANGUAGE_SYSTEM) - nLang = nTmpLang; + nLang = Application::GetSettings().GetLanguageTag().getLanguageType(); if (nLang == LANGUAGE_DONTKNOW) nLang = LANGUAGE_NONE; } -- cgit alue='distro/collabora/lov-5.0'>distro/collabora/lov-5.0 LibreOffice 界面翻译代码仓库文档基金会
aboutsummaryrefslogtreecommitdiff
path: root/source/nso
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-04-19 10:56:02 +0200
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-04-19 12:30:12 +0200
commit9741c39649c0c54cd79b9949d28eca364c087b61 (patch)
tree572ec30c8481c0e04ae07ecd5497ba9af9c40962 /source/nso
parent8514f4f02022d70c8221eb2f2b47a7f18de1475e (diff)