]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
modifications for compilation under Mac OS X
[wxWidgets.git] / src / common / intl.cpp
index 7b9eb1135c2f799018221a4e553436f98312a7af..032bfb30c18908f373b2787d6a8f84a112234aef 100644 (file)
@@ -663,32 +663,40 @@ bool wxLocale::Init(int language, int flags)
 #elif defined(__WIN32__)
     if (language != wxLANGUAGE_DEFAULT)
     {
-        wxUint32 lcid = MAKELCID(MAKELANGID(info->WinLang, info->WinSublang), 
-                                 SORT_DEFAULT);
-        if (SetThreadLocale(lcid))
-            retloc = wxSetlocale(LC_ALL, wxEmptyString);
-        else
+        if (info->WinLang == 0)
         {
-            // Windows9X doesn't support SetThreadLocale, so we must
-            // translate LCID to CRT's setlocale string ourselves
-            locale.Empty();
-            if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
-            {
-                wxChar buffer[256];
-                buffer[0] = wxT('\0');
-                GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, buffer, 256);
-                locale << buffer;
-                buffer[0] = wxT('\0');
-                GetLocaleInfo(lcid, LOCALE_SENGCOUNTRY, buffer, 256);
-            }
-            if (locale.IsEmpty())
+            wxLogWarning(wxT("Locale '%s' not supported by OS."), name.c_str());
+            retloc = wxT("C");
+        }
+        else
+        {       
+            wxUint32 lcid = MAKELCID(MAKELANGID(info->WinLang, info->WinSublang), 
+                                     SORT_DEFAULT);
+            if (SetThreadLocale(lcid))
+                retloc = wxSetlocale(LC_ALL, wxEmptyString);
+            else
             {
-                wxLogLastError(wxT("SetThreadLocale"));
-                wxLogError(wxT("Cannot set locale to language %s."), name.c_str());
-                return FALSE;
+                // Windows9X doesn't support SetThreadLocale, so we must
+                // translate LCID to CRT's setlocale string ourselves
+                locale.Empty();
+                if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+                {
+                    wxChar buffer[256];
+                    buffer[0] = wxT('\0');
+                    GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, buffer, 256);
+                    locale << buffer;
+                    if (GetLocaleInfo(lcid, LOCALE_SENGCOUNTRY, buffer, 256) > 0)
+                        locale << wxT("_") << buffer;
+                }
+                if (locale.IsEmpty())
+                {
+                    wxLogLastError(wxT("SetThreadLocale"));
+                    wxLogError(wxT("Cannot set locale to language %s."), name.c_str());
+                    return FALSE;
+                }
+                else
+                    retloc = wxSetlocale(LC_ALL, locale);
             }
-            else
-                retloc = wxSetlocale(LC_ALL, locale);
         }
     }
     else
@@ -721,7 +729,7 @@ void wxLocale::AddCatalogLookupPathPrefix(const wxString& prefix)
 }
 
 
