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

defined some x-... privateuse language tags

Change-Id: I1a4e00c677f7e5012831c0b36290c8585e45e474
üst 222414f9
...@@ -566,6 +566,10 @@ typedef unsigned short LanguageType; ...@@ -566,6 +566,10 @@ typedef unsigned short LanguageType;
#define LANGUAGE_USER_YOMBE 0x0684 #define LANGUAGE_USER_YOMBE 0x0684
#define LANGUAGE_USER_YOMBE_CONGO 0x8284 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_YOMBE)) */ #define LANGUAGE_USER_YOMBE_CONGO 0x8284 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_YOMBE)) */
#define LANGUAGE_USER_SIDAMA 0x0685 #define LANGUAGE_USER_SIDAMA 0x0685
#define LANGUAGE_USER_PRIV_COMMENT 0xFFEC /* privateuse "x-comment", primary 0x3ec, sub 0x3f */
#define LANGUAGE_USER_PRIV_DEFAULT 0xFFED /* privateuse "x-default", primary 0x3ed, sub 0x3f */
#define LANGUAGE_USER_PRIV_NOTRANSLATE 0xFFEE /* privateuse "x-no-translate" (sic!), primary 0x3ee, sub 0x3f */
#define LANGUAGE_MULTIPLE 0xFFEF /* multiple languages, primary 0x3ef, sub 0x3f */ #define LANGUAGE_MULTIPLE 0xFFEF /* multiple languages, primary 0x3ef, sub 0x3f */
#define LANGUAGE_UNDETERMINED 0xFFF0 /* undetermined language, primary 0x3f0, sub 0x3f */ #define LANGUAGE_UNDETERMINED 0xFFF0 /* undetermined language, primary 0x3f0, sub 0x3f */
#define LANGUAGE_USER_SYSTEM_CONFIG 0xFFFE /* not a locale, to be used only in configuration context to obtain system default, primary 0x3fe, sub 0x3f */ #define LANGUAGE_USER_SYSTEM_CONFIG 0xFFFE /* not a locale, to be used only in configuration context to obtain system default, primary 0x3fe, sub 0x3f */
......
...@@ -628,6 +628,16 @@ static IsoLangOtherEntry const aImplOtherEntries[] = ...@@ -628,6 +628,16 @@ static IsoLangOtherEntry const aImplOtherEntries[] =
{ LANGUAGE_DONTKNOW, NULL } // marks end of table { LANGUAGE_DONTKNOW, NULL } // marks end of table
}; };
// in this table are only privateuse names
static IsoLangOtherEntry const aImplPrivateUseEntries[] =
{
{ LANGUAGE_USER_PRIV_NOTRANSLATE, "x-no-translate" }, //! not BCP47 but legacy in .xcu configmgr
{ LANGUAGE_USER_PRIV_DEFAULT, "x-default" },
{ LANGUAGE_USER_PRIV_COMMENT, "x-comment" },
{ LANGUAGE_DONTKNOW, NULL } // marks end of table
};
// ======================================================================= // =======================================================================
// static // static
...@@ -667,6 +677,20 @@ void MsLangId::Conversion::convertLanguageToIsoNames( LanguageType nLang, ...@@ -667,6 +677,20 @@ void MsLangId::Conversion::convertLanguageToIsoNames( LanguageType nLang,
} }
while ( pNoneStdEntry->mnLang != LANGUAGE_DONTKNOW ); while ( pNoneStdEntry->mnLang != LANGUAGE_DONTKNOW );
// Look for privateuse definitions.
const IsoLangOtherEntry* pPrivateEntry = aImplPrivateUseEntries;
do
{
if ( pPrivateEntry->mnLang == nLang )
{
rLangStr = rtl::OUString::createFromAscii( pPrivateEntry->mpLangStr );
rCountry = OUString();
return;
}
++pPrivateEntry;
}
while ( pPrivateEntry->mnLang != LANGUAGE_DONTKNOW );
// not found // not found
rLangStr = rtl::OUString(); rLangStr = rtl::OUString();
rCountry = rtl::OUString(); rCountry = rtl::OUString();
...@@ -910,6 +934,16 @@ LanguageType MsLangId::Conversion::convertIsoNamesToLanguage( const rtl::OUStrin ...@@ -910,6 +934,16 @@ LanguageType MsLangId::Conversion::convertIsoNamesToLanguage( const rtl::OUStrin
aLowerLang = aUpperCountry.toAsciiLowerCase(); aLowerLang = aUpperCountry.toAsciiLowerCase();
} }
// Look for privateuse definitions.
const IsoLangOtherEntry* pPrivateEntry = aImplPrivateUseEntries;
do
{
if ( aLowerLang.equalsAscii( pPrivateEntry->mpLangStr ) )
return pPrivateEntry->mnLang;
++pPrivateEntry;
}
while ( pPrivateEntry->mnLang != LANGUAGE_DONTKNOW );
// Now look for all other definitions, which are not standard // Now look for all other definitions, which are not standard
const IsoLangOtherEntry* pOtherEntry = aImplOtherEntries; const IsoLangOtherEntry* pOtherEntry = aImplOtherEntries;
do do
......
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