summaryrefslogtreecommitdiff
path: root/editeng/source
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2014-06-18 21:08:03 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-07-05 13:46:14 +0000
commita5f36fd02ad88af4bab74a074e676cf239e15d14 (patch)
tree9863c4ba78b4d45b97c1919fffd58e00d8fb00a1 /editeng/source
parent1cacd685bf7c3230d3cdff964503adaedd025418 (diff)
Resolves fdo#79276 Add fallback system for autocorrection of French variants
1) Replace the creation of acor_fr-FR.dat by acor_fr.dat since there's no specific for variants of fr 2) Add a fallback system to use it Cherry-picked from 82f291d2f7630938ce6ca740f904cab07d1ff90d Reviewed-on: https://gerrit.libreoffice.org/9825 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> Change-Id: Ia3e11fff0f266839dc148077b50c1b2f798d1c50 Reviewed-on: https://gerrit.libreoffice.org/10063 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'editeng/source')
-rw-r--r--editeng/source/misc/svxacorr.cxx24
1 files changed, 18 insertions, 6 deletions
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index c9d283466a5f..8b1a3eef33fa 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -1544,7 +1544,7 @@ bool SvxAutoCorrect::CreateLanguageFile( const LanguageTag& rLanguageTag, bool b
{
OSL_ENSURE(pLangTable->find(rLanguageTag) == pLangTable->end(), "Language already exists ");
- OUString sUserDirFile( GetAutoCorrFileName( rLanguageTag, true, false ));
+ OUString sUserDirFile( GetAutoCorrFileName( rLanguageTag, true, false, false ));
OUString sShareDirFile( sUserDirFile );
SvxAutoCorrectLanguageListsPtr pLists = 0;
@@ -1567,10 +1567,15 @@ bool SvxAutoCorrect::CreateLanguageFile( const LanguageTag& rLanguageTag, bool b
aLastFileTable.erase(nFndPos);
}
}
- else if( ( FStatHelper::IsDocument( sUserDirFile ) ||
- FStatHelper::IsDocument( sShareDirFile =
- GetAutoCorrFileName( rLanguageTag, false, false ) ) ) ||
- ( sShareDirFile = sUserDirFile, bNewFile ))
+ else if(
+ ( FStatHelper::IsDocument( sUserDirFile ) ||
+ FStatHelper::IsDocument( sShareDirFile =
+ GetAutoCorrFileName( rLanguageTag, false, false, false ) ) ||
+ FStatHelper::IsDocument( sShareDirFile =
+ GetAutoCorrFileName( rLanguageTag, false, false, true) )
+ ) ||
+ ( sShareDirFile = sUserDirFile, bNewFile )
+ )
{
pLists = new SvxAutoCorrectLanguageLists( *this, sShareDirFile, sUserDirFile );
LanguageTag aTmp(rLanguageTag); // this insert() needs a non-const reference
@@ -1886,9 +1891,16 @@ bool SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang,
}
OUString SvxAutoCorrect::GetAutoCorrFileName( const LanguageTag& rLanguageTag,
- bool bNewFile, bool bTst ) const
+ bool bNewFile, bool bTst, bool bUnlocalized ) const
{
OUString sRet, sExt( rLanguageTag.getBcp47() );
+ if (bUnlocalized)
+ {
+ // we don't want variant, so we'll take "fr" instead of "fr-CA" for example
+ ::std::vector< OUString > vecFallBackStrings = rLanguageTag.getFallbackStrings(false);
+ if (!vecFallBackStrings.empty())
+ sExt = vecFallBackStrings[0];
+ }
sExt = "_" + sExt + ".dat";
if( bNewFile )