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

actually check against maBcp47 instead of aVec[0]

Change-Id: I5ba1649cfdc639a71a0c2343793a9f16bde91fa1
üst 41b37fb1
...@@ -1267,8 +1267,9 @@ LanguageTag & LanguageTag::makeFallback() ...@@ -1267,8 +1267,9 @@ LanguageTag & LanguageTag::makeFallback()
return aVec; return aVec;
} }
getBcp47(); // have maBcp47 now
if (bIncludeFullBcp47) if (bIncludeFullBcp47)
aVec.push_back( getBcp47()); aVec.push_back( maBcp47);
OUString aVariants( getVariants()); OUString aVariants( getVariants());
OUString aTmp; OUString aTmp;
if (hasScript()) if (hasScript())
...@@ -1280,27 +1281,27 @@ LanguageTag & LanguageTag::makeFallback() ...@@ -1280,27 +1281,27 @@ LanguageTag & LanguageTag::makeFallback()
if (!aVariants.isEmpty()) if (!aVariants.isEmpty())
{ {
aTmp = aLanguage + "-" + aScript + "-" + aCountry + "-" + aVariants; aTmp = aLanguage + "-" + aScript + "-" + aCountry + "-" + aVariants;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
// Language with variant but without country before language // Language with variant but without country before language
// without variant but with country. // without variant but with country.
aTmp = aLanguage + "-" + aScript + "-" + aVariants; aTmp = aLanguage + "-" + aScript + "-" + aVariants;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
bHaveLanguageScriptVariant = true; bHaveLanguageScriptVariant = true;
} }
aTmp = aLanguage + "-" + aScript + "-" + aCountry; aTmp = aLanguage + "-" + aScript + "-" + aCountry;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
if (!aVariants.isEmpty() && !bHaveLanguageScriptVariant) if (!aVariants.isEmpty() && !bHaveLanguageScriptVariant)
{ {
aTmp = aLanguage + "-" + aScript + "-" + aVariants; aTmp = aLanguage + "-" + aScript + "-" + aVariants;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
aTmp = aLanguage + "-" + aScript; aTmp = aLanguage + "-" + aScript;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
bool bHaveLanguageVariant = false; bool bHaveLanguageVariant = false;
...@@ -1309,27 +1310,27 @@ LanguageTag & LanguageTag::makeFallback() ...@@ -1309,27 +1310,27 @@ LanguageTag & LanguageTag::makeFallback()
if (!aVariants.isEmpty()) if (!aVariants.isEmpty())
{ {
aTmp = aLanguage + "-" + aCountry + "-" + aVariants; aTmp = aLanguage + "-" + aCountry + "-" + aVariants;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
// Language with variant but without country before language // Language with variant but without country before language
// without variant but with country. // without variant but with country.
aTmp = aLanguage + "-" + aVariants; aTmp = aLanguage + "-" + aVariants;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
bHaveLanguageVariant = true; bHaveLanguageVariant = true;
} }
aTmp = aLanguage + "-" + aCountry; aTmp = aLanguage + "-" + aCountry;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
if (!aVariants.isEmpty() && !bHaveLanguageVariant) if (!aVariants.isEmpty() && !bHaveLanguageVariant)
{ {
aTmp = aLanguage + "-" + aVariants; aTmp = aLanguage + "-" + aVariants;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
aTmp = aLanguage; aTmp = aLanguage;
if (aVec.empty() || aTmp != aVec[0]) if (aTmp != maBcp47)
aVec.push_back( aTmp); aVec.push_back( aTmp);
return aVec; return aVec;
} }
......
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