У меня есть следующие языковые идентификаторы (которые до сих пор я использовал для HTML языковых кодов):
aryStrLangId.Add(_T("en")); // English
aryStrLangId.Add(_T("de")); // German
aryStrLangId.Add(_T("es")); // Spanish
aryStrLangId.Add(_T("it")); // Italian
aryStrLangId.Add(_T("pl")); // Polish
aryStrLangId.Add(_T("fr")); // French
aryStrLangId.Add(_T("pt")); // Portuguese Brazil
aryStrLangId.Add(_T("nl")); // Dutch
aryStrLangId.Add(_T("sv")); // Swedish
aryStrLangId.Add(_T("sl")); // Slovenian
aryStrLangId.Add(_T("cs")); // Czech
aryStrLangId.Add(_T("fi")); // Finnish
aryStrLangId.Add(_T("da")); // Danish
aryStrLangId.Add(_T("uk")); // Ukranian
aryStrLangId.Add(_T("ru")); // Russian
aryStrLangId.Add(_T("tl")); // Tagalog
aryStrLangId.Add(_T("ht")); // Hatian Creole
aryStrLangId.Add(_T("af")); // Afrikaans
aryStrLangId.Add(_T("sq")); // Albanian
aryStrLangId.Add(_T("zh-Hans")); // Chinese Simplified
aryStrLangId.Add(_T("hr")); // Croatian
aryStrLangId.Add(_T("tr")); // Turkish
aryStrLangId.Add(_T("tw")); // Twi
aryStrLangId.Add(_T("sw")); // Swahili
aryStrLangId.Add(_T("et")); // Estonian
aryStrLangId.Add(_T("ro")); // Romanian
aryStrLangId.Add(_T("el")); // Greek
aryStrLangId.Add(_T("bg")); // Bulgarian
aryStrLangId.Add(_T("mg")); // Malagasy
aryStrLangId.Add(_T("ar")); // Arabic
aryStrLangId.Add(_T("id")); // Indonesian
aryStrLangId.Add(_T("hi")); // Hindi
aryStrLangId.Add(_T("ta")); // Tamil
aryStrLangId.Add(_T("vi")); // Vietnamese
aryStrLangId.Add(_T("zu")); // Zulu
aryStrLangId.Add(_T("guw")); // Gun
aryStrLangId.Add(_T("ln")); // Lingala
aryStrLangId.Add(_T("pt")); // Portuguese Portugal
aryStrLangId.Add(_T("pa")); // Punjabi
aryStrLangId.Add(_T("mt")); // Maltese
aryStrLangId.Add(_T("hu")); // Hungarian
aryStrLangId.Add(_T("fr")); // Saramaccan (uses French)
aryStrLangId.Add(_T("am")); // Amharic
aryStrLangId.Add(_T("ja")); // Japanese
aryStrLangId.Add(_T("tn")); // Setswana
aryStrLangId.Add(_T("srn")); // Sranantongo
aryStrLangId.Add(_T("drk")); // Aukan
aryStrLangId.Add(_T("hy")); // Armenian
aryStrLangId.Add(_T("gu")); // Gujarati
aryStrLangId.Add(_T("st")); // Sesotho
aryStrLangId.Add(_T("ceb")); // Cebuano
aryStrLangId.Add(_T("ts")); // Tsonga
Я решил попробовать и использовать вышеуказанные коды для отображения дней недели :
CString strDay;
TCHAR szDay[_MAX_PATH];
int iDay;
// note:
// 1 is monday,
// 2 is tuesday etc..
// 7 is sunday
LCTYPE lcDay[] =
{
LOCALE_SDAYNAME7,
LOCALE_SDAYNAME1,
LOCALE_SDAYNAME2,
LOCALE_SDAYNAME3,
LOCALE_SDAYNAME4,
LOCALE_SDAYNAME5,
LOCALE_SDAYNAME6
};
for(iDay = 0; iDay < 7; iDay++)
{
{
GetLocaleInfoEx(theApp.GetHtmlLanguageCode(),
lcDay[iDay],
szDay,
_MAX_PATH);
strDay = szDay;
}
m_cbDays.AddString(strDay);
}
Приведенный выше код работает корректно для всех языков, кроме:
aryStrLangId.Add(_T("drk")); // Aukan
aryStrLangId.Add(_T("ceb")); // Cebuano
aryStrLangId.Add(_T("guw")); // Gun
aryStrLangId.Add(_T("ht")); // Hatian Creole
aryStrLangId.Add(_T("srn")); // Sranantongo
aryStrLangId.Add(_T("tl")); // Tagalog
aryStrLangId.Add(_T("tw")); // Twi
Как можно использовать GetLocaleInfoEx
для отображения дней недели на этих языках?
Я пытался использовать, например, twi
вместо tw
, и это не имело никакого значения.