-int wxLocale::GetSystemLanguage()
+int wxLocale::GetSystemLanguage() const
 {
     int wxlang = wxLANGUAGE_UNKNOWN;
     size_t i;
@@ -992,15 +1000,499 @@ wxLocale *wxSetLocale(wxLocale *pLocale)
 // default languages table & initialization
 // ----------------------------------------------------------------------------
 
+
 // This table is generated by misc/languages/genlang.py
 // When making changes, please put them into misc/languages/langtabl.txt
 
-#ifdef __WXMSW__
+#ifndef __WIN32__
+
+#define SETWINLANG(info,lang,sublang)
+
+#else
+
 #define SETWINLANG(info,lang,sublang) \
     info.WinLang = lang, info.WinSublang = sublang;
-#else
-#define SETWINLANG(info,lang,sublang)
+
+#ifndef LANG_AFRIKAANS
+#define LANG_AFRIKAANS (0)
+#endif
+#ifndef LANG_ALBANIAN
+#define LANG_ALBANIAN (0)
+#endif
+#ifndef LANG_ARABIC
+#define LANG_ARABIC (0)
+#endif
+#ifndef LANG_ARMENIAN
+#define LANG_ARMENIAN (0)
+#endif
+#ifndef LANG_ASSAMESE
+#define LANG_ASSAMESE (0)
+#endif
+#ifndef LANG_AZERI
+#define LANG_AZERI (0)
+#endif
+#ifndef LANG_BASQUE
+#define LANG_BASQUE (0)
+#endif
+#ifndef LANG_BELARUSIAN
+#define LANG_BELARUSIAN (0)
+#endif
+#ifndef LANG_BENGALI
+#define LANG_BENGALI (0)
+#endif
+#ifndef LANG_BULGARIAN
+#define LANG_BULGARIAN (0)
+#endif
+#ifndef LANG_CATALAN
+#define LANG_CATALAN (0)
+#endif
+#ifndef LANG_CHINESE
+#define LANG_CHINESE (0)
+#endif
+#ifndef LANG_CROATIAN
+#define LANG_CROATIAN (0)
+#endif
+#ifndef LANG_CZECH
+#define LANG_CZECH (0)
+#endif
+#ifndef LANG_DANISH
+#define LANG_DANISH (0)
+#endif
+#ifndef LANG_DUTCH
+#define LANG_DUTCH (0)
+#endif
+#ifndef LANG_ENGLISH
+#define LANG_ENGLISH (0)
+#endif
+#ifndef LANG_ESTONIAN
+#define LANG_ESTONIAN (0)
+#endif
+#ifndef LANG_FAEROESE
+#define LANG_FAEROESE (0)
+#endif
+#ifndef LANG_FARSI
+#define LANG_FARSI (0)
+#endif
+#ifndef LANG_FINNISH
+#define LANG_FINNISH (0)
+#endif
+#ifndef LANG_FRENCH
+#define LANG_FRENCH (0)
+#endif
+#ifndef LANG_GEORGIAN
+#define LANG_GEORGIAN (0)
+#endif
+#ifndef LANG_GERMAN
+#define LANG_GERMAN (0)
+#endif
+#ifndef LANG_GREEK
+#define LANG_GREEK (0)
+#endif
+#ifndef LANG_GUJARATI
+#define LANG_GUJARATI (0)
+#endif
+#ifndef LANG_HEBREW
+#define LANG_HEBREW (0)
+#endif
+#ifndef LANG_HINDI
+#define LANG_HINDI (0)
+#endif
+#ifndef LANG_HUNGARIAN
+#define LANG_HUNGARIAN (0)
+#endif
+#ifndef LANG_ICELANDIC
+#define LANG_ICELANDIC (0)
+#endif
+#ifndef LANG_INDONESIAN
+#define LANG_INDONESIAN (0)
+#endif
+#ifndef LANG_ITALIAN
+#define LANG_ITALIAN (0)
+#endif
+#ifndef LANG_JAPANESE
+#define LANG_JAPANESE (0)
+#endif
+#ifndef LANG_KANNADA
+#define LANG_KANNADA (0)
+#endif
+#ifndef LANG_KASHMIRI
+#define LANG_KASHMIRI (0)
+#endif
+#ifndef LANG_KAZAK
+#define LANG_KAZAK (0)
+#endif
+#ifndef LANG_KONKANI
+#define LANG_KONKANI (0)
+#endif
+#ifndef LANG_KOREAN
+#define LANG_KOREAN (0)
+#endif
+#ifndef LANG_LATVIAN
+#define LANG_LATVIAN (0)
+#endif
+#ifndef LANG_LITHUANIAN
+#define LANG_LITHUANIAN (0)
+#endif
+#ifndef LANG_MACEDONIAN
+#define LANG_MACEDONIAN (0)
+#endif
+#ifndef LANG_MALAY
+#define LANG_MALAY (0)
+#endif
+#ifndef LANG_MALAYALAM
+#define LANG_MALAYALAM (0)
+#endif
+#ifndef LANG_MANIPURI
+#define LANG_MANIPURI (0)
+#endif
+#ifndef LANG_MARATHI
+#define LANG_MARATHI (0)
+#endif
+#ifndef LANG_NEPALI
+#define LANG_NEPALI (0)
+#endif
+#ifndef LANG_NORWEGIAN
+#define LANG_NORWEGIAN (0)
+#endif
+#ifndef LANG_ORIYA
+#define LANG_ORIYA (0)
+#endif
+#ifndef LANG_POLISH
+#define LANG_POLISH (0)
+#endif
+#ifndef LANG_PORTUGUESE
+#define LANG_PORTUGUESE (0)
+#endif
+#ifndef LANG_PUNJABI
+#define LANG_PUNJABI (0)
+#endif
+#ifndef LANG_ROMANIAN
+#define LANG_ROMANIAN (0)
+#endif
+#ifndef LANG_RUSSIAN
+#define LANG_RUSSIAN (0)
+#endif
+#ifndef LANG_SANSKRIT
+#define LANG_SANSKRIT (0)
+#endif
+#ifndef LANG_SERBIAN
+#define LANG_SERBIAN (0)
+#endif
+#ifndef LANG_SINDHI
+#define LANG_SINDHI (0)
+#endif
+#ifndef LANG_SLOVAK
+#define LANG_SLOVAK (0)
+#endif
+#ifndef LANG_SLOVENIAN
+#define LANG_SLOVENIAN (0)
+#endif
+#ifndef LANG_SPANISH
+#define LANG_SPANISH (0)
+#endif
+#ifndef LANG_SWAHILI
+#define LANG_SWAHILI (0)
+#endif
+#ifndef LANG_SWEDISH
+#define LANG_SWEDISH (0)
+#endif
+#ifndef LANG_TAMIL
+#define LANG_TAMIL (0)
+#endif
+#ifndef LANG_TATAR
+#define LANG_TATAR (0)
+#endif
+#ifndef LANG_TELUGU
+#define LANG_TELUGU (0)
+#endif
+#ifndef LANG_THAI
+#define LANG_THAI (0)
+#endif
+#ifndef LANG_TURKISH
+#define LANG_TURKISH (0)
+#endif
+#ifndef LANG_UKRAINIAN
+#define LANG_UKRAINIAN (0)
+#endif
+#ifndef LANG_URDU
+#define LANG_URDU (0)
+#endif
+#ifndef LANG_UZBEK
+#define LANG_UZBEK (0)
+#endif
+#ifndef LANG_VIETNAMESE
+#define LANG_VIETNAMESE (0)
+#endif
+#ifndef SUBLANG_ARABIC_ALGERIA
+#define SUBLANG_ARABIC_ALGERIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_BAHRAIN
+#define SUBLANG_ARABIC_BAHRAIN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_EGYPT
+#define SUBLANG_ARABIC_EGYPT SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_IRAQ
+#define SUBLANG_ARABIC_IRAQ SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_JORDAN
+#define SUBLANG_ARABIC_JORDAN SUBLANG_DEFAULT
 #endif
+#ifndef SUBLANG_ARABIC_KUWAIT
+#define SUBLANG_ARABIC_KUWAIT SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_LEBANON
+#define SUBLANG_ARABIC_LEBANON SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_LIBYA
+#define SUBLANG_ARABIC_LIBYA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_MOROCCO
+#define SUBLANG_ARABIC_MOROCCO SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_OMAN
+#define SUBLANG_ARABIC_OMAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_QATAR
+#define SUBLANG_ARABIC_QATAR SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_SAUDI_ARABIA
+#define SUBLANG_ARABIC_SAUDI_ARABIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_SYRIA
+#define SUBLANG_ARABIC_SYRIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_TUNISIA
+#define SUBLANG_ARABIC_TUNISIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_UAE
+#define SUBLANG_ARABIC_UAE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ARABIC_YEMEN
+#define SUBLANG_ARABIC_YEMEN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_AZERI_CYRILLIC
+#define SUBLANG_AZERI_CYRILLIC SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_AZERI_LATIN
+#define SUBLANG_AZERI_LATIN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_CHINESE_SIMPLIFIED
+#define SUBLANG_CHINESE_SIMPLIFIED SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_CHINESE_TRADITIONAL
+#define SUBLANG_CHINESE_TRADITIONAL SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_CHINESE_HONGKONG
+#define SUBLANG_CHINESE_HONGKONG SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_CHINESE_MACAU
+#define SUBLANG_CHINESE_MACAU SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_CHINESE_SINGAPORE
+#define SUBLANG_CHINESE_SINGAPORE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_DUTCH
+#define SUBLANG_DUTCH SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_DUTCH_BELGIAN
+#define SUBLANG_DUTCH_BELGIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_UK
+#define SUBLANG_ENGLISH_UK SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_US
+#define SUBLANG_ENGLISH_US SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_AUS
+#define SUBLANG_ENGLISH_AUS SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_BELIZE
+#define SUBLANG_ENGLISH_BELIZE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_CAN
+#define SUBLANG_ENGLISH_CAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_CARIBBEAN
+#define SUBLANG_ENGLISH_CARIBBEAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_EIRE
+#define SUBLANG_ENGLISH_EIRE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_JAMAICA
+#define SUBLANG_ENGLISH_JAMAICA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_NZ
+#define SUBLANG_ENGLISH_NZ SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_PHILIPPINES
+#define SUBLANG_ENGLISH_PHILIPPINES SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
+#define SUBLANG_ENGLISH_SOUTH_AFRICA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_TRINIDAD
+#define SUBLANG_ENGLISH_TRINIDAD SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ENGLISH_ZIMBABWE
+#define SUBLANG_ENGLISH_ZIMBABWE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_FRENCH
+#define SUBLANG_FRENCH SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_FRENCH_BELGIAN
+#define SUBLANG_FRENCH_BELGIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_FRENCH_CANADIAN
+#define SUBLANG_FRENCH_CANADIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_FRENCH_LUXEMBOURG
+#define SUBLANG_FRENCH_LUXEMBOURG SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_FRENCH_MONACO
+#define SUBLANG_FRENCH_MONACO SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_FRENCH_SWISS
+#define SUBLANG_FRENCH_SWISS SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_GERMAN
+#define SUBLANG_GERMAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_GERMAN_AUSTRIAN
+#define SUBLANG_GERMAN_AUSTRIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_GERMAN_LIECHTENSTEIN
+#define SUBLANG_GERMAN_LIECHTENSTEIN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_GERMAN_LUXEMBOURG
+#define SUBLANG_GERMAN_LUXEMBOURG SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_GERMAN_SWISS
+#define SUBLANG_GERMAN_SWISS SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ITALIAN
+#define SUBLANG_ITALIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_ITALIAN_SWISS
+#define SUBLANG_ITALIAN_SWISS SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_KASHMIRI_INDIA
+#define SUBLANG_KASHMIRI_INDIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_KOREAN
+#define SUBLANG_KOREAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_LITHUANIAN
+#define SUBLANG_LITHUANIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
+#define SUBLANG_MALAY_BRUNEI_DARUSSALAM SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_MALAY_MALAYSIA
+#define SUBLANG_MALAY_MALAYSIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_NEPALI_INDIA
+#define SUBLANG_NEPALI_INDIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_NORWEGIAN_BOKMAL
+#define SUBLANG_NORWEGIAN_BOKMAL SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_NORWEGIAN_NYNORSK
+#define SUBLANG_NORWEGIAN_NYNORSK SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_PORTUGUESE
+#define SUBLANG_PORTUGUESE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_PORTUGUESE_BRAZILIAN
+#define SUBLANG_PORTUGUESE_BRAZILIAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SERBIAN_CYRILLIC
+#define SUBLANG_SERBIAN_CYRILLIC SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SERBIAN_LATIN
+#define SUBLANG_SERBIAN_LATIN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH
+#define SUBLANG_SPANISH SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_ARGENTINA
+#define SUBLANG_SPANISH_ARGENTINA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_BOLIVIA
+#define SUBLANG_SPANISH_BOLIVIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_CHILE
+#define SUBLANG_SPANISH_CHILE SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_COLOMBIA
+#define SUBLANG_SPANISH_COLOMBIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_COSTA_RICA
+#define SUBLANG_SPANISH_COSTA_RICA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
+#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_ECUADOR
+#define SUBLANG_SPANISH_ECUADOR SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_EL_SALVADOR
+#define SUBLANG_SPANISH_EL_SALVADOR SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_GUATEMALA
+#define SUBLANG_SPANISH_GUATEMALA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_HONDURAS
+#define SUBLANG_SPANISH_HONDURAS SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_MEXICAN
+#define SUBLANG_SPANISH_MEXICAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_MODERN
+#define SUBLANG_SPANISH_MODERN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_NICARAGUA
+#define SUBLANG_SPANISH_NICARAGUA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_PANAMA
+#define SUBLANG_SPANISH_PANAMA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_PARAGUAY
+#define SUBLANG_SPANISH_PARAGUAY SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_PERU
+#define SUBLANG_SPANISH_PERU SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_PUERTO_RICO
+#define SUBLANG_SPANISH_PUERTO_RICO SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_URUGUAY
+#define SUBLANG_SPANISH_URUGUAY SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SPANISH_VENEZUELA
+#define SUBLANG_SPANISH_VENEZUELA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SWEDISH
+#define SUBLANG_SWEDISH SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_SWEDISH_FINLAND
+#define SUBLANG_SWEDISH_FINLAND SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_URDU_INDIA
+#define SUBLANG_URDU_INDIA SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_URDU_PAKISTAN
+#define SUBLANG_URDU_PAKISTAN SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_UZBEK_CYRILLIC
+#define SUBLANG_UZBEK_CYRILLIC SUBLANG_DEFAULT
+#endif
+#ifndef SUBLANG_UZBEK_LATIN
+#define SUBLANG_UZBEK_LATIN SUBLANG_DEFAULT
+#endif
+
+
+#endif // __WIN32__
 
 #define LNG(wxlang, canonical, winlang, winsublang, desc) \
     info.Language = wxlang;                               \
@@ -1013,8 +1505,8 @@ void wxLocale::InitLanguagesDB()
 {
    wxLanguageInfo info;
    wxStringTokenizer tkn;
-   
-   LNG(wxLANGUAGE_ABKHAZIAN,                  "ab"   , 0              , 0                                 , "Abkhazian")
+
+      LNG(wxLANGUAGE_ABKHAZIAN,                  "ab"   , 0              , 0                                 , "Abkhazian")
    LNG(wxLANGUAGE_AFAR,                       "aa"   , 0              , 0                                 , "Afar")
    LNG(wxLANGUAGE_AFRIKAANS,                  "af_ZA", LANG_AFRIKAANS , SUBLANG_DEFAULT                   , "Afrikaans")
    LNG(wxLANGUAGE_ALBANIAN,                   "sq_AL", LANG_ALBANIAN  , SUBLANG_DEFAULT                   , "Albanian")
@@ -1087,7 +1579,7 @@ void wxLocale::InitLanguagesDB()
    LNG(wxLANGUAGE_ESPERANTO,                  "eo"   , 0              , 0                                 , "Esperanto")
    LNG(wxLANGUAGE_ESTONIAN,                   "et_EE", LANG_ESTONIAN  , SUBLANG_DEFAULT                   , "Estonian")
    LNG(wxLANGUAGE_FAEROESE,                   "fo_FO", LANG_FAEROESE  , SUBLANG_DEFAULT                   , "Faeroese")
-   LNG(wxLANGUAGE_FARSI,                      ""     , LANG_FARSI     , SUBLANG_DEFAULT                   , "Farsi")
+   LNG(wxLANGUAGE_FARSI,                      "fa_IR", LANG_FARSI     , SUBLANG_DEFAULT                   , "Farsi")
    LNG(wxLANGUAGE_FIJI,                       "fj"   , 0              , 0                                 , "Fiji")
    LNG(wxLANGUAGE_FINNISH,                    "fi_FI", LANG_FINNISH   , SUBLANG_DEFAULT                   , "Finnish")
    LNG(wxLANGUAGE_FRENCH,                     "fr_FR", LANG_FRENCH    , SUBLANG_FRENCH                    , "French")
@@ -1161,7 +1653,6 @@ void wxLocale::InitLanguagesDB()
    LNG(wxLANGUAGE_ORIYA,                      "or"   , LANG_ORIYA     , SUBLANG_DEFAULT                   , "Oriya")
    LNG(wxLANGUAGE_OROMO,                      "om"   , 0              , 0                                 , "(Afan) Oromo")
    LNG(wxLANGUAGE_PASHTO,                     "ps"   , 0              , 0                                 , "Pashto, Pushto")
-   LNG(wxLANGUAGE_PERSIAN,                    "fa_IR", 0              , 0                                 , "Persian")
    LNG(wxLANGUAGE_POLISH,                     "pl_PL", LANG_POLISH    , SUBLANG_DEFAULT                   , "Polish")
    LNG(wxLANGUAGE_PORTUGUESE,                 "pt_PT", LANG_PORTUGUESE, SUBLANG_PORTUGUESE                , "Portuguese")
    LNG(wxLANGUAGE_PORTUGUESE_BRAZILIAN,       "pt_BR", LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN      , "Portuguese (Brazilian)")
@@ -1243,10 +1734,10 @@ void wxLocale::InitLanguagesDB()
    LNG(wxLANGUAGE_YORUBA,                     "yo"   , 0              , 0                                 , "Yoruba")
    LNG(wxLANGUAGE_ZHUANG,                     "za"   , 0              , 0                                 , "Zhuang")
    LNG(wxLANGUAGE_ZULU,                       "zu"   , 0              , 0                                 , "Zulu")
+   
 };
 #undef LNG
 
 
-
 #endif // wxUSE_INTL