Kaydet (Commit) cabde845 authored tarafından Eike Rathke's avatar Eike Rathke

use proper language tag fallback for language guesser result

Change-Id: Icd912361ebca0e618bc76fa7017039cc116bef40
üst cbcdf190
...@@ -87,24 +87,22 @@ static LanguageType lcl_CheckLanguage( ...@@ -87,24 +87,22 @@ static LanguageType lcl_CheckLanguage(
if (!xLangGuess.is()) if (!xLangGuess.is())
return nLang; 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" // If the result from language guessing does not provide a 'Country'
LanguageType nTmpLang = Application::GetSettings().GetLanguageTag().getLanguageType(); // part, try to get it by looking up the locale setting of the office,
// "Tools/Options - Language Settings - Languages: Locale setting", if
// if the result from language guessing does not provide a 'Country' part // the language matches.
// try to get it by looking up the locale setting of the office. if ( aGuessTag.getCountry().isEmpty() )
/* FIXME-BCP47: handle language tags */
if ( aLocale.Country.isEmpty( ) )
{ {
lang::Locale aTmpLocale = LanguageTag( nTmpLang ).getLocale(); const LanguageTag& rAppLocaleTag = Application::GetSettings().GetLanguageTag();
if (aTmpLocale.Language == aLocale.Language) if (rAppLocaleTag.getLanguage() == aGuessTag.getLanguage())
nLang = nTmpLang; nLang = rAppLocaleTag.getLanguageType();
} }
if (nLang == LANGUAGE_NONE) // language not found by looking up the sytem language... 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) if (nLang == LANGUAGE_SYSTEM)
nLang = nTmpLang; nLang = Application::GetSettings().GetLanguageTag().getLanguageType();
if (nLang == LANGUAGE_DONTKNOW) if (nLang == LANGUAGE_DONTKNOW)
nLang = LANGUAGE_NONE; nLang = LANGUAGE_NONE;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment