win32localepeer.cpp
来自「这是VCF框架的代码」· C++ 代码 · 共 2,890 行 · 第 1/5 页
CPP
2,890 行
} break; case LANG_HUNGARIAN : { return Locale::lcHungarian; } break; case LANG_ICELANDIC : { return Locale::lcIcelandic; } break; case LANG_INDONESIAN : { return Locale::lcIndonesian; } break; case LANG_ITALIAN : { return Locale::lcItalian; } break; case LANG_JAPANESE : { return Locale::lcJapanese; } break; case LANG_KANNADA : { return Locale::lcKannada; } break; case LANG_KASHMIRI : { return Locale::lcKashmiri; } break; case LANG_KAZAK : { return Locale::lcKazakh; } break; case LANG_KOREAN : { return Locale::lcKorean; } break; case LANG_LATVIAN : { return Locale::lcLatvian; } break; case LANG_LITHUANIAN : { return Locale::lcLithuanian; } break; case LANG_MACEDONIAN : { return Locale::lcMacedonian; } break; case LANG_MALAY : { return Locale::lcMalay; } break; case LANG_MALAYALAM : { return Locale::lcMalayalam; } break; case LANG_MARATHI : { return Locale::lcMarathi; } break; case LANG_NEPALI : { return Locale::lcNepali; } break; case LANG_NORWEGIAN : { switch ( subLangID ) { case SUBLANG_NORWEGIAN_BOKMAL : { return Locale::lcNorwegianBokmal; } break; case SUBLANG_NORWEGIAN_NYNORSK : { return Locale::lcNorwegianNynorsk; } break; default : { return Locale::lcNorwegian; } break; } } break; case LANG_ORIYA : { return Locale::lcOriya; } break; case LANG_POLISH : { return Locale::lcPolish; } break; case LANG_PORTUGUESE : { return Locale::lcPortuguese; } break; case LANG_PUNJABI : { return Locale::lcPunjabi; } break; case LANG_ROMANIAN : { return Locale::lcRomanian; } break; case LANG_RUSSIAN : { return Locale::lcRussian; } break; case LANG_SANSKRIT : { return Locale::lcSanskrit; } break; case LANG_SINDHI : { return Locale::lcSindhi; } break; case LANG_SLOVAK : { return Locale::lcSlovak; } break; case LANG_SLOVENIAN : { return Locale::lcSlovenian; } break; case LANG_SPANISH : { return Locale::lcSpanish; } break; case LANG_SWAHILI : { return Locale::lcSwahili; } break; case LANG_SWEDISH : { return Locale::lcSwahili; } break; case LANG_TAMIL : { return Locale::lcSwedish; } break; case LANG_TATAR : { return Locale::lcTatar; } break; case LANG_TELUGU : { return Locale::lcTelugu; } break; case LANG_THAI : { return Locale::lcThai; } break; case LANG_TURKISH : { return Locale::lcTurkish; } break; case LANG_UKRAINIAN : { return Locale::lcUkrainian; } break; case LANG_URDU : { return Locale::lcUrdu; } break; case LANG_UZBEK : { return Locale::lcUzbek; } break; case LANG_VIETNAMESE : { return Locale::lcVietnamese; } break; } /* WARNING !!!! No support for LANG_MANIPURI because there is NO ISO639 code for it case LANG_MANIPURI : { return Locale::ccIndia; } break; */ /* WARNING! No ISO 2 letter code for LANG_KONKANI41 case LANG_KONKANI : { return Locale::ccIndia; } break; */ return 0;}String Win32LocalePeer::getLanguage(){ String result; if ( System::isUnicodeEnabled() ) { int size = ::GetLocaleInfoW( lcid_, LOCALE_SLANGUAGE, NULL, 0 ); VCFChar* tmp = new VCFChar[size+1]; memset( tmp, 0, (size+1)*sizeof(VCFChar) ); ::GetLocaleInfoW( lcid_, LOCALE_SLANGUAGE, tmp, size ); result = tmp; delete [] tmp; } else { int size = ::GetLocaleInfoA( lcid_, LOCALE_SLANGUAGE, NULL, 0 ); char* tmp = new char[size+1]; memset( tmp, 0, (size+1) ); ::GetLocaleInfoA( lcid_, LOCALE_SLANGUAGE, tmp, size ); result = tmp; delete [] tmp; } return result;}ulong32 Win32LocalePeer::getCountryCode(){ UINT languageID = PRIMARYLANGID(LANGIDFROMLCID(lcid_)); UINT countryID = SUBLANGID(LANGIDFROMLCID(lcid_)); switch ( languageID ) { case LANG_AFRIKAANS : { return Locale::ccSouthAfrica; } break; case LANG_ALBANIAN : { return Locale::ccAlbania; } break; case LANG_ARABIC : { switch ( countryID ) { case SUBLANG_ARABIC_SAUDI_ARABIA : { return Locale::ccSaudiArabia; } break; case SUBLANG_ARABIC_IRAQ : { //Win32LocalePeer::countryIDs["ar_IQ"] return Locale::ccIraq; } break; case SUBLANG_ARABIC_EGYPT : { //Win32LocalePeer::countryIDs["ar_EG"] = SUBLANG_ARABIC_EGYPT; return Locale::ccEgypt; } break; case SUBLANG_ARABIC_LIBYA : { //Win32LocalePeer::countryIDs["ar_LY"] = return Locale::ccLibyanArabJamahiriya; } break; case SUBLANG_ARABIC_ALGERIA : { //Win32LocalePeer::countryIDs["ar_DZ"] = SUBLANG_ARABIC_ALGERIA; return Locale::ccAlgeria; } break; case SUBLANG_ARABIC_MOROCCO : { //Win32LocalePeer::countryIDs["ar_MA"] = SUBLANG_ARABIC_MOROCCO; return Locale::ccMorocco; } break; case SUBLANG_ARABIC_TUNISIA : { //Win32LocalePeer::countryIDs["ar_TN"] = SUBLANG_ARABIC_TUNISIA; return Locale::ccTunisia; } break; case SUBLANG_ARABIC_OMAN : { //Win32LocalePeer::countryIDs["ar_OM"] = SUBLANG_ARABIC_OMAN; return Locale::ccOman; } break; case SUBLANG_ARABIC_YEMEN : { //Win32LocalePeer::countryIDs["ar_YE"] = SUBLANG_ARABIC_YEMEN; return Locale::ccYemen; } break; case SUBLANG_ARABIC_SYRIA : { //Win32LocalePeer::countryIDs["ar_SY"] = SUBLANG_ARABIC_SYRIA; return Locale::ccSyrianArabRepublic; } break; case SUBLANG_ARABIC_JORDAN : { //Win32LocalePeer::countryIDs["ar_JO"] = SUBLANG_ARABIC_JORDAN; return Locale::ccJordan; } break; case SUBLANG_ARABIC_LEBANON : { //Win32LocalePeer::countryIDs["ar_LB"] = SUBLANG_ARABIC_LEBANON; return Locale::ccLebanon; } break; case SUBLANG_ARABIC_KUWAIT : { //Win32LocalePeer::countryIDs["ar_KW"] = SUBLANG_ARABIC_KUWAIT; return Locale::ccKuwait; } break; case SUBLANG_ARABIC_UAE : { //Win32LocalePeer::countryIDs["ar_AE"] = SUBLANG_ARABIC_UAE; return Locale::ccUnitedArabEmirates; } break; case SUBLANG_ARABIC_BAHRAIN : { //Win32LocalePeer::countryIDs["ar_BH"] = SUBLANG_ARABIC_BAHRAIN; return Locale::ccBahrain; } break; case SUBLANG_ARABIC_QATAR : { //Win32LocalePeer::countryIDs["ar_QA"] = SUBLANG_ARABIC_QATAR; return Locale::ccQatar; } break; } } break; case LANG_ASSAMESE : { return Locale::ccIndia; } break; case LANG_ARMENIAN : { return Locale::ccArmenia; } break; case LANG_AZERI : { return Locale::ccAzerbaijan; } break; case LANG_BASQUE : { return Locale::ccSpain; } break; case LANG_BELARUSIAN : { return Locale::ccSpain; } break; case LANG_BENGALI : { return Locale::ccIndia; } break; case LANG_BULGARIAN : { return Locale::ccBulgaria; } break; case LANG_CATALAN : { return Locale::ccSpain; } break; case LANG_CHINESE : { switch ( countryID ) { case SUBLANG_CHINESE_HONGKONG : { return Locale::ccHongKong; } break; case SUBLANG_CHINESE_SINGAPORE : { return Locale::ccSingapore; } break; case SUBLANG_CHINESE_MACAU : { return Locale::ccMacao; } break; default : { return Locale::ccChina; } break; } } break; case LANG_CROATIAN : { // equivalent to LANG_SERBIAN in winnt.h switch ( countryID ) { case SUBLANG_SERBIAN_CYRILLIC : { return Locale::ccSerbia; } break; case SUBLANG_SERBIAN_LATIN : { return Locale::ccSerbia; } break; default : { return Locale::ccCroatia; } break; } } break; case LANG_CZECH : { return Locale::ccCzechRepublic; } break; case LANG_DANISH : { return Locale::ccDenmark; } break; case LANG_DUTCH : { switch ( countryID ) { case SUBLANG_DUTCH : { return Locale::ccNetherlands; } break; case SUBLANG_DUTCH_BELGIAN : { return Locale::ccBelgium; } break; } } break; case LANG_ENGLISH : { switch ( countryID ) { case SUBLANG_ENGLISH_US : { return Locale::ccUnitedStates; } break; case SUBLANG_ENGLISH_UK : { return Locale::ccUnitedKingdom; } break; case SUBLANG_ENGLISH_AUS : { return Locale::ccAustralia; } break; case SUBLANG_ENGLISH_CAN : { return Locale::ccCanada; } break; case SUBLANG_ENGLISH_NZ : { return Locale::ccNewZealand; } break; case SUBLANG_ENGLISH_EIRE : { return Locale::ccIreland; } break; case SUBLANG_ENGLISH_SOUTH_AFRICA : { return Locale::ccSouthAfrica; } break; case SUBLANG_ENGLISH_JAMAICA : { return Locale::ccJamaica; } break; case SUBLANG_ENGLISH_CARIBBEAN : { return Locale::ccJamaica; } break; case SUBLANG_ENGLISH_BELIZE : { return Locale::ccBelize; } break; case SUBLANG_ENGLISH_TRINIDAD : { return Locale::ccTrinidad; } break; case SUBLANG_ENGLISH_PHILIPPINES : { return Locale::ccPhilippines; } break; case SUBLANG_ENGLISH_ZIMBABWE : { return Locale::ccZimbabwe; } break; } } break; case LANG_ESTONIAN : { return Locale::ccEstonia; } break; case LANG_FAEROESE : { return Locale::ccFaroIslands; } break; case LANG_FARSI : { return Locale::ccIraq; //?? do we need others ? Afghanistan?? } break; case LANG_FINNISH : { return Locale::ccFinland; } break; case LANG_FRENCH : { switch ( countryID ) { case SUBLANG_FRENCH : { return Locale::ccFrance; } break;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?