]> git.saurik.com Git - wxWidgets.git/commitdiff
merge of RTL changes (with many modifications) from SOC2006_RTL branch
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 4 Sep 2006 13:35:13 +0000 (13:35 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 4 Sep 2006 13:35:13 +0000 (13:35 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

24 files changed:
docs/changes.txt
include/wx/app.h
include/wx/gtk/menu.h
include/wx/gtk/window.h
include/wx/intl.h
include/wx/msw/toplevel.h
include/wx/msw/window.h
include/wx/window.h
misc/languages/genlang.py
misc/languages/langtabl.txt
samples/internat/ar/internat.mo [new file with mode: 0755]
samples/internat/ar/internat.po [new file with mode: 0755]
samples/internat/internat.bkl
samples/internat/internat.cpp
src/common/appbase.cpp
src/common/intl.cpp
src/common/sizer.cpp
src/common/wincmn.cpp
src/gtk/menu.cpp
src/gtk/window.cpp
src/msw/msgdlg.cpp
src/msw/tooltip.cpp
src/msw/toplevel.cpp
src/msw/window.cpp

index e1c9b38d65975a811ef1effd5c31ab2287f9e1e3..d754d33a8aa1b0e9cf8d97f2cdaa10284fdc0b8d 100644 (file)
@@ -57,6 +57,7 @@ All:
 
 All (GUI):
 
+- Support for right-to-left text layout (Diaa Sami during Google Summer of Code)
 - Added wxID_PAGE_SETUP standard id
 
 wxMac:
index c3f299f2658af8d771b98a4e55daec59dde8a4e7..029e3534a582ad322b8ddf16dfb09ceed9d7c832 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "wx/build.h"
 #include "wx/init.h"        // we must declare wxEntry()
+#include "wx/intl.h"
 
 class WXDLLIMPEXP_BASE wxAppConsole;
 class WXDLLIMPEXP_BASE wxAppTraits;
@@ -112,6 +113,9 @@ public:
 
     // Called from wxExit() function, should terminate the application a.s.a.p.
     virtual void Exit();
+    
+    // Return the layout direction for the current locale
+    virtual wxLayoutDirection GetLayoutDirection() const;
 
 
     // application info: name, description, vendor
index c72c8ff60dcbe1258a5eb2581fbab4018f932576..8d5db66d12f913ca271214f5beb3aa89c72fd69b 100644 (file)
@@ -37,6 +37,11 @@ public:
     virtual void SetLabelTop( size_t pos, const wxString& label );
     virtual wxString GetLabelTop( size_t pos ) const;
 
+    void SetLayoutDirection(wxLayoutDirection dir);
+    wxLayoutDirection GetLayoutDirection() const;
+
+    void Attach(wxFrame *frame);
+
     // implementation only from now on
     void SetInvokingWindow( wxWindow *win );
     void UnsetInvokingWindow( wxWindow *win );
@@ -69,6 +74,11 @@ public:
 
     virtual ~wxMenu();
 
+    void Attach(wxMenuBarBase *menubar);
+    
+    void SetLayoutDirection(const wxLayoutDirection dir);
+    wxLayoutDirection GetLayoutDirection() const;
+
     // TODO: virtual void SetTitle(const wxString& title);
 
     // implementation
index 5a11d736acdedf669d05eb1bb762ccaa5ecd5526..e6cd98d90820b85c3d3f72799232fb7a01b637d6 100644 (file)
@@ -113,6 +113,9 @@ public:
     virtual void AddChild( wxWindowBase *child );
     virtual void RemoveChild( wxWindowBase *child );
 
+    virtual void SetLayoutDirection(wxLayoutDirection dir);
+    virtual wxLayoutDirection GetLayoutDirection() const;
+
     // currently wxGTK2-only
     void SetDoubleBuffered(bool on);
 
@@ -172,6 +175,10 @@ public:
     // base version just does GetEventHandler()->ProcessEvent()
     virtual bool GTKProcessEvent(wxEvent& event) const;
 
+    // Map GTK widget direction of the given widget to/from wxLayoutDirection
+    static wxLayoutDirection GTKGetLayout(GtkWidget *widget);
+    static void GTKSetLayout(GtkWidget *widget, wxLayoutDirection dir);
+
 protected:
     // Override GTKWidgetNeedsMnemonic and return true if your
     // needs to set its mnemonic widget, such as for a 
index 1518905484fde91a14d12efd36218dd2ea661781..4a1b2b4ab8dc150eedc81b22ee634e28b50025fa 100644 (file)
@@ -302,6 +302,13 @@ enum wxLanguage
 
 // --- --- --- generated code ends here --- --- ---
 
+enum wxLayoutDirection
+{
+    wxLayout_Default,
+    wxLayout_LeftToRight,
+    wxLayout_RightToLeft
+};
+
 // ----------------------------------------------------------------------------
 // wxLanguageInfo: encapsulates wxLanguage to OS native lang.desc.
 //                 translation information
@@ -316,6 +323,7 @@ struct WXDLLIMPEXP_BASE wxLanguageInfo
              WinSublang;
 #endif // __WIN32__
     wxString Description;           // human-readable name of the language
+    wxLayoutDirection LayoutDirection;
 };
 
 // ----------------------------------------------------------------------------
index 64359f658d10943442ddf683f5b17c2cad8e8842..b7a4aee882702d479660584ad650747e77c9faa2 100644 (file)
@@ -55,6 +55,8 @@ public:
     virtual void SetIcon(const wxIcon& icon);
     virtual void SetIcons(const wxIconBundle& icons );
     virtual void Restore();
+    
+    virtual void SetLayoutDirection(wxLayoutDirection dir);
 
 #ifndef __WXWINCE__
     virtual bool SetShape(const wxRegion& region);
index 2d5ecab15906cde87c2571f804e734f6c98fc81b..a081beb211025121355d0bb5eb6e97a3dabe3f2e 100644 (file)
@@ -110,6 +110,12 @@ public:
     virtual bool ScrollLines(int lines);
     virtual bool ScrollPages(int pages);
 
+    virtual void SetLayoutDirection(wxLayoutDirection dir);
+    virtual wxLayoutDirection GetLayoutDirection() const;
+    virtual wxCoord AdjustForLayoutDirection(wxCoord x,
+                                             wxCoord width,
+                                             wxCoord widthTotal) const;
+
 #if wxUSE_DRAG_AND_DROP
     virtual void SetDropTarget( wxDropTarget *dropTarget );
 #endif // wxUSE_DRAG_AND_DROP
index ad27c0c68ee1aaea0f73e6ae846bd2a581e68785..739309ac037134b65756161fdf582482eaa0a97f 100644 (file)
@@ -25,6 +25,7 @@
 #include "wx/colour.h"
 #include "wx/region.h"
 #include "wx/utils.h"
+#include "wx/intl.h"
 
 #include "wx/validate.h"        // for wxDefaultValidator (always include it)
 
@@ -180,15 +181,29 @@ public:
     virtual void SetName( const wxString &name ) { m_windowName = name; }
     virtual wxString GetName() const { return m_windowName; }
 
-    // sets the window variant, calls internally DoSetVariant if variant has changed
-    void SetWindowVariant( wxWindowVariant variant ) ;
-    wxWindowVariant GetWindowVariant() const { return m_windowVariant ; }
+        // sets the window variant, calls internally DoSetVariant if variant
+        // has changed
+    void SetWindowVariant(wxWindowVariant variant);
+    wxWindowVariant GetWindowVariant() const { return m_windowVariant; }
 
 
         // window id uniquely identifies the window among its siblings unless
         // it is wxID_ANY which means "don't care"
     void SetId( wxWindowID winid ) { m_windowId = winid; }
     wxWindowID GetId() const { return m_windowId; }
+    
+        // get or change the layout direction (LTR or RTL) for this window,
+        // wxLayout_Default is returned if layout direction is not supported
+    virtual wxLayoutDirection GetLayoutDirection() const
+        { return wxLayout_Default; }
+    virtual void SetLayoutDirection(wxLayoutDirection WXUNUSED(dir))
+        { }
+
+        // mirror coordinates for RTL layout if this window uses it and if the
+        // mirroring is not done automatically like Win32
+    virtual wxCoord AdjustForLayoutDirection(wxCoord x,
+                                             wxCoord width,
+                                             wxCoord widthTotal) const;
 
         // generate a control id for the controls which were not given one by
         // user
index e6b15875f86a4b544074102ee539e10c17afc27e..c2765d10d26fb46bdb475c89da065e3dfd2612e7 100755 (executable)
@@ -12,7 +12,7 @@ def ReadTable():
     f = open('langtabl.txt')
     for i in f.readlines():
         ispl = i.split()
-        table.append((ispl[0], ispl[1], ispl[2], ispl[3], string.join(ispl[4:])))
+        table.append((ispl[0], ispl[1], ispl[2], ispl[3], ispl[4], string.join(ispl[5:])))
     f.close()
     return table
 
@@ -87,8 +87,14 @@ def GenTable(table):
        if ilang == '-': ilang = '0'
        isublang = i[3]
        if isublang == '-': isublang = '0'
-       lngtable += '   LNG(%-38s %-7s, %-15s, %-34s, %s)\n' % \
-                     ((i[0]+','), ican, ilang, isublang, i[4])
+       if (i[4] == "LTR") :
+           ilayout = "wxLayout_LeftToRight"
+       elif (i[4] == "RTL"):
+           ilayout = "wxLayout_RightToLeft"
+       else:
+           print "ERROR: Invalid value for the layout direction";
+       lngtable += '   LNG(%-38s %-7s, %-15s, %-34s, %s, %s)\n' % \
+                     ((i[0]+','), ican, ilang, isublang, ilayout, i[5])
        if ilang not in all_langs: all_langs.append(ilang)
        if isublang not in all_sublangs: all_sublangs.append(isublang)
 
@@ -119,10 +125,11 @@ def GenTable(table):
 
 #endif // __WIN32__
 
-#define LNG(wxlang, canonical, winlang, winsublang, desc) \\
+#define LNG(wxlang, canonical, winlang, winsublang, layout, desc) \\
     info.Language = wxlang;                               \\
     info.CanonicalName = wxT(canonical);                  \\
-    info.Description = desc;                              \\
+    info.LayoutDirection = layout;                        \\
+    info.Description = wxT(desc);                         \\
     SETWINLANG(info, winlang, winsublang)                 \\
     AddLanguage(info);
 
index b3225c626ba86c61b90f73558865323d824c3e86..21224fc0d4066c4c366cf9ee3061d1a3f9da734b 100644 (file)
-wxLANGUAGE_ABKHAZIAN                   ab     -                -                                   "Abkhazian"
-wxLANGUAGE_AFAR                        aa     -                -                                   "Afar"
-wxLANGUAGE_AFRIKAANS                   af_ZA  LANG_AFRIKAANS   SUBLANG_DEFAULT                     "Afrikaans"
-wxLANGUAGE_ALBANIAN                    sq_AL  LANG_ALBANIAN    SUBLANG_DEFAULT                     "Albanian"
-wxLANGUAGE_AMHARIC                     am     -                -                                   "Amharic"
-wxLANGUAGE_ARABIC                      ar     LANG_ARABIC      SUBLANG_DEFAULT                     "Arabic"
-wxLANGUAGE_ARABIC_ALGERIA              ar_DZ  LANG_ARABIC      SUBLANG_ARABIC_ALGERIA              "Arabic (Algeria)"
-wxLANGUAGE_ARABIC_BAHRAIN              ar_BH  LANG_ARABIC      SUBLANG_ARABIC_BAHRAIN              "Arabic (Bahrain)"
-wxLANGUAGE_ARABIC_EGYPT                ar_EG  LANG_ARABIC      SUBLANG_ARABIC_EGYPT                "Arabic (Egypt)"
-wxLANGUAGE_ARABIC_IRAQ                 ar_IQ  LANG_ARABIC      SUBLANG_ARABIC_IRAQ                 "Arabic (Iraq)"
-wxLANGUAGE_ARABIC_JORDAN               ar_JO  LANG_ARABIC      SUBLANG_ARABIC_JORDAN               "Arabic (Jordan)"
-wxLANGUAGE_ARABIC_KUWAIT               ar_KW  LANG_ARABIC      SUBLANG_ARABIC_KUWAIT               "Arabic (Kuwait)"
-wxLANGUAGE_ARABIC_LEBANON              ar_LB  LANG_ARABIC      SUBLANG_ARABIC_LEBANON              "Arabic (Lebanon)"
-wxLANGUAGE_ARABIC_LIBYA                ar_LY  LANG_ARABIC      SUBLANG_ARABIC_LIBYA                "Arabic (Libya)"
-wxLANGUAGE_ARABIC_MOROCCO              ar_MA  LANG_ARABIC      SUBLANG_ARABIC_MOROCCO              "Arabic (Morocco)"
-wxLANGUAGE_ARABIC_OMAN                 ar_OM  LANG_ARABIC      SUBLANG_ARABIC_OMAN                 "Arabic (Oman)"
-wxLANGUAGE_ARABIC_QATAR                ar_QA  LANG_ARABIC      SUBLANG_ARABIC_QATAR                "Arabic (Qatar)"
-wxLANGUAGE_ARABIC_SAUDI_ARABIA         ar_SA  LANG_ARABIC      SUBLANG_ARABIC_SAUDI_ARABIA         "Arabic (Saudi Arabia)"
-wxLANGUAGE_ARABIC_SUDAN                ar_SD  -                -                                   "Arabic (Sudan)"
-wxLANGUAGE_ARABIC_SYRIA                ar_SY  LANG_ARABIC      SUBLANG_ARABIC_SYRIA                "Arabic (Syria)"
-wxLANGUAGE_ARABIC_TUNISIA              ar_TN  LANG_ARABIC      SUBLANG_ARABIC_TUNISIA              "Arabic (Tunisia)"
-wxLANGUAGE_ARABIC_UAE                  ar_AE  LANG_ARABIC      SUBLANG_ARABIC_UAE                  "Arabic (Uae)"
-wxLANGUAGE_ARABIC_YEMEN                ar_YE  LANG_ARABIC      SUBLANG_ARABIC_YEMEN                "Arabic (Yemen)"
-wxLANGUAGE_ARMENIAN                    hy     LANG_ARMENIAN    SUBLANG_DEFAULT                     "Armenian"
-wxLANGUAGE_ASSAMESE                    as     LANG_ASSAMESE    SUBLANG_DEFAULT                     "Assamese"
-wxLANGUAGE_AYMARA                      ay     -                -                                   "Aymara"
-wxLANGUAGE_AZERI                       az     LANG_AZERI       SUBLANG_DEFAULT                     "Azeri"
-wxLANGUAGE_AZERI_CYRILLIC              az     LANG_AZERI       SUBLANG_AZERI_CYRILLIC              "Azeri (Cyrillic)"
-wxLANGUAGE_AZERI_LATIN                 az     LANG_AZERI       SUBLANG_AZERI_LATIN                 "Azeri (Latin)"
-wxLANGUAGE_BASHKIR                     ba     -                -                                   "Bashkir"
-wxLANGUAGE_BASQUE                      eu_ES  LANG_BASQUE      SUBLANG_DEFAULT                     "Basque"
-wxLANGUAGE_BELARUSIAN                  be_BY  LANG_BELARUSIAN  SUBLANG_DEFAULT                     "Belarusian"
-wxLANGUAGE_BENGALI                     bn     LANG_BENGALI     SUBLANG_DEFAULT                     "Bengali"
-wxLANGUAGE_BHUTANI                     dz     -                -                                   "Bhutani"
-wxLANGUAGE_BIHARI                      bh     -                -                                   "Bihari"
-wxLANGUAGE_BISLAMA                     bi     -                -                                   "Bislama"
-wxLANGUAGE_BRETON                      br     -                -                                   "Breton"
-wxLANGUAGE_BULGARIAN                   bg_BG  LANG_BULGARIAN   SUBLANG_DEFAULT                     "Bulgarian"
-wxLANGUAGE_BURMESE                     my     -                -                                   "Burmese"
-wxLANGUAGE_CAMBODIAN                   km     -                -                                   "Cambodian"
-wxLANGUAGE_CATALAN                     ca_ES  LANG_CATALAN     SUBLANG_DEFAULT                     "Catalan"
-wxLANGUAGE_CHINESE                     zh_TW  LANG_CHINESE     SUBLANG_DEFAULT                     "Chinese"
-wxLANGUAGE_CHINESE_SIMPLIFIED          zh_CN  LANG_CHINESE     SUBLANG_CHINESE_SIMPLIFIED          "Chinese (Simplified)"
-wxLANGUAGE_CHINESE_TRADITIONAL         zh_TW  LANG_CHINESE     SUBLANG_CHINESE_TRADITIONAL         "Chinese (Traditional)"
-wxLANGUAGE_CHINESE_HONGKONG            zh_HK  LANG_CHINESE     SUBLANG_CHINESE_HONGKONG            "Chinese (Hongkong)"
-wxLANGUAGE_CHINESE_MACAU               zh_MO  LANG_CHINESE     SUBLANG_CHINESE_MACAU               "Chinese (Macau)"
-wxLANGUAGE_CHINESE_SINGAPORE           zh_SG  LANG_CHINESE     SUBLANG_CHINESE_SINGAPORE           "Chinese (Singapore)"
-wxLANGUAGE_CHINESE_TAIWAN              zh_TW  LANG_CHINESE     SUBLANG_CHINESE_TRADITIONAL         "Chinese (Taiwan)"
-wxLANGUAGE_CORSICAN                    co     -                -                                   "Corsican"
-wxLANGUAGE_CROATIAN                    hr_HR  LANG_CROATIAN    SUBLANG_DEFAULT                     "Croatian"
-wxLANGUAGE_CZECH                       cs_CZ  LANG_CZECH       SUBLANG_DEFAULT                     "Czech"
-wxLANGUAGE_DANISH                      da_DK  LANG_DANISH      SUBLANG_DEFAULT                     "Danish"
-wxLANGUAGE_DUTCH                       nl_NL  LANG_DUTCH       SUBLANG_DUTCH                       "Dutch"
-wxLANGUAGE_DUTCH_BELGIAN               nl_BE  LANG_DUTCH       SUBLANG_DUTCH_BELGIAN               "Dutch (Belgian)"
-wxLANGUAGE_ENGLISH                     en_GB  LANG_ENGLISH     SUBLANG_ENGLISH_UK                  "English"
-wxLANGUAGE_ENGLISH_UK                  en_GB  LANG_ENGLISH     SUBLANG_ENGLISH_UK                  "English (U.K.)"
-wxLANGUAGE_ENGLISH_US                  en_US  LANG_ENGLISH     SUBLANG_ENGLISH_US                  "English (U.S.)"
-wxLANGUAGE_ENGLISH_AUSTRALIA           en_AU  LANG_ENGLISH     SUBLANG_ENGLISH_AUS                 "English (Australia)"
-wxLANGUAGE_ENGLISH_BELIZE              en_BZ  LANG_ENGLISH     SUBLANG_ENGLISH_BELIZE              "English (Belize)"
-wxLANGUAGE_ENGLISH_BOTSWANA            en_BW  -                -                                   "English (Botswana)"
-wxLANGUAGE_ENGLISH_CANADA              en_CA  LANG_ENGLISH     SUBLANG_ENGLISH_CAN                 "English (Canada)"
-wxLANGUAGE_ENGLISH_CARIBBEAN           en_CB  LANG_ENGLISH     SUBLANG_ENGLISH_CARIBBEAN           "English (Caribbean)"
-wxLANGUAGE_ENGLISH_DENMARK             en_DK  -                -                                   "English (Denmark)"
-wxLANGUAGE_ENGLISH_EIRE                en_IE  LANG_ENGLISH     SUBLANG_ENGLISH_EIRE                "English (Eire)"
-wxLANGUAGE_ENGLISH_JAMAICA             en_JM  LANG_ENGLISH     SUBLANG_ENGLISH_JAMAICA             "English (Jamaica)"
-wxLANGUAGE_ENGLISH_NEW_ZEALAND         en_NZ  LANG_ENGLISH     SUBLANG_ENGLISH_NZ                  "English (New Zealand)"
-wxLANGUAGE_ENGLISH_PHILIPPINES         en_PH  LANG_ENGLISH     SUBLANG_ENGLISH_PHILIPPINES         "English (Philippines)"
-wxLANGUAGE_ENGLISH_SOUTH_AFRICA        en_ZA  LANG_ENGLISH     SUBLANG_ENGLISH_SOUTH_AFRICA        "English (South Africa)"
-wxLANGUAGE_ENGLISH_TRINIDAD            en_TT  LANG_ENGLISH     SUBLANG_ENGLISH_TRINIDAD            "English (Trinidad)"
-wxLANGUAGE_ENGLISH_ZIMBABWE            en_ZW  LANG_ENGLISH     SUBLANG_ENGLISH_ZIMBABWE            "English (Zimbabwe)"
-wxLANGUAGE_ESPERANTO                   eo     -                -                                   "Esperanto"
-wxLANGUAGE_ESTONIAN                    et_EE  LANG_ESTONIAN    SUBLANG_DEFAULT                     "Estonian"
-wxLANGUAGE_FAEROESE                    fo_FO  LANG_FAEROESE    SUBLANG_DEFAULT                     "Faeroese"
-wxLANGUAGE_FARSI                       fa_IR  LANG_FARSI       SUBLANG_DEFAULT                     "Farsi"
-wxLANGUAGE_FIJI                        fj     -                -                                   "Fiji"
-wxLANGUAGE_FINNISH                     fi_FI  LANG_FINNISH     SUBLANG_DEFAULT                     "Finnish"
-wxLANGUAGE_FRENCH                      fr_FR  LANG_FRENCH      SUBLANG_FRENCH                      "French"
-wxLANGUAGE_FRENCH_BELGIAN              fr_BE  LANG_FRENCH      SUBLANG_FRENCH_BELGIAN              "French (Belgian)"
-wxLANGUAGE_FRENCH_CANADIAN             fr_CA  LANG_FRENCH      SUBLANG_FRENCH_CANADIAN             "French (Canadian)"
-wxLANGUAGE_FRENCH_LUXEMBOURG           fr_LU  LANG_FRENCH      SUBLANG_FRENCH_LUXEMBOURG           "French (Luxembourg)"
-wxLANGUAGE_FRENCH_MONACO               fr_MC  LANG_FRENCH      SUBLANG_FRENCH_MONACO               "French (Monaco)"
-wxLANGUAGE_FRENCH_SWISS                fr_CH  LANG_FRENCH      SUBLANG_FRENCH_SWISS                "French (Swiss)"
-wxLANGUAGE_FRISIAN                     fy     -                -                                   "Frisian"
-wxLANGUAGE_GALICIAN                    gl_ES  -                -                                   "Galician"
-wxLANGUAGE_GEORGIAN                    ka     LANG_GEORGIAN    SUBLANG_DEFAULT                     "Georgian"
-wxLANGUAGE_GERMAN                      de_DE  LANG_GERMAN      SUBLANG_GERMAN                      "German"
-wxLANGUAGE_GERMAN_AUSTRIAN             de_AT  LANG_GERMAN      SUBLANG_GERMAN_AUSTRIAN             "German (Austrian)"
-wxLANGUAGE_GERMAN_BELGIUM              de_BE  -                -                                   "German (Belgium)"
-wxLANGUAGE_GERMAN_LIECHTENSTEIN        de_LI  LANG_GERMAN      SUBLANG_GERMAN_LIECHTENSTEIN        "German (Liechtenstein)"
-wxLANGUAGE_GERMAN_LUXEMBOURG           de_LU  LANG_GERMAN      SUBLANG_GERMAN_LUXEMBOURG           "German (Luxembourg)"
-wxLANGUAGE_GERMAN_SWISS                de_CH  LANG_GERMAN      SUBLANG_GERMAN_SWISS                "German (Swiss)"
-wxLANGUAGE_GREEK                       el_GR  LANG_GREEK       SUBLANG_DEFAULT                     "Greek"
-wxLANGUAGE_GREENLANDIC                 kl_GL  -                -                                   "Greenlandic"
-wxLANGUAGE_GUARANI                     gn     -                -                                   "Guarani"
-wxLANGUAGE_GUJARATI                    gu     LANG_GUJARATI    SUBLANG_DEFAULT                     "Gujarati"
-wxLANGUAGE_HAUSA                       ha     -                -                                   "Hausa"
-wxLANGUAGE_HEBREW                      he_IL  LANG_HEBREW      SUBLANG_DEFAULT                     "Hebrew"
-wxLANGUAGE_HINDI                       hi_IN  LANG_HINDI       SUBLANG_DEFAULT                     "Hindi"
-wxLANGUAGE_HUNGARIAN                   hu_HU  LANG_HUNGARIAN   SUBLANG_DEFAULT                     "Hungarian"
-wxLANGUAGE_ICELANDIC                   is_IS  LANG_ICELANDIC   SUBLANG_DEFAULT                     "Icelandic"
-wxLANGUAGE_INDONESIAN                  id_ID  LANG_INDONESIAN  SUBLANG_DEFAULT                     "Indonesian"
-wxLANGUAGE_INTERLINGUA                 ia     -                -                                   "Interlingua"
-wxLANGUAGE_INTERLINGUE                 ie     -                -                                   "Interlingue"
-wxLANGUAGE_INUKTITUT                   iu     -                -                                   "Inuktitut"
-wxLANGUAGE_INUPIAK                     ik     -                -                                   "Inupiak"
-wxLANGUAGE_IRISH                       ga_IE  -                -                                   "Irish"
-wxLANGUAGE_ITALIAN                     it_IT  LANG_ITALIAN     SUBLANG_ITALIAN                     "Italian"
-wxLANGUAGE_ITALIAN_SWISS               it_CH  LANG_ITALIAN     SUBLANG_ITALIAN_SWISS               "Italian (Swiss)"
-wxLANGUAGE_JAPANESE                    ja_JP  LANG_JAPANESE    SUBLANG_DEFAULT                     "Japanese"
-wxLANGUAGE_JAVANESE                    jw     -                -                                   "Javanese"
-wxLANGUAGE_KANNADA                     kn     LANG_KANNADA     SUBLANG_DEFAULT                     "Kannada"
-wxLANGUAGE_KASHMIRI                    ks     LANG_KASHMIRI    SUBLANG_DEFAULT                     "Kashmiri"
-wxLANGUAGE_KASHMIRI_INDIA              ks_IN  LANG_KASHMIRI    SUBLANG_KASHMIRI_INDIA              "Kashmiri (India)"
-wxLANGUAGE_KAZAKH                      kk     LANG_KAZAK       SUBLANG_DEFAULT                     "Kazakh"
-wxLANGUAGE_KERNEWEK                    kw_GB  -                -                                   "Kernewek"
-wxLANGUAGE_KINYARWANDA                 rw     -                -                                   "Kinyarwanda"
-wxLANGUAGE_KIRGHIZ                     ky     -                -                                   "Kirghiz"
-wxLANGUAGE_KIRUNDI                     rn     -                -                                   "Kirundi"
-wxLANGUAGE_KONKANI                     -      LANG_KONKANI     SUBLANG_DEFAULT                     "Konkani"
-wxLANGUAGE_KOREAN                      ko_KR  LANG_KOREAN      SUBLANG_KOREAN                      "Korean"
-wxLANGUAGE_KURDISH                     ku     -                -                                   "Kurdish"
-wxLANGUAGE_LAOTHIAN                    lo     -                -                                   "Laothian"
-wxLANGUAGE_LATIN                       la     -                -                                   "Latin"
-wxLANGUAGE_LATVIAN                     lv_LV  LANG_LATVIAN     SUBLANG_DEFAULT                     "Latvian"
-wxLANGUAGE_LINGALA                     ln     -                -                                   "Lingala"
-wxLANGUAGE_LITHUANIAN                  lt_LT  LANG_LITHUANIAN  SUBLANG_LITHUANIAN                  "Lithuanian"
-wxLANGUAGE_MACEDONIAN                  mk_MK  LANG_MACEDONIAN  SUBLANG_DEFAULT                     "Macedonian"
-wxLANGUAGE_MALAGASY                    mg     -                -                                   "Malagasy"
-wxLANGUAGE_MALAY                       ms_MY  LANG_MALAY       SUBLANG_DEFAULT                     "Malay"
-wxLANGUAGE_MALAYALAM                   ml     LANG_MALAYALAM   SUBLANG_DEFAULT                     "Malayalam"
-wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM     ms_BN  LANG_MALAY       SUBLANG_MALAY_BRUNEI_DARUSSALAM     "Malay (Brunei Darussalam)"
-wxLANGUAGE_MALAY_MALAYSIA              ms_MY  LANG_MALAY       SUBLANG_MALAY_MALAYSIA              "Malay (Malaysia)"
-wxLANGUAGE_MALTESE                     mt_MT  -                -                                   "Maltese"
-wxLANGUAGE_MANIPURI                    -      LANG_MANIPURI    SUBLANG_DEFAULT                     "Manipuri"
-wxLANGUAGE_MAORI                       mi     -                -                                   "Maori"
-wxLANGUAGE_MARATHI                     mr_IN  LANG_MARATHI     SUBLANG_DEFAULT                     "Marathi"
-wxLANGUAGE_MOLDAVIAN                   mo     -                -                                   "Moldavian"
-wxLANGUAGE_MONGOLIAN                   mn     -                -                                   "Mongolian"
-wxLANGUAGE_NAURU                       na     -                -                                   "Nauru"
-wxLANGUAGE_NEPALI                      ne     LANG_NEPALI      SUBLANG_DEFAULT                     "Nepali"
-wxLANGUAGE_NEPALI_INDIA                ne_IN  LANG_NEPALI      SUBLANG_NEPALI_INDIA                "Nepali (India)"
-wxLANGUAGE_NORWEGIAN_BOKMAL            nb_NO  LANG_NORWEGIAN   SUBLANG_NORWEGIAN_BOKMAL            "Norwegian (Bokmal)"
-wxLANGUAGE_NORWEGIAN_NYNORSK           nn_NO  LANG_NORWEGIAN   SUBLANG_NORWEGIAN_NYNORSK           "Norwegian (Nynorsk)"
-wxLANGUAGE_OCCITAN                     oc     -                -                                   "Occitan"
-wxLANGUAGE_ORIYA                       or     LANG_ORIYA       SUBLANG_DEFAULT                     "Oriya"
-wxLANGUAGE_OROMO                       om     -                -                                   "(Afan) Oromo"
-wxLANGUAGE_PASHTO                      ps     -                -                                   "Pashto, Pushto"
-wxLANGUAGE_POLISH                      pl_PL  LANG_POLISH      SUBLANG_DEFAULT                     "Polish"
-wxLANGUAGE_PORTUGUESE                  pt_PT  LANG_PORTUGUESE  SUBLANG_PORTUGUESE                  "Portuguese"
-wxLANGUAGE_PORTUGUESE_BRAZILIAN        pt_BR  LANG_PORTUGUESE  SUBLANG_PORTUGUESE_BRAZILIAN        "Portuguese (Brazilian)"
-wxLANGUAGE_PUNJABI                     pa     LANG_PUNJABI     SUBLANG_DEFAULT                     "Punjabi"
-wxLANGUAGE_QUECHUA                     qu     -                -                                   "Quechua"
-wxLANGUAGE_RHAETO_ROMANCE              rm     -                -                                   "Rhaeto-Romance"
-wxLANGUAGE_ROMANIAN                    ro_RO  LANG_ROMANIAN    SUBLANG_DEFAULT                     "Romanian"
-wxLANGUAGE_RUSSIAN                     ru_RU  LANG_RUSSIAN     SUBLANG_DEFAULT                     "Russian"
-wxLANGUAGE_RUSSIAN_UKRAINE             ru_UA  -                -                                   "Russian (Ukraine)"
-wxLANGUAGE_SAMOAN                      sm     -                -                                   "Samoan"
-wxLANGUAGE_SANGHO                      sg     -                -                                   "Sangho"
-wxLANGUAGE_SANSKRIT                    sa     LANG_SANSKRIT    SUBLANG_DEFAULT                     "Sanskrit"
-wxLANGUAGE_SCOTS_GAELIC                gd     -                -                                   "Scots Gaelic"
-wxLANGUAGE_SERBIAN_CYRILLIC            sr_YU  LANG_SERBIAN     SUBLANG_SERBIAN_CYRILLIC            "Serbian (Cyrillic)"
-wxLANGUAGE_SERBIAN_LATIN               sr_YU  LANG_SERBIAN     SUBLANG_SERBIAN_LATIN               "Serbian (Latin)"
-wxLANGUAGE_SERBO_CROATIAN              sh     -                -                                   "Serbo-Croatian"
-wxLANGUAGE_SESOTHO                     st     -                -                                   "Sesotho"
-wxLANGUAGE_SETSWANA                    tn     -                -                                   "Setswana"
-wxLANGUAGE_SHONA                       sn     -                -                                   "Shona"
-wxLANGUAGE_SINDHI                      sd     LANG_SINDHI      SUBLANG_DEFAULT                     "Sindhi"
-wxLANGUAGE_SINHALESE                   si     -                -                                   "Sinhalese"
-wxLANGUAGE_SISWATI                     ss     -                -                                   "Siswati"
-wxLANGUAGE_SLOVAK                      sk_SK  LANG_SLOVAK      SUBLANG_DEFAULT                     "Slovak"
-wxLANGUAGE_SLOVENIAN                   sl_SI  LANG_SLOVENIAN   SUBLANG_DEFAULT                     "Slovenian"
-wxLANGUAGE_SOMALI                      so     -                -                                   "Somali"
-wxLANGUAGE_SPANISH                     es_ES  LANG_SPANISH     SUBLANG_SPANISH                     "Spanish"
-wxLANGUAGE_SPANISH_ARGENTINA           es_AR  LANG_SPANISH     SUBLANG_SPANISH_ARGENTINA           "Spanish (Argentina)"
-wxLANGUAGE_SPANISH_BOLIVIA             es_BO  LANG_SPANISH     SUBLANG_SPANISH_BOLIVIA             "Spanish (Bolivia)"
-wxLANGUAGE_SPANISH_CHILE               es_CL  LANG_SPANISH     SUBLANG_SPANISH_CHILE               "Spanish (Chile)"
-wxLANGUAGE_SPANISH_COLOMBIA            es_CO  LANG_SPANISH     SUBLANG_SPANISH_COLOMBIA            "Spanish (Colombia)"
-wxLANGUAGE_SPANISH_COSTA_RICA          es_CR  LANG_SPANISH     SUBLANG_SPANISH_COSTA_RICA          "Spanish (Costa Rica)"
-wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC  es_DO  LANG_SPANISH     SUBLANG_SPANISH_DOMINICAN_REPUBLIC  "Spanish (Dominican republic)"
-wxLANGUAGE_SPANISH_ECUADOR             es_EC  LANG_SPANISH     SUBLANG_SPANISH_ECUADOR             "Spanish (Ecuador)"
-wxLANGUAGE_SPANISH_EL_SALVADOR         es_SV  LANG_SPANISH     SUBLANG_SPANISH_EL_SALVADOR         "Spanish (El Salvador)"
-wxLANGUAGE_SPANISH_GUATEMALA           es_GT  LANG_SPANISH     SUBLANG_SPANISH_GUATEMALA           "Spanish (Guatemala)"
-wxLANGUAGE_SPANISH_HONDURAS            es_HN  LANG_SPANISH     SUBLANG_SPANISH_HONDURAS            "Spanish (Honduras)"
-wxLANGUAGE_SPANISH_MEXICAN             es_MX  LANG_SPANISH     SUBLANG_SPANISH_MEXICAN             "Spanish (Mexican)"
-wxLANGUAGE_SPANISH_MODERN              es_ES  LANG_SPANISH     SUBLANG_SPANISH_MODERN              "Spanish (Modern)"
-wxLANGUAGE_SPANISH_NICARAGUA           es_NI  LANG_SPANISH     SUBLANG_SPANISH_NICARAGUA           "Spanish (Nicaragua)"
-wxLANGUAGE_SPANISH_PANAMA              es_PA  LANG_SPANISH     SUBLANG_SPANISH_PANAMA              "Spanish (Panama)"
-wxLANGUAGE_SPANISH_PARAGUAY            es_PY  LANG_SPANISH     SUBLANG_SPANISH_PARAGUAY            "Spanish (Paraguay)"
-wxLANGUAGE_SPANISH_PERU                es_PE  LANG_SPANISH     SUBLANG_SPANISH_PERU                "Spanish (Peru)"
-wxLANGUAGE_SPANISH_PUERTO_RICO         es_PR  LANG_SPANISH     SUBLANG_SPANISH_PUERTO_RICO         "Spanish (Puerto Rico)"
-wxLANGUAGE_SPANISH_URUGUAY             es_UY  LANG_SPANISH     SUBLANG_SPANISH_URUGUAY             "Spanish (Uruguay)"
-wxLANGUAGE_SPANISH_US                  es_US  -                -                                   "Spanish (U.S.)"
-wxLANGUAGE_SPANISH_VENEZUELA           es_VE  LANG_SPANISH     SUBLANG_SPANISH_VENEZUELA           "Spanish (Venezuela)"
-wxLANGUAGE_SUNDANESE                   su     -                -                                   "Sundanese"
-wxLANGUAGE_SWAHILI                     sw_KE  LANG_SWAHILI     SUBLANG_DEFAULT                     "Swahili"
-wxLANGUAGE_SWEDISH                     sv_SE  LANG_SWEDISH     SUBLANG_SWEDISH                     "Swedish"
-wxLANGUAGE_SWEDISH_FINLAND             sv_FI  LANG_SWEDISH     SUBLANG_SWEDISH_FINLAND             "Swedish (Finland)"
-wxLANGUAGE_TAGALOG                     tl_PH  -                -                                   "Tagalog"
-wxLANGUAGE_TAJIK                       tg     -                -                                   "Tajik"
-wxLANGUAGE_TAMIL                       ta     LANG_TAMIL       SUBLANG_DEFAULT                     "Tamil"
-wxLANGUAGE_TATAR                       tt     LANG_TATAR       SUBLANG_DEFAULT                     "Tatar"
-wxLANGUAGE_TELUGU                      te     LANG_TELUGU      SUBLANG_DEFAULT                     "Telugu"
-wxLANGUAGE_THAI                        th_TH  LANG_THAI        SUBLANG_DEFAULT                     "Thai"
-wxLANGUAGE_TIBETAN                     bo     -                -                                   "Tibetan"
-wxLANGUAGE_TIGRINYA                    ti     -                -                                   "Tigrinya"
-wxLANGUAGE_TONGA                       to     -                -                                   "Tonga"
-wxLANGUAGE_TSONGA                      ts     -                -                                   "Tsonga"
-wxLANGUAGE_TURKISH                     tr_TR  LANG_TURKISH     SUBLANG_DEFAULT                     "Turkish"
-wxLANGUAGE_TURKMEN                     tk     -                -                                   "Turkmen"
-wxLANGUAGE_TWI                         tw     -                -                                   "Twi"
-wxLANGUAGE_UIGHUR                      ug     -                -                                   "Uighur"
-wxLANGUAGE_UKRAINIAN                   uk_UA  LANG_UKRAINIAN   SUBLANG_DEFAULT                     "Ukrainian"
-wxLANGUAGE_URDU                        ur     LANG_URDU        SUBLANG_DEFAULT                     "Urdu"
-wxLANGUAGE_URDU_INDIA                  ur_IN  LANG_URDU        SUBLANG_URDU_INDIA                  "Urdu (India)"
-wxLANGUAGE_URDU_PAKISTAN               ur_PK  LANG_URDU        SUBLANG_URDU_PAKISTAN               "Urdu (Pakistan)"
-wxLANGUAGE_UZBEK                       uz     LANG_UZBEK       SUBLANG_DEFAULT                     "Uzbek"
-wxLANGUAGE_UZBEK_CYRILLIC              uz     LANG_UZBEK       SUBLANG_UZBEK_CYRILLIC              "Uzbek (Cyrillic)"
-wxLANGUAGE_UZBEK_LATIN                 uz     LANG_UZBEK       SUBLANG_UZBEK_LATIN                 "Uzbek (Latin)"
-wxLANGUAGE_VIETNAMESE                  vi_VN  LANG_VIETNAMESE  SUBLANG_DEFAULT                     "Vietnamese"
-wxLANGUAGE_VOLAPUK                     vo     -                -                                   "Volapuk"
-wxLANGUAGE_WELSH                       cy     -                -                                   "Welsh"
-wxLANGUAGE_WOLOF                       wo     -                -                                   "Wolof"
-wxLANGUAGE_XHOSA                       xh     -                -                                   "Xhosa"
-wxLANGUAGE_YIDDISH                     yi     -                -                                   "Yiddish"
-wxLANGUAGE_YORUBA                      yo     -                -                                   "Yoruba"
-wxLANGUAGE_ZHUANG                      za     -                -                                   "Zhuang"
-wxLANGUAGE_ZULU                        zu     -                -                                   "Zulu"
+wxLANGUAGE_ABKHAZIAN                   ab     -                -                                   LTR    "Abkhazian"
+wxLANGUAGE_AFAR                        aa     -                -                                   LTR    "Afar"
+wxLANGUAGE_AFRIKAANS                   af_ZA  LANG_AFRIKAANS   SUBLANG_DEFAULT                     LTR    "Afrikaans"
+wxLANGUAGE_ALBANIAN                    sq_AL  LANG_ALBANIAN    SUBLANG_DEFAULT                     LTR    "Albanian"
+wxLANGUAGE_AMHARIC                     am     -                -                                   LTR    "Amharic"
+wxLANGUAGE_ARABIC                      ar     LANG_ARABIC      SUBLANG_DEFAULT                     RTL     "Arabic"
+wxLANGUAGE_ARABIC_ALGERIA              ar_DZ  LANG_ARABIC      SUBLANG_ARABIC_ALGERIA              RTL     "Arabic (Algeria)"
+wxLANGUAGE_ARABIC_BAHRAIN              ar_BH  LANG_ARABIC      SUBLANG_ARABIC_BAHRAIN              RTL     "Arabic (Bahrain)"
+wxLANGUAGE_ARABIC_EGYPT                ar_EG  LANG_ARABIC      SUBLANG_ARABIC_EGYPT                RTL     "Arabic (Egypt)"
+wxLANGUAGE_ARABIC_IRAQ                 ar_IQ  LANG_ARABIC      SUBLANG_ARABIC_IRAQ                 RTL     "Arabic (Iraq)"
+wxLANGUAGE_ARABIC_JORDAN               ar_JO  LANG_ARABIC      SUBLANG_ARABIC_JORDAN               RTL     "Arabic (Jordan)"
+wxLANGUAGE_ARABIC_KUWAIT               ar_KW  LANG_ARABIC      SUBLANG_ARABIC_KUWAIT               RTL     "Arabic (Kuwait)"
+wxLANGUAGE_ARABIC_LEBANON              ar_LB  LANG_ARABIC      SUBLANG_ARABIC_LEBANON              RTL     "Arabic (Lebanon)"
+wxLANGUAGE_ARABIC_LIBYA                ar_LY  LANG_ARABIC      SUBLANG_ARABIC_LIBYA                RTL     "Arabic (Libya)"
+wxLANGUAGE_ARABIC_MOROCCO              ar_MA  LANG_ARABIC      SUBLANG_ARABIC_MOROCCO              RTL     "Arabic (Morocco)"
+wxLANGUAGE_ARABIC_OMAN                 ar_OM  LANG_ARABIC      SUBLANG_ARABIC_OMAN                 RTL     "Arabic (Oman)"
+wxLANGUAGE_ARABIC_QATAR                ar_QA  LANG_ARABIC      SUBLANG_ARABIC_QATAR                RTL     "Arabic (Qatar)"
+wxLANGUAGE_ARABIC_SAUDI_ARABIA         ar_SA  LANG_ARABIC      SUBLANG_ARABIC_SAUDI_ARABIA         RTL     "Arabic (Saudi Arabia)"
+wxLANGUAGE_ARABIC_SUDAN                ar_SD  -                -                                   RTL     "Arabic (Sudan)"
+wxLANGUAGE_ARABIC_SYRIA                ar_SY  LANG_ARABIC      SUBLANG_ARABIC_SYRIA                RTL     "Arabic (Syria)"
+wxLANGUAGE_ARABIC_TUNISIA              ar_TN  LANG_ARABIC      SUBLANG_ARABIC_TUNISIA              RTL     "Arabic (Tunisia)"
+wxLANGUAGE_ARABIC_UAE                  ar_AE  LANG_ARABIC      SUBLANG_ARABIC_UAE                  RTL     "Arabic (Uae)"
+wxLANGUAGE_ARABIC_YEMEN                ar_YE  LANG_ARABIC      SUBLANG_ARABIC_YEMEN                RTL     "Arabic (Yemen)"
+wxLANGUAGE_ARMENIAN                    hy     LANG_ARMENIAN    SUBLANG_DEFAULT                     LTR    "Armenian"
+wxLANGUAGE_ASSAMESE                    as     LANG_ASSAMESE    SUBLANG_DEFAULT                     LTR    "Assamese"
+wxLANGUAGE_AYMARA                      ay     -                -                                   LTR    "Aymara"
+wxLANGUAGE_AZERI                       az     LANG_AZERI       SUBLANG_DEFAULT                     LTR    "Azeri"
+wxLANGUAGE_AZERI_CYRILLIC              az     LANG_AZERI       SUBLANG_AZERI_CYRILLIC              LTR    "Azeri (Cyrillic)"
+wxLANGUAGE_AZERI_LATIN                 az     LANG_AZERI       SUBLANG_AZERI_LATIN                 LTR    "Azeri (Latin)"
+wxLANGUAGE_BASHKIR                     ba     -                -                                   LTR    "Bashkir"
+wxLANGUAGE_BASQUE                      eu_ES  LANG_BASQUE      SUBLANG_DEFAULT                     LTR    "Basque"
+wxLANGUAGE_BELARUSIAN                  be_BY  LANG_BELARUSIAN  SUBLANG_DEFAULT                     LTR    "Belarusian"
+wxLANGUAGE_BENGALI                     bn     LANG_BENGALI     SUBLANG_DEFAULT                     LTR    "Bengali"
+wxLANGUAGE_BHUTANI                     dz     -                -                                   LTR    "Bhutani"
+wxLANGUAGE_BIHARI                      bh     -                -                                   LTR    "Bihari"
+wxLANGUAGE_BISLAMA                     bi     -                -                                   LTR    "Bislama"
+wxLANGUAGE_BRETON                      br     -                -                                   LTR    "Breton"
+wxLANGUAGE_BULGARIAN                   bg_BG  LANG_BULGARIAN   SUBLANG_DEFAULT                     LTR    "Bulgarian"
+wxLANGUAGE_BURMESE                     my     -                -                                   LTR    "Burmese"
+wxLANGUAGE_CAMBODIAN                   km     -                -                                   LTR    "Cambodian"
+wxLANGUAGE_CATALAN                     ca_ES  LANG_CATALAN     SUBLANG_DEFAULT                     LTR    "Catalan"
+wxLANGUAGE_CHINESE                     zh_TW  LANG_CHINESE     SUBLANG_DEFAULT                     LTR    "Chinese"
+wxLANGUAGE_CHINESE_SIMPLIFIED          zh_CN  LANG_CHINESE     SUBLANG_CHINESE_SIMPLIFIED          LTR    "Chinese (Simplified)"
+wxLANGUAGE_CHINESE_TRADITIONAL         zh_TW  LANG_CHINESE     SUBLANG_CHINESE_TRADITIONAL         LTR    "Chinese (Traditional)"
+wxLANGUAGE_CHINESE_HONGKONG            zh_HK  LANG_CHINESE     SUBLANG_CHINESE_HONGKONG            LTR    "Chinese (Hongkong)"
+wxLANGUAGE_CHINESE_MACAU               zh_MO  LANG_CHINESE     SUBLANG_CHINESE_MACAU               LTR    "Chinese (Macau)"
+wxLANGUAGE_CHINESE_SINGAPORE           zh_SG  LANG_CHINESE     SUBLANG_CHINESE_SINGAPORE           LTR    "Chinese (Singapore)"
+wxLANGUAGE_CHINESE_TAIWAN              zh_TW  LANG_CHINESE     SUBLANG_CHINESE_TRADITIONAL         LTR    "Chinese (Taiwan)"
+wxLANGUAGE_CORSICAN                    co     -                -                                   LTR    "Corsican"
+wxLANGUAGE_CROATIAN                    hr_HR  LANG_CROATIAN    SUBLANG_DEFAULT                     LTR    "Croatian"
+wxLANGUAGE_CZECH                       cs_CZ  LANG_CZECH       SUBLANG_DEFAULT                     LTR    "Czech"
+wxLANGUAGE_DANISH                      da_DK  LANG_DANISH      SUBLANG_DEFAULT                     LTR    "Danish"
+wxLANGUAGE_DUTCH                       nl_NL  LANG_DUTCH       SUBLANG_DUTCH                       LTR    "Dutch"
+wxLANGUAGE_DUTCH_BELGIAN               nl_BE  LANG_DUTCH       SUBLANG_DUTCH_BELGIAN               LTR    "Dutch (Belgian)"
+wxLANGUAGE_ENGLISH                     en_GB  LANG_ENGLISH     SUBLANG_ENGLISH_UK                  LTR    "English"
+wxLANGUAGE_ENGLISH_UK                  en_GB  LANG_ENGLISH     SUBLANG_ENGLISH_UK                  LTR    "English (U.K.)"
+wxLANGUAGE_ENGLISH_US                  en_US  LANG_ENGLISH     SUBLANG_ENGLISH_US                  LTR    "English (U.S.)"
+wxLANGUAGE_ENGLISH_AUSTRALIA           en_AU  LANG_ENGLISH     SUBLANG_ENGLISH_AUS                 LTR    "English (Australia)"
+wxLANGUAGE_ENGLISH_BELIZE              en_BZ  LANG_ENGLISH     SUBLANG_ENGLISH_BELIZE              LTR    "English (Belize)"
+wxLANGUAGE_ENGLISH_BOTSWANA            en_BW  -                -                                   LTR    "English (Botswana)"
+wxLANGUAGE_ENGLISH_CANADA              en_CA  LANG_ENGLISH     SUBLANG_ENGLISH_CAN                 LTR    "English (Canada)"
+wxLANGUAGE_ENGLISH_CARIBBEAN           en_CB  LANG_ENGLISH     SUBLANG_ENGLISH_CARIBBEAN           LTR    "English (Caribbean)"
+wxLANGUAGE_ENGLISH_DENMARK             en_DK  -                -                                   LTR    "English (Denmark)"
+wxLANGUAGE_ENGLISH_EIRE                en_IE  LANG_ENGLISH     SUBLANG_ENGLISH_EIRE                LTR    "English (Eire)"
+wxLANGUAGE_ENGLISH_JAMAICA             en_JM  LANG_ENGLISH     SUBLANG_ENGLISH_JAMAICA             LTR    "English (Jamaica)"
+wxLANGUAGE_ENGLISH_NEW_ZEALAND         en_NZ  LANG_ENGLISH     SUBLANG_ENGLISH_NZ                  LTR    "English (New Zealand)"
+wxLANGUAGE_ENGLISH_PHILIPPINES         en_PH  LANG_ENGLISH     SUBLANG_ENGLISH_PHILIPPINES         LTR    "English (Philippines)"
+wxLANGUAGE_ENGLISH_SOUTH_AFRICA        en_ZA  LANG_ENGLISH     SUBLANG_ENGLISH_SOUTH_AFRICA        LTR    "English (South Africa)"
+wxLANGUAGE_ENGLISH_TRINIDAD            en_TT  LANG_ENGLISH     SUBLANG_ENGLISH_TRINIDAD            LTR    "English (Trinidad)"
+wxLANGUAGE_ENGLISH_ZIMBABWE            en_ZW  LANG_ENGLISH     SUBLANG_ENGLISH_ZIMBABWE            LTR    "English (Zimbabwe)"
+wxLANGUAGE_ESPERANTO                   eo     -                -                                   LTR    "Esperanto"
+wxLANGUAGE_ESTONIAN                    et_EE  LANG_ESTONIAN    SUBLANG_DEFAULT                     LTR    "Estonian"
+wxLANGUAGE_FAEROESE                    fo_FO  LANG_FAEROESE    SUBLANG_DEFAULT                     LTR    "Faeroese"
+wxLANGUAGE_FARSI                       fa_IR  LANG_FARSI       SUBLANG_DEFAULT                     LTR    "Farsi"
+wxLANGUAGE_FIJI                        fj     -                -                                   LTR    "Fiji"
+wxLANGUAGE_FINNISH                     fi_FI  LANG_FINNISH     SUBLANG_DEFAULT                     LTR    "Finnish"
+wxLANGUAGE_FRENCH                      fr_FR  LANG_FRENCH      SUBLANG_FRENCH                      LTR    "French"
+wxLANGUAGE_FRENCH_BELGIAN              fr_BE  LANG_FRENCH      SUBLANG_FRENCH_BELGIAN              LTR    "French (Belgian)"
+wxLANGUAGE_FRENCH_CANADIAN             fr_CA  LANG_FRENCH      SUBLANG_FRENCH_CANADIAN             LTR    "French (Canadian)"
+wxLANGUAGE_FRENCH_LUXEMBOURG           fr_LU  LANG_FRENCH      SUBLANG_FRENCH_LUXEMBOURG           LTR    "French (Luxembourg)"
+wxLANGUAGE_FRENCH_MONACO               fr_MC  LANG_FRENCH      SUBLANG_FRENCH_MONACO               LTR    "French (Monaco)"
+wxLANGUAGE_FRENCH_SWISS                fr_CH  LANG_FRENCH      SUBLANG_FRENCH_SWISS                LTR    "French (Swiss)"
+wxLANGUAGE_FRISIAN                     fy     -                -                                   LTR    "Frisian"
+wxLANGUAGE_GALICIAN                    gl_ES  -                -                                   LTR    "Galician"
+wxLANGUAGE_GEORGIAN                    ka     LANG_GEORGIAN    SUBLANG_DEFAULT                     LTR    "Georgian"
+wxLANGUAGE_GERMAN                      de_DE  LANG_GERMAN      SUBLANG_GERMAN                      LTR    "German"
+wxLANGUAGE_GERMAN_AUSTRIAN             de_AT  LANG_GERMAN      SUBLANG_GERMAN_AUSTRIAN             LTR    "German (Austrian)"
+wxLANGUAGE_GERMAN_BELGIUM              de_BE  -                -                                   LTR    "German (Belgium)"
+wxLANGUAGE_GERMAN_LIECHTENSTEIN        de_LI  LANG_GERMAN      SUBLANG_GERMAN_LIECHTENSTEIN        LTR    "German (Liechtenstein)"
+wxLANGUAGE_GERMAN_LUXEMBOURG           de_LU  LANG_GERMAN      SUBLANG_GERMAN_LUXEMBOURG           LTR    "German (Luxembourg)"
+wxLANGUAGE_GERMAN_SWISS                de_CH  LANG_GERMAN      SUBLANG_GERMAN_SWISS                LTR    "German (Swiss)"
+wxLANGUAGE_GREEK                       el_GR  LANG_GREEK       SUBLANG_DEFAULT                     LTR    "Greek"
+wxLANGUAGE_GREENLANDIC                 kl_GL  -                -                                   LTR    "Greenlandic"
+wxLANGUAGE_GUARANI                     gn     -                -                                   LTR    "Guarani"
+wxLANGUAGE_GUJARATI                    gu     LANG_GUJARATI    SUBLANG_DEFAULT                     LTR    "Gujarati"
+wxLANGUAGE_HAUSA                       ha     -                -                                   LTR    "Hausa"
+wxLANGUAGE_HEBREW                      he_IL  LANG_HEBREW      SUBLANG_DEFAULT                     RTL     "Hebrew"
+wxLANGUAGE_HINDI                       hi_IN  LANG_HINDI       SUBLANG_DEFAULT                     LTR    "Hindi"
+wxLANGUAGE_HUNGARIAN                   hu_HU  LANG_HUNGARIAN   SUBLANG_DEFAULT                     LTR    "Hungarian"
+wxLANGUAGE_ICELANDIC                   is_IS  LANG_ICELANDIC   SUBLANG_DEFAULT                     LTR    "Icelandic"
+wxLANGUAGE_INDONESIAN                  id_ID  LANG_INDONESIAN  SUBLANG_DEFAULT                     LTR    "Indonesian"
+wxLANGUAGE_INTERLINGUA                 ia     -                -                                   LTR    "Interlingua"
+wxLANGUAGE_INTERLINGUE                 ie     -                -                                   LTR    "Interlingue"
+wxLANGUAGE_INUKTITUT                   iu     -                -                                   LTR    "Inuktitut"
+wxLANGUAGE_INUPIAK                     ik     -                -                                   LTR    "Inupiak"
+wxLANGUAGE_IRISH                       ga_IE  -                -                                   LTR    "Irish"
+wxLANGUAGE_ITALIAN                     it_IT  LANG_ITALIAN     SUBLANG_ITALIAN                     LTR    "Italian"
+wxLANGUAGE_ITALIAN_SWISS               it_CH  LANG_ITALIAN     SUBLANG_ITALIAN_SWISS               LTR    "Italian (Swiss)"
+wxLANGUAGE_JAPANESE                    ja_JP  LANG_JAPANESE    SUBLANG_DEFAULT                     LTR    "Japanese"
+wxLANGUAGE_JAVANESE                    jw     -                -                                   LTR    "Javanese"
+wxLANGUAGE_KANNADA                     kn     LANG_KANNADA     SUBLANG_DEFAULT                     LTR    "Kannada"
+wxLANGUAGE_KASHMIRI                    ks     LANG_KASHMIRI    SUBLANG_DEFAULT                     LTR    "Kashmiri"
+wxLANGUAGE_KASHMIRI_INDIA              ks_IN  LANG_KASHMIRI    SUBLANG_KASHMIRI_INDIA              LTR    "Kashmiri (India)"
+wxLANGUAGE_KAZAKH                      kk     LANG_KAZAK       SUBLANG_DEFAULT                     LTR    "Kazakh"
+wxLANGUAGE_KERNEWEK                    kw_GB  -                -                                   LTR    "Kernewek"
+wxLANGUAGE_KINYARWANDA                 rw     -                -                                   LTR    "Kinyarwanda"
+wxLANGUAGE_KIRGHIZ                     ky     -                -                                   LTR    "Kirghiz"
+wxLANGUAGE_KIRUNDI                     rn     -                -                                   LTR    "Kirundi"
+wxLANGUAGE_KONKANI                     -      LANG_KONKANI     SUBLANG_DEFAULT                     LTR    "Konkani"
+wxLANGUAGE_KOREAN                      ko_KR  LANG_KOREAN      SUBLANG_KOREAN                      LTR    "Korean"
+wxLANGUAGE_KURDISH                     ku     -                -                                   LTR    "Kurdish"
+wxLANGUAGE_LAOTHIAN                    lo     -                -                                   LTR    "Laothian"
+wxLANGUAGE_LATIN                       la     -                -                                   LTR    "Latin"
+wxLANGUAGE_LATVIAN                     lv_LV  LANG_LATVIAN     SUBLANG_DEFAULT                     LTR    "Latvian"
+wxLANGUAGE_LINGALA                     ln     -                -                                   LTR    "Lingala"
+wxLANGUAGE_LITHUANIAN                  lt_LT  LANG_LITHUANIAN  SUBLANG_LITHUANIAN                  LTR    "Lithuanian"
+wxLANGUAGE_MACEDONIAN                  mk_MK  LANG_MACEDONIAN  SUBLANG_DEFAULT                     LTR    "Macedonian"
+wxLANGUAGE_MALAGASY                    mg     -                -                                   LTR    "Malagasy"
+wxLANGUAGE_MALAY                       ms_MY  LANG_MALAY       SUBLANG_DEFAULT                     LTR    "Malay"
+wxLANGUAGE_MALAYALAM                   ml     LANG_MALAYALAM   SUBLANG_DEFAULT                     LTR    "Malayalam"
+wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM     ms_BN  LANG_MALAY       SUBLANG_MALAY_BRUNEI_DARUSSALAM     LTR    "Malay (Brunei Darussalam)"
+wxLANGUAGE_MALAY_MALAYSIA              ms_MY  LANG_MALAY       SUBLANG_MALAY_MALAYSIA              LTR    "Malay (Malaysia)"
+wxLANGUAGE_MALTESE                     mt_MT  -                -                                   LTR    "Maltese"
+wxLANGUAGE_MANIPURI                    -      LANG_MANIPURI    SUBLANG_DEFAULT                     LTR    "Manipuri"
+wxLANGUAGE_MAORI                       mi     -                -                                   LTR    "Maori"
+wxLANGUAGE_MARATHI                     mr_IN  LANG_MARATHI     SUBLANG_DEFAULT                     LTR    "Marathi"
+wxLANGUAGE_MOLDAVIAN                   mo     -                -                                   LTR    "Moldavian"
+wxLANGUAGE_MONGOLIAN                   mn     -                -                                   LTR    "Mongolian"
+wxLANGUAGE_NAURU                       na     -                -                                   LTR    "Nauru"
+wxLANGUAGE_NEPALI                      ne     LANG_NEPALI      SUBLANG_DEFAULT                     LTR    "Nepali"
+wxLANGUAGE_NEPALI_INDIA                ne_IN  LANG_NEPALI      SUBLANG_NEPALI_INDIA                LTR    "Nepali (India)"
+wxLANGUAGE_NORWEGIAN_BOKMAL            nb_NO  LANG_NORWEGIAN   SUBLANG_NORWEGIAN_BOKMAL            LTR    "Norwegian (Bokmal)"
+wxLANGUAGE_NORWEGIAN_NYNORSK           nn_NO  LANG_NORWEGIAN   SUBLANG_NORWEGIAN_NYNORSK           LTR    "Norwegian (Nynorsk)"
+wxLANGUAGE_OCCITAN                     oc     -                -                                   LTR    "Occitan"
+wxLANGUAGE_ORIYA                       or     LANG_ORIYA       SUBLANG_DEFAULT                     LTR    "Oriya"
+wxLANGUAGE_OROMO                       om     -                -                                   LTR    "(Afan) Oromo"
+wxLANGUAGE_PASHTO                      ps     -                -                                   LTR    "Pashto, Pushto"
+wxLANGUAGE_POLISH                      pl_PL  LANG_POLISH      SUBLANG_DEFAULT                     LTR    "Polish"
+wxLANGUAGE_PORTUGUESE                  pt_PT  LANG_PORTUGUESE  SUBLANG_PORTUGUESE                  LTR    "Portuguese"
+wxLANGUAGE_PORTUGUESE_BRAZILIAN        pt_BR  LANG_PORTUGUESE  SUBLANG_PORTUGUESE_BRAZILIAN        LTR    "Portuguese (Brazilian)"
+wxLANGUAGE_PUNJABI                     pa     LANG_PUNJABI     SUBLANG_DEFAULT                     LTR    "Punjabi"
+wxLANGUAGE_QUECHUA                     qu     -                -                                   LTR    "Quechua"
+wxLANGUAGE_RHAETO_ROMANCE              rm     -                -                                   LTR    "Rhaeto-Romance"
+wxLANGUAGE_ROMANIAN                    ro_RO  LANG_ROMANIAN    SUBLANG_DEFAULT                     LTR    "Romanian"
+wxLANGUAGE_RUSSIAN                     ru_RU  LANG_RUSSIAN     SUBLANG_DEFAULT                     LTR    "Russian"
+wxLANGUAGE_RUSSIAN_UKRAINE             ru_UA  -                -                                   LTR    "Russian (Ukraine)"
+wxLANGUAGE_SAMOAN                      sm     -                -                                   LTR    "Samoan"
+wxLANGUAGE_SANGHO                      sg     -                -                                   LTR    "Sangho"
+wxLANGUAGE_SANSKRIT                    sa     LANG_SANSKRIT    SUBLANG_DEFAULT                     LTR    "Sanskrit"
+wxLANGUAGE_SCOTS_GAELIC                gd     -                -                                   LTR    "Scots Gaelic"
+wxLANGUAGE_SERBIAN_CYRILLIC            sr_YU  LANG_SERBIAN     SUBLANG_SERBIAN_CYRILLIC            LTR    "Serbian (Cyrillic)"
+wxLANGUAGE_SERBIAN_LATIN               sr_YU  LANG_SERBIAN     SUBLANG_SERBIAN_LATIN               LTR    "Serbian (Latin)"
+wxLANGUAGE_SERBO_CROATIAN              sh     -                -                                   LTR    "Serbo-Croatian"
+wxLANGUAGE_SESOTHO                     st     -                -                                   LTR    "Sesotho"
+wxLANGUAGE_SETSWANA                    tn     -                -                                   LTR    "Setswana"
+wxLANGUAGE_SHONA                       sn     -                -                                   LTR    "Shona"
+wxLANGUAGE_SINDHI                      sd     LANG_SINDHI      SUBLANG_DEFAULT                     LTR    "Sindhi"
+wxLANGUAGE_SINHALESE                   si     -                -                                   LTR    "Sinhalese"
+wxLANGUAGE_SISWATI                     ss     -                -                                   LTR    "Siswati"
+wxLANGUAGE_SLOVAK                      sk_SK  LANG_SLOVAK      SUBLANG_DEFAULT                     LTR    "Slovak"
+wxLANGUAGE_SLOVENIAN                   sl_SI  LANG_SLOVENIAN   SUBLANG_DEFAULT                     LTR    "Slovenian"
+wxLANGUAGE_SOMALI                      so     -                -                                   LTR    "Somali"
+wxLANGUAGE_SPANISH                     es_ES  LANG_SPANISH     SUBLANG_SPANISH                     LTR    "Spanish"
+wxLANGUAGE_SPANISH_ARGENTINA           es_AR  LANG_SPANISH     SUBLANG_SPANISH_ARGENTINA           LTR    "Spanish (Argentina)"
+wxLANGUAGE_SPANISH_BOLIVIA             es_BO  LANG_SPANISH     SUBLANG_SPANISH_BOLIVIA             LTR    "Spanish (Bolivia)"
+wxLANGUAGE_SPANISH_CHILE               es_CL  LANG_SPANISH     SUBLANG_SPANISH_CHILE               LTR    "Spanish (Chile)"
+wxLANGUAGE_SPANISH_COLOMBIA            es_CO  LANG_SPANISH     SUBLANG_SPANISH_COLOMBIA            LTR    "Spanish (Colombia)"
+wxLANGUAGE_SPANISH_COSTA_RICA          es_CR  LANG_SPANISH     SUBLANG_SPANISH_COSTA_RICA          LTR    "Spanish (Costa Rica)"
+wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC  es_DO  LANG_SPANISH     SUBLANG_SPANISH_DOMINICAN_REPUBLIC  LTR    "Spanish (Dominican republic)"
+wxLANGUAGE_SPANISH_ECUADOR             es_EC  LANG_SPANISH     SUBLANG_SPANISH_ECUADOR             LTR    "Spanish (Ecuador)"
+wxLANGUAGE_SPANISH_EL_SALVADOR         es_SV  LANG_SPANISH     SUBLANG_SPANISH_EL_SALVADOR         LTR    "Spanish (El Salvador)"
+wxLANGUAGE_SPANISH_GUATEMALA           es_GT  LANG_SPANISH     SUBLANG_SPANISH_GUATEMALA           LTR    "Spanish (Guatemala)"
+wxLANGUAGE_SPANISH_HONDURAS            es_HN  LANG_SPANISH     SUBLANG_SPANISH_HONDURAS            LTR    "Spanish (Honduras)"
+wxLANGUAGE_SPANISH_MEXICAN             es_MX  LANG_SPANISH     SUBLANG_SPANISH_MEXICAN             LTR    "Spanish (Mexican)"
+wxLANGUAGE_SPANISH_MODERN              es_ES  LANG_SPANISH     SUBLANG_SPANISH_MODERN              LTR    "Spanish (Modern)"
+wxLANGUAGE_SPANISH_NICARAGUA           es_NI  LANG_SPANISH     SUBLANG_SPANISH_NICARAGUA           LTR    "Spanish (Nicaragua)"
+wxLANGUAGE_SPANISH_PANAMA              es_PA  LANG_SPANISH     SUBLANG_SPANISH_PANAMA              LTR    "Spanish (Panama)"
+wxLANGUAGE_SPANISH_PARAGUAY            es_PY  LANG_SPANISH     SUBLANG_SPANISH_PARAGUAY            LTR    "Spanish (Paraguay)"
+wxLANGUAGE_SPANISH_PERU                es_PE  LANG_SPANISH     SUBLANG_SPANISH_PERU                LTR    "Spanish (Peru)"
+wxLANGUAGE_SPANISH_PUERTO_RICO         es_PR  LANG_SPANISH     SUBLANG_SPANISH_PUERTO_RICO         LTR    "Spanish (Puerto Rico)"
+wxLANGUAGE_SPANISH_URUGUAY             es_UY  LANG_SPANISH     SUBLANG_SPANISH_URUGUAY             LTR    "Spanish (Uruguay)"
+wxLANGUAGE_SPANISH_US                  es_US  -                -                                   LTR    "Spanish (U.S.)"
+wxLANGUAGE_SPANISH_VENEZUELA           es_VE  LANG_SPANISH     SUBLANG_SPANISH_VENEZUELA           LTR    "Spanish (Venezuela)"
+wxLANGUAGE_SUNDANESE                   su     -                -                                   LTR    "Sundanese"
+wxLANGUAGE_SWAHILI                     sw_KE  LANG_SWAHILI     SUBLANG_DEFAULT                     LTR    "Swahili"
+wxLANGUAGE_SWEDISH                     sv_SE  LANG_SWEDISH     SUBLANG_SWEDISH                     LTR    "Swedish"
+wxLANGUAGE_SWEDISH_FINLAND             sv_FI  LANG_SWEDISH     SUBLANG_SWEDISH_FINLAND             LTR    "Swedish (Finland)"
+wxLANGUAGE_TAGALOG                     tl_PH  -                -                                   LTR    "Tagalog"
+wxLANGUAGE_TAJIK                       tg     -                -                                   LTR    "Tajik"
+wxLANGUAGE_TAMIL                       ta     LANG_TAMIL       SUBLANG_DEFAULT                     LTR    "Tamil"
+wxLANGUAGE_TATAR                       tt     LANG_TATAR       SUBLANG_DEFAULT                     LTR    "Tatar"
+wxLANGUAGE_TELUGU                      te     LANG_TELUGU      SUBLANG_DEFAULT                     LTR    "Telugu"
+wxLANGUAGE_THAI                        th_TH  LANG_THAI        SUBLANG_DEFAULT                     LTR    "Thai"
+wxLANGUAGE_TIBETAN                     bo     -                -                                   LTR    "Tibetan"
+wxLANGUAGE_TIGRINYA                    ti     -                -                                   LTR    "Tigrinya"
+wxLANGUAGE_TONGA                       to     -                -                                   LTR    "Tonga"
+wxLANGUAGE_TSONGA                      ts     -                -                                   LTR    "Tsonga"
+wxLANGUAGE_TURKISH                     tr_TR  LANG_TURKISH     SUBLANG_DEFAULT                     LTR    "Turkish"
+wxLANGUAGE_TURKMEN                     tk     -                -                                   LTR    "Turkmen"
+wxLANGUAGE_TWI                         tw     -                -                                   LTR    "Twi"
+wxLANGUAGE_UIGHUR                      ug     -                -                                   LTR    "Uighur"
+wxLANGUAGE_UKRAINIAN                   uk_UA  LANG_UKRAINIAN   SUBLANG_DEFAULT                     LTR    "Ukrainian"
+wxLANGUAGE_URDU                        ur     LANG_URDU        SUBLANG_DEFAULT                     LTR    "Urdu"
+wxLANGUAGE_URDU_INDIA                  ur_IN  LANG_URDU        SUBLANG_URDU_INDIA                  LTR    "Urdu (India)"
+wxLANGUAGE_URDU_PAKISTAN               ur_PK  LANG_URDU        SUBLANG_URDU_PAKISTAN               LTR    "Urdu (Pakistan)"
+wxLANGUAGE_UZBEK                       uz     LANG_UZBEK       SUBLANG_DEFAULT                     LTR    "Uzbek"
+wxLANGUAGE_UZBEK_CYRILLIC              uz     LANG_UZBEK       SUBLANG_UZBEK_CYRILLIC              LTR    "Uzbek (Cyrillic)"
+wxLANGUAGE_UZBEK_LATIN                 uz     LANG_UZBEK       SUBLANG_UZBEK_LATIN                 LTR    "Uzbek (Latin)"
+wxLANGUAGE_VIETNAMESE                  vi_VN  LANG_VIETNAMESE  SUBLANG_DEFAULT                     LTR    "Vietnamese"
+wxLANGUAGE_VOLAPUK                     vo     -                -                                   LTR    "Volapuk"
+wxLANGUAGE_WELSH                       cy     -                -                                   LTR    "Welsh"
+wxLANGUAGE_WOLOF                       wo     -                -                                   LTR    "Wolof"
+wxLANGUAGE_XHOSA                       xh     -                -                                   LTR    "Xhosa"
+wxLANGUAGE_YIDDISH                     yi     -                -                                   LTR    "Yiddish"
+wxLANGUAGE_YORUBA                      yo     -                -                                   LTR    "Yoruba"
+wxLANGUAGE_ZHUANG                      za     -                -                                   LTR    "Zhuang"
+wxLANGUAGE_ZULU                        zu     -                -                                   LTR    "Zulu"
diff --git a/samples/internat/ar/internat.mo b/samples/internat/ar/internat.mo
new file mode 100755 (executable)
index 0000000..1beced9
Binary files /dev/null and b/samples/internat/ar/internat.mo differ
diff --git a/samples/internat/ar/internat.po b/samples/internat/ar/internat.po
new file mode 100755 (executable)
index 0000000..74a4646
--- /dev/null
@@ -0,0 +1,160 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Internationalization wxWidgets sample\n"
+"PO-Revision-Date: 2006-08-11 21:20+0200\n"
+"Last-Translator: Diaa Sami <diaasami@yahoo.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100 >= 11 && n%100 <= 99) ? 3 : n==2 ? 1 : (n >= 3 && n <= 10 ? 2 : 0);\n"
+"X-Poedit-Language: Arabic\n"
+"POT-Creation-Date: \n"
+
+#: ../internat.cpp:200
+msgid "&About..."
+msgstr "&عن البرنامج..."
+
+#: ../internat.cpp:202
+msgid "E&xit"
+msgstr "&خروج"
+
+#: ../internat.cpp:205
+msgid "&Open bogus file"
+msgstr "افتح &ملف غير موجود"
+
+#: ../internat.cpp:206
+msgid "&Play a game"
+msgstr "العب لعبة"
+
+#: ../internat.cpp:208
+msgid "&1 _() (gettext)"
+msgstr "&1 ‎_() (gettext)‎"
+
+#: ../internat.cpp:209
+msgid "&2 _N() (ngettext)"
+msgstr "&2 ‎_N() (ngettext)‎"
+
+#: ../internat.cpp:210
+msgid "&3 wxTRANSLATE() (gettext_noop)"
+msgstr "&3 wxTRANSLATE() (gettext_noop)‎"
+
+#: ../internat.cpp:213
+msgid "&File"
+msgstr "&ملف"
+
+#: ../internat.cpp:214
+msgid "&Test"
+msgstr "&اختبار"
+
+#: ../internat.cpp:232
+msgid "International wxWidgets App"
+msgstr "‎تطبيق wxWidgets الدولي"
+
+#: ../internat.cpp:252
+msgid ""
+"Language: %s\n"
+"System locale name:\n"
+"%s\n"
+"Canonical locale name: %s\n"
+msgstr ""
+"اللغة: %s\n"
+"اسم المحل الخاص بالنظام: %s\n"
+"اسم المحل الرسمي: %s\n"
+
+#: ../internat.cpp:258
+msgid ""
+"I18n sample\n"
+"(c) 1998, 1999 Vadim Zeitlin and Julian Smart"
+msgstr ""
+"نموذج I18n\n"
+"‪(c) 1998, 1999 Vadim Zeitlin i Julian Smart"
+
+#: ../internat.cpp:261
+msgid "About Internat"
+msgstr "عن Internat"
+
+#: ../internat.cpp:270
+msgid "Enter your number:"
+msgstr "ادخل رقما"
+
+#: ../internat.cpp:271
+msgid "Try to guess my number!"
+msgstr "حاول ان تحزر رقما"
+
+#: ../internat.cpp:285
+msgid "You've probably entered an invalid number."
+msgstr "لقد ادخلت رقما خاطئا"
+
+#: ../internat.cpp:299
+msgid "Congratulations! you've won. Here is the magic phrase:"
+msgstr "تهانينا! لقد ربحت. الجملة السحرية هي:"
+
+#: ../internat.cpp:300
+#, c-format
+msgid "cannot create fifo `%s'"
+msgstr "لم يمكن خلق fifo `%s'‎"
+
+#: ../internat.cpp:311
+msgid "Result"
+msgstr "النتيجة"
+
+#: ../internat.cpp:323
+msgid "Testing _() (gettext)"
+msgstr "اختبار ‎_() (gettext)‎"
+
+#: ../internat.cpp:324
+msgid "Please enter text to translate"
+msgstr "من فضلك ادخل جملة لتتم ترجمتها"
+
+#: ../internat.cpp:338
+msgid "Testing _N() (ngettext)"
+msgstr "اختبار ‎_N() (ngettext)‎"
+
+#: ../internat.cpp:340
+msgid "Please enter range for plural forms of \"n files deleted\" phrase"
+msgstr "من فضلك ادخل مدي رقميا لصيغ الجمع لجملة \"س ملفات محذوفة\""
+
+#: ../internat.cpp:366
+msgid "Testing wxTRANSLATE() (gettext_noop)"
+msgstr "اختبار wxTRANSLATE() (gettext_noop)‎"
+
+#: ../internat.cpp:310
+msgid "Bad luck! try again..."
+msgstr "حظ سيئ، حاول مرة اخرى"
+
+#: ../internat.cpp:327
+msgid "default value"
+msgstr "القيمة الافتراضية"
+
+#: ../internat.cpp:364
+msgid "line 1"
+msgstr "السطر 1"
+
+#: ../internat.cpp:365
+msgid "line 2"
+msgstr "السطر 2"
+
+#: ../internat.cpp:366
+msgid "line 3"
+msgstr "السطر 3"
+
+# Four plural forms in arabic:
+# 1st: anything that doesn't fit below (like 0 1 100 1000 2000 3000 ...)
+# 2nd: 2
+# 3rd: 3-10
+# 4th: ends with 11-99(like 11, 125, 1055, etc ...)
+
+#: ../internat.cpp:353
+msgid "file deleted"
+msgid_plural "files deleted"
+msgstr[0] "ملف محذوف"
+msgstr[1] "ملفين محذوف"
+msgstr[2] "ملفات محذوف"
+msgstr[3] "ملفاً محذوفاً"
+
index d94ce65b82347cf5fec1079ab89f50605ec92bf5..1ffb60b67cec4fd97030a72193963cce31e8f047 100644 (file)
@@ -16,6 +16,7 @@
         <files>internat.po internat.mo</files>
     </template>
 
+    <wx-data id="ar" template="catalog"/>
     <wx-data id="bg" template="catalog"/>
     <wx-data id="cs" template="catalog"/>
     <wx-data id="de" template="catalog"/>
index 661a990669a8b909150b3568d665efe12bfe57ec..089ed4b3d074b00754aa2c809b42d3246aff18e0 100644 (file)
@@ -102,7 +102,9 @@ static const wxLanguage langIds[] =
 #if wxUSE_UNICODE
     wxLANGUAGE_GEORGIAN,
     wxLANGUAGE_ENGLISH,
-    wxLANGUAGE_ENGLISH_US
+    wxLANGUAGE_ENGLISH_US,
+    wxLANGUAGE_ARABIC,
+    wxLANGUAGE_ARABIC_EGYPT
 #endif
 };
 
@@ -124,7 +126,9 @@ const wxString langNames[] =
 #if wxUSE_UNICODE
     _T("Georgian"),
     _T("English"),
-    _T("English (U.S.)")
+    _T("English (U.S.)"),
+    _T("Arabic"),
+    _T("Arabic (Egypt)")
 #endif
 };
 
@@ -253,7 +257,13 @@ MyFrame::MyFrame(wxLocale& locale)
                  _("International wxWidgets App")),
          m_locale(locale)
 {
-    // Empty
+    // this demonstrates RTL layout mirroring for Arabic locales
+    wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
+    sizer->Add(new wxStaticText(this, wxID_ANY, _("First")),
+                wxSizerFlags().Border());
+    sizer->Add(new wxStaticText(this, wxID_ANY, _("Second")),
+                wxSizerFlags().Border());
+    SetSizer(sizer);
 }
 
 void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) )
index b16ea3d8374b207cc6c82698872aa911124d3328..fed2b7aab32fcfbfc8bf7b0778878ef9977919b4 100644 (file)
@@ -216,6 +216,24 @@ void wxAppConsole::Exit()
     exit(-1);
 }
 
+wxLayoutDirection wxAppConsole::GetLayoutDirection() const
+{
+#if wxUSE_INTL
+    const wxLocale *const locale = wxGetLocale();
+    if ( locale )
+    {
+        const wxLanguageInfo *const
+            info = wxLocale::GetLanguageInfo(locale->GetLanguage());
+        
+        if ( info )
+            return info->LayoutDirection;
+    }
+#endif // wxUSE_INTL
+
+    // we don't know
+    return wxLayout_Default;
+}
+
 // ----------------------------------------------------------------------------
 // traits stuff
 // ----------------------------------------------------------------------------
index 903769fc59d665919c7cf64da9802949a5827b86..ccc1418e29da724d97fc07cd974d65ba03cf9c14 100644 (file)
@@ -3388,9 +3388,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxLocaleModule, wxModule)
 
 #endif // __WIN32__
 
-#define LNG(wxlang, canonical, winlang, winsublang, desc) \
+#define LNG(wxlang, canonical, winlang, winsublang, layout, desc) \
     info.Language = wxlang;                               \
     info.CanonicalName = wxT(canonical);                  \
+    info.LayoutDirection = layout;                        \
     info.Description = wxT(desc);                         \
     SETWINLANG(info, winlang, winsublang)                 \
     AddLanguage(info);
@@ -3400,234 +3401,233 @@ void wxLocale::InitLanguagesDB()
    wxLanguageInfo info;
    wxStringTokenizer tkn;
 
-   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")
-   LNG(wxLANGUAGE_AMHARIC,                    "am"   , 0              , 0                                 , "Amharic")
-   LNG(wxLANGUAGE_ARABIC,                     "ar"   , LANG_ARABIC    , SUBLANG_DEFAULT                   , "Arabic")
-   LNG(wxLANGUAGE_ARABIC_ALGERIA,             "ar_DZ", LANG_ARABIC    , SUBLANG_ARABIC_ALGERIA            , "Arabic (Algeria)")
-   LNG(wxLANGUAGE_ARABIC_BAHRAIN,             "ar_BH", LANG_ARABIC    , SUBLANG_ARABIC_BAHRAIN            , "Arabic (Bahrain)")
-   LNG(wxLANGUAGE_ARABIC_EGYPT,               "ar_EG", LANG_ARABIC    , SUBLANG_ARABIC_EGYPT              , "Arabic (Egypt)")
-   LNG(wxLANGUAGE_ARABIC_IRAQ,                "ar_IQ", LANG_ARABIC    , SUBLANG_ARABIC_IRAQ               , "Arabic (Iraq)")
-   LNG(wxLANGUAGE_ARABIC_JORDAN,              "ar_JO", LANG_ARABIC    , SUBLANG_ARABIC_JORDAN             , "Arabic (Jordan)")
-   LNG(wxLANGUAGE_ARABIC_KUWAIT,              "ar_KW", LANG_ARABIC    , SUBLANG_ARABIC_KUWAIT             , "Arabic (Kuwait)")
-   LNG(wxLANGUAGE_ARABIC_LEBANON,             "ar_LB", LANG_ARABIC    , SUBLANG_ARABIC_LEBANON            , "Arabic (Lebanon)")
-   LNG(wxLANGUAGE_ARABIC_LIBYA,               "ar_LY", LANG_ARABIC    , SUBLANG_ARABIC_LIBYA              , "Arabic (Libya)")
-   LNG(wxLANGUAGE_ARABIC_MOROCCO,             "ar_MA", LANG_ARABIC    , SUBLANG_ARABIC_MOROCCO            , "Arabic (Morocco)")
-   LNG(wxLANGUAGE_ARABIC_OMAN,                "ar_OM", LANG_ARABIC    , SUBLANG_ARABIC_OMAN               , "Arabic (Oman)")
-   LNG(wxLANGUAGE_ARABIC_QATAR,               "ar_QA", LANG_ARABIC    , SUBLANG_ARABIC_QATAR              , "Arabic (Qatar)")
-   LNG(wxLANGUAGE_ARABIC_SAUDI_ARABIA,        "ar_SA", LANG_ARABIC    , SUBLANG_ARABIC_SAUDI_ARABIA       , "Arabic (Saudi Arabia)")
-   LNG(wxLANGUAGE_ARABIC_SUDAN,               "ar_SD", 0              , 0                                 , "Arabic (Sudan)")
-   LNG(wxLANGUAGE_ARABIC_SYRIA,               "ar_SY", LANG_ARABIC    , SUBLANG_ARABIC_SYRIA              , "Arabic (Syria)")
-   LNG(wxLANGUAGE_ARABIC_TUNISIA,             "ar_TN", LANG_ARABIC    , SUBLANG_ARABIC_TUNISIA            , "Arabic (Tunisia)")
-   LNG(wxLANGUAGE_ARABIC_UAE,                 "ar_AE", LANG_ARABIC    , SUBLANG_ARABIC_UAE                , "Arabic (Uae)")
-   LNG(wxLANGUAGE_ARABIC_YEMEN,               "ar_YE", LANG_ARABIC    , SUBLANG_ARABIC_YEMEN              , "Arabic (Yemen)")
-   LNG(wxLANGUAGE_ARMENIAN,                   "hy"   , LANG_ARMENIAN  , SUBLANG_DEFAULT                   , "Armenian")
-   LNG(wxLANGUAGE_ASSAMESE,                   "as"   , LANG_ASSAMESE  , SUBLANG_DEFAULT                   , "Assamese")
-   LNG(wxLANGUAGE_AYMARA,                     "ay"   , 0              , 0                                 , "Aymara")
-   LNG(wxLANGUAGE_AZERI,                      "az"   , LANG_AZERI     , SUBLANG_DEFAULT                   , "Azeri")
-   LNG(wxLANGUAGE_AZERI_CYRILLIC,             "az"   , LANG_AZERI     , SUBLANG_AZERI_CYRILLIC            , "Azeri (Cyrillic)")
-   LNG(wxLANGUAGE_AZERI_LATIN,                "az"   , LANG_AZERI     , SUBLANG_AZERI_LATIN               , "Azeri (Latin)")
-   LNG(wxLANGUAGE_BASHKIR,                    "ba"   , 0              , 0                                 , "Bashkir")
-   LNG(wxLANGUAGE_BASQUE,                     "eu_ES", LANG_BASQUE    , SUBLANG_DEFAULT                   , "Basque")
-   LNG(wxLANGUAGE_BELARUSIAN,                 "be_BY", LANG_BELARUSIAN, SUBLANG_DEFAULT                   , "Belarusian")
-   LNG(wxLANGUAGE_BENGALI,                    "bn"   , LANG_BENGALI   , SUBLANG_DEFAULT                   , "Bengali")
-   LNG(wxLANGUAGE_BHUTANI,                    "dz"   , 0              , 0                                 , "Bhutani")
-   LNG(wxLANGUAGE_BIHARI,                     "bh"   , 0              , 0                                 , "Bihari")
-   LNG(wxLANGUAGE_BISLAMA,                    "bi"   , 0              , 0                                 , "Bislama")
-   LNG(wxLANGUAGE_BRETON,                     "br"   , 0              , 0                                 , "Breton")
-   LNG(wxLANGUAGE_BULGARIAN,                  "bg_BG", LANG_BULGARIAN , SUBLANG_DEFAULT                   , "Bulgarian")
-   LNG(wxLANGUAGE_BURMESE,                    "my"   , 0              , 0                                 , "Burmese")
-   LNG(wxLANGUAGE_CAMBODIAN,                  "km"   , 0              , 0                                 , "Cambodian")
-   LNG(wxLANGUAGE_CATALAN,                    "ca_ES", LANG_CATALAN   , SUBLANG_DEFAULT                   , "Catalan")
-   LNG(wxLANGUAGE_CHINESE,                    "zh_TW", LANG_CHINESE   , SUBLANG_DEFAULT                   , "Chinese")
-   LNG(wxLANGUAGE_CHINESE_SIMPLIFIED,         "zh_CN", LANG_CHINESE   , SUBLANG_CHINESE_SIMPLIFIED        , "Chinese (Simplified)")
-   LNG(wxLANGUAGE_CHINESE_TRADITIONAL,        "zh_TW", LANG_CHINESE   , SUBLANG_CHINESE_TRADITIONAL       , "Chinese (Traditional)")
-   LNG(wxLANGUAGE_CHINESE_HONGKONG,           "zh_HK", LANG_CHINESE   , SUBLANG_CHINESE_HONGKONG          , "Chinese (Hongkong)")
-   LNG(wxLANGUAGE_CHINESE_MACAU,              "zh_MO", LANG_CHINESE   , SUBLANG_CHINESE_MACAU             , "Chinese (Macau)")
-   LNG(wxLANGUAGE_CHINESE_SINGAPORE,          "zh_SG", LANG_CHINESE   , SUBLANG_CHINESE_SINGAPORE         , "Chinese (Singapore)")
-   LNG(wxLANGUAGE_CHINESE_TAIWAN,             "zh_TW", LANG_CHINESE   , SUBLANG_CHINESE_TRADITIONAL       , "Chinese (Taiwan)")
-   LNG(wxLANGUAGE_CORSICAN,                   "co"   , 0              , 0                                 , "Corsican")
-   LNG(wxLANGUAGE_CROATIAN,                   "hr_HR", LANG_CROATIAN  , SUBLANG_DEFAULT                   , "Croatian")
-   LNG(wxLANGUAGE_CZECH,                      "cs_CZ", LANG_CZECH     , SUBLANG_DEFAULT                   , "Czech")
-   LNG(wxLANGUAGE_DANISH,                     "da_DK", LANG_DANISH    , SUBLANG_DEFAULT                   , "Danish")
-   LNG(wxLANGUAGE_DUTCH,                      "nl_NL", LANG_DUTCH     , SUBLANG_DUTCH                     , "Dutch")
-   LNG(wxLANGUAGE_DUTCH_BELGIAN,              "nl_BE", LANG_DUTCH     , SUBLANG_DUTCH_BELGIAN             , "Dutch (Belgian)")
-   LNG(wxLANGUAGE_ENGLISH,                    "en_GB", LANG_ENGLISH   , SUBLANG_ENGLISH_UK                , "English")
-   LNG(wxLANGUAGE_ENGLISH_UK,                 "en_GB", LANG_ENGLISH   , SUBLANG_ENGLISH_UK                , "English (U.K.)")
-   LNG(wxLANGUAGE_ENGLISH_US,                 "en_US", LANG_ENGLISH   , SUBLANG_ENGLISH_US                , "English (U.S.)")
-   LNG(wxLANGUAGE_ENGLISH_AUSTRALIA,          "en_AU", LANG_ENGLISH   , SUBLANG_ENGLISH_AUS               , "English (Australia)")
-   LNG(wxLANGUAGE_ENGLISH_BELIZE,             "en_BZ", LANG_ENGLISH   , SUBLANG_ENGLISH_BELIZE            , "English (Belize)")
-   LNG(wxLANGUAGE_ENGLISH_BOTSWANA,           "en_BW", 0              , 0                                 , "English (Botswana)")
-   LNG(wxLANGUAGE_ENGLISH_CANADA,             "en_CA", LANG_ENGLISH   , SUBLANG_ENGLISH_CAN               , "English (Canada)")
-   LNG(wxLANGUAGE_ENGLISH_CARIBBEAN,          "en_CB", LANG_ENGLISH   , SUBLANG_ENGLISH_CARIBBEAN         , "English (Caribbean)")
-   LNG(wxLANGUAGE_ENGLISH_DENMARK,            "en_DK", 0              , 0                                 , "English (Denmark)")
-   LNG(wxLANGUAGE_ENGLISH_EIRE,               "en_IE", LANG_ENGLISH   , SUBLANG_ENGLISH_EIRE              , "English (Eire)")
-   LNG(wxLANGUAGE_ENGLISH_JAMAICA,            "en_JM", LANG_ENGLISH   , SUBLANG_ENGLISH_JAMAICA           , "English (Jamaica)")
-   LNG(wxLANGUAGE_ENGLISH_NEW_ZEALAND,        "en_NZ", LANG_ENGLISH   , SUBLANG_ENGLISH_NZ                , "English (New Zealand)")
-   LNG(wxLANGUAGE_ENGLISH_PHILIPPINES,        "en_PH", LANG_ENGLISH   , SUBLANG_ENGLISH_PHILIPPINES       , "English (Philippines)")
-   LNG(wxLANGUAGE_ENGLISH_SOUTH_AFRICA,       "en_ZA", LANG_ENGLISH   , SUBLANG_ENGLISH_SOUTH_AFRICA      , "English (South Africa)")
-   LNG(wxLANGUAGE_ENGLISH_TRINIDAD,           "en_TT", LANG_ENGLISH   , SUBLANG_ENGLISH_TRINIDAD          , "English (Trinidad)")
-   LNG(wxLANGUAGE_ENGLISH_ZIMBABWE,           "en_ZW", LANG_ENGLISH   , SUBLANG_ENGLISH_ZIMBABWE          , "English (Zimbabwe)")
-   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,                      "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")
-   LNG(wxLANGUAGE_FRENCH_BELGIAN,             "fr_BE", LANG_FRENCH    , SUBLANG_FRENCH_BELGIAN            , "French (Belgian)")
-   LNG(wxLANGUAGE_FRENCH_CANADIAN,            "fr_CA", LANG_FRENCH    , SUBLANG_FRENCH_CANADIAN           , "French (Canadian)")
-   LNG(wxLANGUAGE_FRENCH_LUXEMBOURG,          "fr_LU", LANG_FRENCH    , SUBLANG_FRENCH_LUXEMBOURG         , "French (Luxembourg)")
-   LNG(wxLANGUAGE_FRENCH_MONACO,              "fr_MC", LANG_FRENCH    , SUBLANG_FRENCH_MONACO             , "French (Monaco)")
-   LNG(wxLANGUAGE_FRENCH_SWISS,               "fr_CH", LANG_FRENCH    , SUBLANG_FRENCH_SWISS              , "French (Swiss)")
-   LNG(wxLANGUAGE_FRISIAN,                    "fy"   , 0              , 0                                 , "Frisian")
-   LNG(wxLANGUAGE_GALICIAN,                   "gl_ES", 0              , 0                                 , "Galician")
-   LNG(wxLANGUAGE_GEORGIAN,                   "ka"   , LANG_GEORGIAN  , SUBLANG_DEFAULT                   , "Georgian")
-   LNG(wxLANGUAGE_GERMAN,                     "de_DE", LANG_GERMAN    , SUBLANG_GERMAN                    , "German")
-   LNG(wxLANGUAGE_GERMAN_AUSTRIAN,            "de_AT", LANG_GERMAN    , SUBLANG_GERMAN_AUSTRIAN           , "German (Austrian)")
-   LNG(wxLANGUAGE_GERMAN_BELGIUM,             "de_BE", 0              , 0                                 , "German (Belgium)")
-   LNG(wxLANGUAGE_GERMAN_LIECHTENSTEIN,       "de_LI", LANG_GERMAN    , SUBLANG_GERMAN_LIECHTENSTEIN      , "German (Liechtenstein)")
-   LNG(wxLANGUAGE_GERMAN_LUXEMBOURG,          "de_LU", LANG_GERMAN    , SUBLANG_GERMAN_LUXEMBOURG         , "German (Luxembourg)")
-   LNG(wxLANGUAGE_GERMAN_SWISS,               "de_CH", LANG_GERMAN    , SUBLANG_GERMAN_SWISS              , "German (Swiss)")
-   LNG(wxLANGUAGE_GREEK,                      "el_GR", LANG_GREEK     , SUBLANG_DEFAULT                   , "Greek")
-   LNG(wxLANGUAGE_GREENLANDIC,                "kl_GL", 0              , 0                                 , "Greenlandic")
-   LNG(wxLANGUAGE_GUARANI,                    "gn"   , 0              , 0                                 , "Guarani")
-   LNG(wxLANGUAGE_GUJARATI,                   "gu"   , LANG_GUJARATI  , SUBLANG_DEFAULT                   , "Gujarati")
-   LNG(wxLANGUAGE_HAUSA,                      "ha"   , 0              , 0                                 , "Hausa")
-   LNG(wxLANGUAGE_HEBREW,                     "he_IL", LANG_HEBREW    , SUBLANG_DEFAULT                   , "Hebrew")
-   LNG(wxLANGUAGE_HINDI,                      "hi_IN", LANG_HINDI     , SUBLANG_DEFAULT                   , "Hindi")
-   LNG(wxLANGUAGE_HUNGARIAN,                  "hu_HU", LANG_HUNGARIAN , SUBLANG_DEFAULT                   , "Hungarian")
-   LNG(wxLANGUAGE_ICELANDIC,                  "is_IS", LANG_ICELANDIC , SUBLANG_DEFAULT                   , "Icelandic")
-   LNG(wxLANGUAGE_INDONESIAN,                 "id_ID", LANG_INDONESIAN, SUBLANG_DEFAULT                   , "Indonesian")
-   LNG(wxLANGUAGE_INTERLINGUA,                "ia"   , 0              , 0                                 , "Interlingua")
-   LNG(wxLANGUAGE_INTERLINGUE,                "ie"   , 0              , 0                                 , "Interlingue")
-   LNG(wxLANGUAGE_INUKTITUT,                  "iu"   , 0              , 0                                 , "Inuktitut")
-   LNG(wxLANGUAGE_INUPIAK,                    "ik"   , 0              , 0                                 , "Inupiak")
-   LNG(wxLANGUAGE_IRISH,                      "ga_IE", 0              , 0                                 , "Irish")
-   LNG(wxLANGUAGE_ITALIAN,                    "it_IT", LANG_ITALIAN   , SUBLANG_ITALIAN                   , "Italian")
-   LNG(wxLANGUAGE_ITALIAN_SWISS,              "it_CH", LANG_ITALIAN   , SUBLANG_ITALIAN_SWISS             , "Italian (Swiss)")
-   LNG(wxLANGUAGE_JAPANESE,                   "ja_JP", LANG_JAPANESE  , SUBLANG_DEFAULT                   , "Japanese")
-   LNG(wxLANGUAGE_JAVANESE,                   "jw"   , 0              , 0                                 , "Javanese")
-   LNG(wxLANGUAGE_KANNADA,                    "kn"   , LANG_KANNADA   , SUBLANG_DEFAULT                   , "Kannada")
-   LNG(wxLANGUAGE_KASHMIRI,                   "ks"   , LANG_KASHMIRI  , SUBLANG_DEFAULT                   , "Kashmiri")
-   LNG(wxLANGUAGE_KASHMIRI_INDIA,             "ks_IN", LANG_KASHMIRI  , SUBLANG_KASHMIRI_INDIA            , "Kashmiri (India)")
-   LNG(wxLANGUAGE_KAZAKH,                     "kk"   , LANG_KAZAK     , SUBLANG_DEFAULT                   , "Kazakh")
-   LNG(wxLANGUAGE_KERNEWEK,                   "kw_GB", 0              , 0                                 , "Kernewek")
-   LNG(wxLANGUAGE_KINYARWANDA,                "rw"   , 0              , 0                                 , "Kinyarwanda")
-   LNG(wxLANGUAGE_KIRGHIZ,                    "ky"   , 0              , 0                                 , "Kirghiz")
-   LNG(wxLANGUAGE_KIRUNDI,                    "rn"   , 0              , 0                                 , "Kirundi")
-   LNG(wxLANGUAGE_KONKANI,                    ""     , LANG_KONKANI   , SUBLANG_DEFAULT                   , "Konkani")
-   LNG(wxLANGUAGE_KOREAN,                     "ko_KR", LANG_KOREAN    , SUBLANG_KOREAN                    , "Korean")
-   LNG(wxLANGUAGE_KURDISH,                    "ku"   , 0              , 0                                 , "Kurdish")
-   LNG(wxLANGUAGE_LAOTHIAN,                   "lo"   , 0              , 0                                 , "Laothian")
-   LNG(wxLANGUAGE_LATIN,                      "la"   , 0              , 0                                 , "Latin")
-   LNG(wxLANGUAGE_LATVIAN,                    "lv_LV", LANG_LATVIAN   , SUBLANG_DEFAULT                   , "Latvian")
-   LNG(wxLANGUAGE_LINGALA,                    "ln"   , 0              , 0                                 , "Lingala")
-   LNG(wxLANGUAGE_LITHUANIAN,                 "lt_LT", LANG_LITHUANIAN, SUBLANG_LITHUANIAN                , "Lithuanian")
-   LNG(wxLANGUAGE_MACEDONIAN,                 "mk_MK", LANG_MACEDONIAN, SUBLANG_DEFAULT                   , "Macedonian")
-   LNG(wxLANGUAGE_MALAGASY,                   "mg"   , 0              , 0                                 , "Malagasy")
-   LNG(wxLANGUAGE_MALAY,                      "ms_MY", LANG_MALAY     , SUBLANG_DEFAULT                   , "Malay")
-   LNG(wxLANGUAGE_MALAYALAM,                  "ml"   , LANG_MALAYALAM , SUBLANG_DEFAULT                   , "Malayalam")
-   LNG(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM,    "ms_BN", LANG_MALAY     , SUBLANG_MALAY_BRUNEI_DARUSSALAM   , "Malay (Brunei Darussalam)")
-   LNG(wxLANGUAGE_MALAY_MALAYSIA,             "ms_MY", LANG_MALAY     , SUBLANG_MALAY_MALAYSIA            , "Malay (Malaysia)")
-   LNG(wxLANGUAGE_MALTESE,                    "mt_MT", 0              , 0                                 , "Maltese")
-   LNG(wxLANGUAGE_MANIPURI,                   ""     , LANG_MANIPURI  , SUBLANG_DEFAULT                   , "Manipuri")
-   LNG(wxLANGUAGE_MAORI,                      "mi"   , 0              , 0                                 , "Maori")
-   LNG(wxLANGUAGE_MARATHI,                    "mr_IN", LANG_MARATHI   , SUBLANG_DEFAULT                   , "Marathi")
-   LNG(wxLANGUAGE_MOLDAVIAN,                  "mo"   , 0              , 0                                 , "Moldavian")
-   LNG(wxLANGUAGE_MONGOLIAN,                  "mn"   , 0              , 0                                 , "Mongolian")
-   LNG(wxLANGUAGE_NAURU,                      "na"   , 0              , 0                                 , "Nauru")
-   LNG(wxLANGUAGE_NEPALI,                     "ne"   , LANG_NEPALI    , SUBLANG_DEFAULT                   , "Nepali")
-   LNG(wxLANGUAGE_NEPALI_INDIA,               "ne_IN", LANG_NEPALI    , SUBLANG_NEPALI_INDIA              , "Nepali (India)")
-   LNG(wxLANGUAGE_NORWEGIAN_BOKMAL,           "nb_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_BOKMAL          , "Norwegian (Bokmal)")
-   LNG(wxLANGUAGE_NORWEGIAN_NYNORSK,          "nn_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_NYNORSK         , "Norwegian (Nynorsk)")
-   LNG(wxLANGUAGE_OCCITAN,                    "oc"   , 0              , 0                                 , "Occitan")
-   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_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)")
-   LNG(wxLANGUAGE_PUNJABI,                    "pa"   , LANG_PUNJABI   , SUBLANG_DEFAULT                   , "Punjabi")
-   LNG(wxLANGUAGE_QUECHUA,                    "qu"   , 0              , 0                                 , "Quechua")
-   LNG(wxLANGUAGE_RHAETO_ROMANCE,             "rm"   , 0              , 0                                 , "Rhaeto-Romance")
-   LNG(wxLANGUAGE_ROMANIAN,                   "ro_RO", LANG_ROMANIAN  , SUBLANG_DEFAULT                   , "Romanian")
-   LNG(wxLANGUAGE_RUSSIAN,                    "ru_RU", LANG_RUSSIAN   , SUBLANG_DEFAULT                   , "Russian")
-   LNG(wxLANGUAGE_RUSSIAN_UKRAINE,            "ru_UA", 0              , 0                                 , "Russian (Ukraine)")
-   LNG(wxLANGUAGE_SAMOAN,                     "sm"   , 0              , 0                                 , "Samoan")
-   LNG(wxLANGUAGE_SANGHO,                     "sg"   , 0              , 0                                 , "Sangho")
-   LNG(wxLANGUAGE_SANSKRIT,                   "sa"   , LANG_SANSKRIT  , SUBLANG_DEFAULT                   , "Sanskrit")
-   LNG(wxLANGUAGE_SCOTS_GAELIC,               "gd"   , 0              , 0                                 , "Scots Gaelic")
-   LNG(wxLANGUAGE_SERBIAN_CYRILLIC,           "sr_YU", LANG_SERBIAN   , SUBLANG_SERBIAN_CYRILLIC          , "Serbian (Cyrillic)")
-   LNG(wxLANGUAGE_SERBIAN_LATIN,              "sr_YU", LANG_SERBIAN   , SUBLANG_SERBIAN_LATIN             , "Serbian (Latin)")
-   LNG(wxLANGUAGE_SERBO_CROATIAN,             "sh"   , 0              , 0                                 , "Serbo-Croatian")
-   LNG(wxLANGUAGE_SESOTHO,                    "st"   , 0              , 0                                 , "Sesotho")
-   LNG(wxLANGUAGE_SETSWANA,                   "tn"   , 0              , 0                                 , "Setswana")
-   LNG(wxLANGUAGE_SHONA,                      "sn"   , 0              , 0                                 , "Shona")
-   LNG(wxLANGUAGE_SINDHI,                     "sd"   , LANG_SINDHI    , SUBLANG_DEFAULT                   , "Sindhi")
-   LNG(wxLANGUAGE_SINHALESE,                  "si"   , 0              , 0                                 , "Sinhalese")
-   LNG(wxLANGUAGE_SISWATI,                    "ss"   , 0              , 0                                 , "Siswati")
-   LNG(wxLANGUAGE_SLOVAK,                     "sk_SK", LANG_SLOVAK    , SUBLANG_DEFAULT                   , "Slovak")
-   LNG(wxLANGUAGE_SLOVENIAN,                  "sl_SI", LANG_SLOVENIAN , SUBLANG_DEFAULT                   , "Slovenian")
-   LNG(wxLANGUAGE_SOMALI,                     "so"   , 0              , 0                                 , "Somali")
-   LNG(wxLANGUAGE_SPANISH,                    "es_ES", LANG_SPANISH   , SUBLANG_SPANISH                   , "Spanish")
-   LNG(wxLANGUAGE_SPANISH_ARGENTINA,          "es_AR", LANG_SPANISH   , SUBLANG_SPANISH_ARGENTINA         , "Spanish (Argentina)")
-   LNG(wxLANGUAGE_SPANISH_BOLIVIA,            "es_BO", LANG_SPANISH   , SUBLANG_SPANISH_BOLIVIA           , "Spanish (Bolivia)")
-   LNG(wxLANGUAGE_SPANISH_CHILE,              "es_CL", LANG_SPANISH   , SUBLANG_SPANISH_CHILE             , "Spanish (Chile)")
-   LNG(wxLANGUAGE_SPANISH_COLOMBIA,           "es_CO", LANG_SPANISH   , SUBLANG_SPANISH_COLOMBIA          , "Spanish (Colombia)")
-   LNG(wxLANGUAGE_SPANISH_COSTA_RICA,         "es_CR", LANG_SPANISH   , SUBLANG_SPANISH_COSTA_RICA        , "Spanish (Costa Rica)")
-   LNG(wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, "es_DO", LANG_SPANISH   , SUBLANG_SPANISH_DOMINICAN_REPUBLIC, "Spanish (Dominican republic)")
-   LNG(wxLANGUAGE_SPANISH_ECUADOR,            "es_EC", LANG_SPANISH   , SUBLANG_SPANISH_ECUADOR           , "Spanish (Ecuador)")
-   LNG(wxLANGUAGE_SPANISH_EL_SALVADOR,        "es_SV", LANG_SPANISH   , SUBLANG_SPANISH_EL_SALVADOR       , "Spanish (El Salvador)")
-   LNG(wxLANGUAGE_SPANISH_GUATEMALA,          "es_GT", LANG_SPANISH   , SUBLANG_SPANISH_GUATEMALA         , "Spanish (Guatemala)")
-   LNG(wxLANGUAGE_SPANISH_HONDURAS,           "es_HN", LANG_SPANISH   , SUBLANG_SPANISH_HONDURAS          , "Spanish (Honduras)")
-   LNG(wxLANGUAGE_SPANISH_MEXICAN,            "es_MX", LANG_SPANISH   , SUBLANG_SPANISH_MEXICAN           , "Spanish (Mexican)")
-   LNG(wxLANGUAGE_SPANISH_MODERN,             "es_ES", LANG_SPANISH   , SUBLANG_SPANISH_MODERN            , "Spanish (Modern)")
-   LNG(wxLANGUAGE_SPANISH_NICARAGUA,          "es_NI", LANG_SPANISH   , SUBLANG_SPANISH_NICARAGUA         , "Spanish (Nicaragua)")
-   LNG(wxLANGUAGE_SPANISH_PANAMA,             "es_PA", LANG_SPANISH   , SUBLANG_SPANISH_PANAMA            , "Spanish (Panama)")
-   LNG(wxLANGUAGE_SPANISH_PARAGUAY,           "es_PY", LANG_SPANISH   , SUBLANG_SPANISH_PARAGUAY          , "Spanish (Paraguay)")
-   LNG(wxLANGUAGE_SPANISH_PERU,               "es_PE", LANG_SPANISH   , SUBLANG_SPANISH_PERU              , "Spanish (Peru)")
-   LNG(wxLANGUAGE_SPANISH_PUERTO_RICO,        "es_PR", LANG_SPANISH   , SUBLANG_SPANISH_PUERTO_RICO       , "Spanish (Puerto Rico)")
-   LNG(wxLANGUAGE_SPANISH_URUGUAY,            "es_UY", LANG_SPANISH   , SUBLANG_SPANISH_URUGUAY           , "Spanish (Uruguay)")
-   LNG(wxLANGUAGE_SPANISH_US,                 "es_US", 0              , 0                                 , "Spanish (U.S.)")
-   LNG(wxLANGUAGE_SPANISH_VENEZUELA,          "es_VE", LANG_SPANISH   , SUBLANG_SPANISH_VENEZUELA         , "Spanish (Venezuela)")
-   LNG(wxLANGUAGE_SUNDANESE,                  "su"   , 0              , 0                                 , "Sundanese")
-   LNG(wxLANGUAGE_SWAHILI,                    "sw_KE", LANG_SWAHILI   , SUBLANG_DEFAULT                   , "Swahili")
-   LNG(wxLANGUAGE_SWEDISH,                    "sv_SE", LANG_SWEDISH   , SUBLANG_SWEDISH                   , "Swedish")
-   LNG(wxLANGUAGE_SWEDISH_FINLAND,            "sv_FI", LANG_SWEDISH   , SUBLANG_SWEDISH_FINLAND           , "Swedish (Finland)")
-   LNG(wxLANGUAGE_TAGALOG,                    "tl_PH", 0              , 0                                 , "Tagalog")
-   LNG(wxLANGUAGE_TAJIK,                      "tg"   , 0              , 0                                 , "Tajik")
-   LNG(wxLANGUAGE_TAMIL,                      "ta"   , LANG_TAMIL     , SUBLANG_DEFAULT                   , "Tamil")
-   LNG(wxLANGUAGE_TATAR,                      "tt"   , LANG_TATAR     , SUBLANG_DEFAULT                   , "Tatar")
-   LNG(wxLANGUAGE_TELUGU,                     "te"   , LANG_TELUGU    , SUBLANG_DEFAULT                   , "Telugu")
-   LNG(wxLANGUAGE_THAI,                       "th_TH", LANG_THAI      , SUBLANG_DEFAULT                   , "Thai")
-   LNG(wxLANGUAGE_TIBETAN,                    "bo"   , 0              , 0                                 , "Tibetan")
-   LNG(wxLANGUAGE_TIGRINYA,                   "ti"   , 0              , 0                                 , "Tigrinya")
-   LNG(wxLANGUAGE_TONGA,                      "to"   , 0              , 0                                 , "Tonga")
-   LNG(wxLANGUAGE_TSONGA,                     "ts"   , 0              , 0                                 , "Tsonga")
-   LNG(wxLANGUAGE_TURKISH,                    "tr_TR", LANG_TURKISH   , SUBLANG_DEFAULT                   , "Turkish")
-   LNG(wxLANGUAGE_TURKMEN,                    "tk"   , 0              , 0                                 , "Turkmen")
-   LNG(wxLANGUAGE_TWI,                        "tw"   , 0              , 0                                 , "Twi")
-   LNG(wxLANGUAGE_UIGHUR,                     "ug"   , 0              , 0                                 , "Uighur")
-   LNG(wxLANGUAGE_UKRAINIAN,                  "uk_UA", LANG_UKRAINIAN , SUBLANG_DEFAULT                   , "Ukrainian")
-   LNG(wxLANGUAGE_URDU,                       "ur"   , LANG_URDU      , SUBLANG_DEFAULT                   , "Urdu")
-   LNG(wxLANGUAGE_URDU_INDIA,                 "ur_IN", LANG_URDU      , SUBLANG_URDU_INDIA                , "Urdu (India)")
-   LNG(wxLANGUAGE_URDU_PAKISTAN,              "ur_PK", LANG_URDU      , SUBLANG_URDU_PAKISTAN             , "Urdu (Pakistan)")
-   LNG(wxLANGUAGE_UZBEK,                      "uz"   , LANG_UZBEK     , SUBLANG_DEFAULT                   , "Uzbek")
-   LNG(wxLANGUAGE_UZBEK_CYRILLIC,             "uz"   , LANG_UZBEK     , SUBLANG_UZBEK_CYRILLIC            , "Uzbek (Cyrillic)")
-   LNG(wxLANGUAGE_UZBEK_LATIN,                "uz"   , LANG_UZBEK     , SUBLANG_UZBEK_LATIN               , "Uzbek (Latin)")
-   LNG(wxLANGUAGE_VIETNAMESE,                 "vi_VN", LANG_VIETNAMESE, SUBLANG_DEFAULT                   , "Vietnamese")
-   LNG(wxLANGUAGE_VOLAPUK,                    "vo"   , 0              , 0                                 , "Volapuk")
-   LNG(wxLANGUAGE_WELSH,                      "cy"   , 0              , 0                                 , "Welsh")
-   LNG(wxLANGUAGE_WOLOF,                      "wo"   , 0              , 0                                 , "Wolof")
-   LNG(wxLANGUAGE_XHOSA,                      "xh"   , 0              , 0                                 , "Xhosa")
-   LNG(wxLANGUAGE_YIDDISH,                    "yi"   , 0              , 0                                 , "Yiddish")
-   LNG(wxLANGUAGE_YORUBA,                     "yo"   , 0              , 0                                 , "Yoruba")
-   LNG(wxLANGUAGE_ZHUANG,                     "za"   , 0              , 0                                 , "Zhuang")
-   LNG(wxLANGUAGE_ZULU,                       "zu"   , 0              , 0                                 , "Zulu")
-
+   LNG(wxLANGUAGE_ABKHAZIAN,                  "ab"   , 0              , 0                                 , wxLayout_LeftToRight, "Abkhazian")
+   LNG(wxLANGUAGE_AFAR,                       "aa"   , 0              , 0                                 , wxLayout_LeftToRight, "Afar")
+   LNG(wxLANGUAGE_AFRIKAANS,                  "af_ZA", LANG_AFRIKAANS , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Afrikaans")
+   LNG(wxLANGUAGE_ALBANIAN,                   "sq_AL", LANG_ALBANIAN  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Albanian")
+   LNG(wxLANGUAGE_AMHARIC,                    "am"   , 0              , 0                                 , wxLayout_LeftToRight, "Amharic")
+   LNG(wxLANGUAGE_ARABIC,                     "ar"   , LANG_ARABIC    , SUBLANG_DEFAULT                   , wxLayout_RightToLeft, "Arabic")
+   LNG(wxLANGUAGE_ARABIC_ALGERIA,             "ar_DZ", LANG_ARABIC    , SUBLANG_ARABIC_ALGERIA            , wxLayout_RightToLeft, "Arabic (Algeria)")
+   LNG(wxLANGUAGE_ARABIC_BAHRAIN,             "ar_BH", LANG_ARABIC    , SUBLANG_ARABIC_BAHRAIN            , wxLayout_RightToLeft, "Arabic (Bahrain)")
+   LNG(wxLANGUAGE_ARABIC_EGYPT,               "ar_EG", LANG_ARABIC    , SUBLANG_ARABIC_EGYPT              , wxLayout_RightToLeft, "Arabic (Egypt)")
+   LNG(wxLANGUAGE_ARABIC_IRAQ,                "ar_IQ", LANG_ARABIC    , SUBLANG_ARABIC_IRAQ               , wxLayout_RightToLeft, "Arabic (Iraq)")
+   LNG(wxLANGUAGE_ARABIC_JORDAN,              "ar_JO", LANG_ARABIC    , SUBLANG_ARABIC_JORDAN             , wxLayout_RightToLeft, "Arabic (Jordan)")
+   LNG(wxLANGUAGE_ARABIC_KUWAIT,              "ar_KW", LANG_ARABIC    , SUBLANG_ARABIC_KUWAIT             , wxLayout_RightToLeft, "Arabic (Kuwait)")
+   LNG(wxLANGUAGE_ARABIC_LEBANON,             "ar_LB", LANG_ARABIC    , SUBLANG_ARABIC_LEBANON            , wxLayout_RightToLeft, "Arabic (Lebanon)")
+   LNG(wxLANGUAGE_ARABIC_LIBYA,               "ar_LY", LANG_ARABIC    , SUBLANG_ARABIC_LIBYA              , wxLayout_RightToLeft, "Arabic (Libya)")
+   LNG(wxLANGUAGE_ARABIC_MOROCCO,             "ar_MA", LANG_ARABIC    , SUBLANG_ARABIC_MOROCCO            , wxLayout_RightToLeft, "Arabic (Morocco)")
+   LNG(wxLANGUAGE_ARABIC_OMAN,                "ar_OM", LANG_ARABIC    , SUBLANG_ARABIC_OMAN               , wxLayout_RightToLeft, "Arabic (Oman)")
+   LNG(wxLANGUAGE_ARABIC_QATAR,               "ar_QA", LANG_ARABIC    , SUBLANG_ARABIC_QATAR              , wxLayout_RightToLeft, "Arabic (Qatar)")
+   LNG(wxLANGUAGE_ARABIC_SAUDI_ARABIA,        "ar_SA", LANG_ARABIC    , SUBLANG_ARABIC_SAUDI_ARABIA       , wxLayout_RightToLeft, "Arabic (Saudi Arabia)")
+   LNG(wxLANGUAGE_ARABIC_SUDAN,               "ar_SD", 0              , 0                                 , wxLayout_RightToLeft, "Arabic (Sudan)")
+   LNG(wxLANGUAGE_ARABIC_SYRIA,               "ar_SY", LANG_ARABIC    , SUBLANG_ARABIC_SYRIA              , wxLayout_RightToLeft, "Arabic (Syria)")
+   LNG(wxLANGUAGE_ARABIC_TUNISIA,             "ar_TN", LANG_ARABIC    , SUBLANG_ARABIC_TUNISIA            , wxLayout_RightToLeft, "Arabic (Tunisia)")
+   LNG(wxLANGUAGE_ARABIC_UAE,                 "ar_AE", LANG_ARABIC    , SUBLANG_ARABIC_UAE                , wxLayout_RightToLeft, "Arabic (Uae)")
+   LNG(wxLANGUAGE_ARABIC_YEMEN,               "ar_YE", LANG_ARABIC    , SUBLANG_ARABIC_YEMEN              , wxLayout_RightToLeft, "Arabic (Yemen)")
+   LNG(wxLANGUAGE_ARMENIAN,                   "hy"   , LANG_ARMENIAN  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Armenian")
+   LNG(wxLANGUAGE_ASSAMESE,                   "as"   , LANG_ASSAMESE  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Assamese")
+   LNG(wxLANGUAGE_AYMARA,                     "ay"   , 0              , 0                                 , wxLayout_LeftToRight, "Aymara")
+   LNG(wxLANGUAGE_AZERI,                      "az"   , LANG_AZERI     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Azeri")
+   LNG(wxLANGUAGE_AZERI_CYRILLIC,             "az"   , LANG_AZERI     , SUBLANG_AZERI_CYRILLIC            , wxLayout_LeftToRight, "Azeri (Cyrillic)")
+   LNG(wxLANGUAGE_AZERI_LATIN,                "az"   , LANG_AZERI     , SUBLANG_AZERI_LATIN               , wxLayout_LeftToRight, "Azeri (Latin)")
+   LNG(wxLANGUAGE_BASHKIR,                    "ba"   , 0              , 0                                 , wxLayout_LeftToRight, "Bashkir")
+   LNG(wxLANGUAGE_BASQUE,                     "eu_ES", LANG_BASQUE    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Basque")
+   LNG(wxLANGUAGE_BELARUSIAN,                 "be_BY", LANG_BELARUSIAN, SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Belarusian")
+   LNG(wxLANGUAGE_BENGALI,                    "bn"   , LANG_BENGALI   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Bengali")
+   LNG(wxLANGUAGE_BHUTANI,                    "dz"   , 0              , 0                                 , wxLayout_LeftToRight, "Bhutani")
+   LNG(wxLANGUAGE_BIHARI,                     "bh"   , 0              , 0                                 , wxLayout_LeftToRight, "Bihari")
+   LNG(wxLANGUAGE_BISLAMA,                    "bi"   , 0              , 0                                 , wxLayout_LeftToRight, "Bislama")
+   LNG(wxLANGUAGE_BRETON,                     "br"   , 0              , 0                                 , wxLayout_LeftToRight, "Breton")
+   LNG(wxLANGUAGE_BULGARIAN,                  "bg_BG", LANG_BULGARIAN , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Bulgarian")
+   LNG(wxLANGUAGE_BURMESE,                    "my"   , 0              , 0                                 , wxLayout_LeftToRight, "Burmese")
+   LNG(wxLANGUAGE_CAMBODIAN,                  "km"   , 0              , 0                                 , wxLayout_LeftToRight, "Cambodian")
+   LNG(wxLANGUAGE_CATALAN,                    "ca_ES", LANG_CATALAN   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Catalan")
+   LNG(wxLANGUAGE_CHINESE,                    "zh_TW", LANG_CHINESE   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Chinese")
+   LNG(wxLANGUAGE_CHINESE_SIMPLIFIED,         "zh_CN", LANG_CHINESE   , SUBLANG_CHINESE_SIMPLIFIED        , wxLayout_LeftToRight, "Chinese (Simplified)")
+   LNG(wxLANGUAGE_CHINESE_TRADITIONAL,        "zh_TW", LANG_CHINESE   , SUBLANG_CHINESE_TRADITIONAL       , wxLayout_LeftToRight, "Chinese (Traditional)")
+   LNG(wxLANGUAGE_CHINESE_HONGKONG,           "zh_HK", LANG_CHINESE   , SUBLANG_CHINESE_HONGKONG          , wxLayout_LeftToRight, "Chinese (Hongkong)")
+   LNG(wxLANGUAGE_CHINESE_MACAU,              "zh_MO", LANG_CHINESE   , SUBLANG_CHINESE_MACAU             , wxLayout_LeftToRight, "Chinese (Macau)")
+   LNG(wxLANGUAGE_CHINESE_SINGAPORE,          "zh_SG", LANG_CHINESE   , SUBLANG_CHINESE_SINGAPORE         , wxLayout_LeftToRight, "Chinese (Singapore)")
+   LNG(wxLANGUAGE_CHINESE_TAIWAN,             "zh_TW", LANG_CHINESE   , SUBLANG_CHINESE_TRADITIONAL       , wxLayout_LeftToRight, "Chinese (Taiwan)")
+   LNG(wxLANGUAGE_CORSICAN,                   "co"   , 0              , 0                                 , wxLayout_LeftToRight, "Corsican")
+   LNG(wxLANGUAGE_CROATIAN,                   "hr_HR", LANG_CROATIAN  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Croatian")
+   LNG(wxLANGUAGE_CZECH,                      "cs_CZ", LANG_CZECH     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Czech")
+   LNG(wxLANGUAGE_DANISH,                     "da_DK", LANG_DANISH    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Danish")
+   LNG(wxLANGUAGE_DUTCH,                      "nl_NL", LANG_DUTCH     , SUBLANG_DUTCH                     , wxLayout_LeftToRight, "Dutch")
+   LNG(wxLANGUAGE_DUTCH_BELGIAN,              "nl_BE", LANG_DUTCH     , SUBLANG_DUTCH_BELGIAN             , wxLayout_LeftToRight, "Dutch (Belgian)")
+   LNG(wxLANGUAGE_ENGLISH,                    "en_GB", LANG_ENGLISH   , SUBLANG_ENGLISH_UK                , wxLayout_LeftToRight, "English")
+   LNG(wxLANGUAGE_ENGLISH_UK,                 "en_GB", LANG_ENGLISH   , SUBLANG_ENGLISH_UK                , wxLayout_LeftToRight, "English (U.K.)")
+   LNG(wxLANGUAGE_ENGLISH_US,                 "en_US", LANG_ENGLISH   , SUBLANG_ENGLISH_US                , wxLayout_LeftToRight, "English (U.S.)")
+   LNG(wxLANGUAGE_ENGLISH_AUSTRALIA,          "en_AU", LANG_ENGLISH   , SUBLANG_ENGLISH_AUS               , wxLayout_LeftToRight, "English (Australia)")
+   LNG(wxLANGUAGE_ENGLISH_BELIZE,             "en_BZ", LANG_ENGLISH   , SUBLANG_ENGLISH_BELIZE            , wxLayout_LeftToRight, "English (Belize)")
+   LNG(wxLANGUAGE_ENGLISH_BOTSWANA,           "en_BW", 0              , 0                                 , wxLayout_LeftToRight, "English (Botswana)")
+   LNG(wxLANGUAGE_ENGLISH_CANADA,             "en_CA", LANG_ENGLISH   , SUBLANG_ENGLISH_CAN               , wxLayout_LeftToRight, "English (Canada)")
+   LNG(wxLANGUAGE_ENGLISH_CARIBBEAN,          "en_CB", LANG_ENGLISH   , SUBLANG_ENGLISH_CARIBBEAN         , wxLayout_LeftToRight, "English (Caribbean)")
+   LNG(wxLANGUAGE_ENGLISH_DENMARK,            "en_DK", 0              , 0                                 , wxLayout_LeftToRight, "English (Denmark)")
+   LNG(wxLANGUAGE_ENGLISH_EIRE,               "en_IE", LANG_ENGLISH   , SUBLANG_ENGLISH_EIRE              , wxLayout_LeftToRight, "English (Eire)")
+   LNG(wxLANGUAGE_ENGLISH_JAMAICA,            "en_JM", LANG_ENGLISH   , SUBLANG_ENGLISH_JAMAICA           , wxLayout_LeftToRight, "English (Jamaica)")
+   LNG(wxLANGUAGE_ENGLISH_NEW_ZEALAND,        "en_NZ", LANG_ENGLISH   , SUBLANG_ENGLISH_NZ                , wxLayout_LeftToRight, "English (New Zealand)")
+   LNG(wxLANGUAGE_ENGLISH_PHILIPPINES,        "en_PH", LANG_ENGLISH   , SUBLANG_ENGLISH_PHILIPPINES       , wxLayout_LeftToRight, "English (Philippines)")
+   LNG(wxLANGUAGE_ENGLISH_SOUTH_AFRICA,       "en_ZA", LANG_ENGLISH   , SUBLANG_ENGLISH_SOUTH_AFRICA      , wxLayout_LeftToRight, "English (South Africa)")
+   LNG(wxLANGUAGE_ENGLISH_TRINIDAD,           "en_TT", LANG_ENGLISH   , SUBLANG_ENGLISH_TRINIDAD          , wxLayout_LeftToRight, "English (Trinidad)")
+   LNG(wxLANGUAGE_ENGLISH_ZIMBABWE,           "en_ZW", LANG_ENGLISH   , SUBLANG_ENGLISH_ZIMBABWE          , wxLayout_LeftToRight, "English (Zimbabwe)")
+   LNG(wxLANGUAGE_ESPERANTO,                  "eo"   , 0              , 0                                 , wxLayout_LeftToRight, "Esperanto")
+   LNG(wxLANGUAGE_ESTONIAN,                   "et_EE", LANG_ESTONIAN  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Estonian")
+   LNG(wxLANGUAGE_FAEROESE,                   "fo_FO", LANG_FAEROESE  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Faeroese")
+   LNG(wxLANGUAGE_FARSI,                      "fa_IR", LANG_FARSI     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Farsi")
+   LNG(wxLANGUAGE_FIJI,                       "fj"   , 0              , 0                                 , wxLayout_LeftToRight, "Fiji")
+   LNG(wxLANGUAGE_FINNISH,                    "fi_FI", LANG_FINNISH   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Finnish")
+   LNG(wxLANGUAGE_FRENCH,                     "fr_FR", LANG_FRENCH    , SUBLANG_FRENCH                    , wxLayout_LeftToRight, "French")
+   LNG(wxLANGUAGE_FRENCH_BELGIAN,             "fr_BE", LANG_FRENCH    , SUBLANG_FRENCH_BELGIAN            , wxLayout_LeftToRight, "French (Belgian)")
+   LNG(wxLANGUAGE_FRENCH_CANADIAN,            "fr_CA", LANG_FRENCH    , SUBLANG_FRENCH_CANADIAN           , wxLayout_LeftToRight, "French (Canadian)")
+   LNG(wxLANGUAGE_FRENCH_LUXEMBOURG,          "fr_LU", LANG_FRENCH    , SUBLANG_FRENCH_LUXEMBOURG         , wxLayout_LeftToRight, "French (Luxembourg)")
+   LNG(wxLANGUAGE_FRENCH_MONACO,              "fr_MC", LANG_FRENCH    , SUBLANG_FRENCH_MONACO             , wxLayout_LeftToRight, "French (Monaco)")
+   LNG(wxLANGUAGE_FRENCH_SWISS,               "fr_CH", LANG_FRENCH    , SUBLANG_FRENCH_SWISS              , wxLayout_LeftToRight, "French (Swiss)")
+   LNG(wxLANGUAGE_FRISIAN,                    "fy"   , 0              , 0                                 , wxLayout_LeftToRight, "Frisian")
+   LNG(wxLANGUAGE_GALICIAN,                   "gl_ES", 0              , 0                                 , wxLayout_LeftToRight, "Galician")
+   LNG(wxLANGUAGE_GEORGIAN,                   "ka"   , LANG_GEORGIAN  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Georgian")
+   LNG(wxLANGUAGE_GERMAN,                     "de_DE", LANG_GERMAN    , SUBLANG_GERMAN                    , wxLayout_LeftToRight, "German")
+   LNG(wxLANGUAGE_GERMAN_AUSTRIAN,            "de_AT", LANG_GERMAN    , SUBLANG_GERMAN_AUSTRIAN           , wxLayout_LeftToRight, "German (Austrian)")
+   LNG(wxLANGUAGE_GERMAN_BELGIUM,             "de_BE", 0              , 0                                 , wxLayout_LeftToRight, "German (Belgium)")
+   LNG(wxLANGUAGE_GERMAN_LIECHTENSTEIN,       "de_LI", LANG_GERMAN    , SUBLANG_GERMAN_LIECHTENSTEIN      , wxLayout_LeftToRight, "German (Liechtenstein)")
+   LNG(wxLANGUAGE_GERMAN_LUXEMBOURG,          "de_LU", LANG_GERMAN    , SUBLANG_GERMAN_LUXEMBOURG         , wxLayout_LeftToRight, "German (Luxembourg)")
+   LNG(wxLANGUAGE_GERMAN_SWISS,               "de_CH", LANG_GERMAN    , SUBLANG_GERMAN_SWISS              , wxLayout_LeftToRight, "German (Swiss)")
+   LNG(wxLANGUAGE_GREEK,                      "el_GR", LANG_GREEK     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Greek")
+   LNG(wxLANGUAGE_GREENLANDIC,                "kl_GL", 0              , 0                                 , wxLayout_LeftToRight, "Greenlandic")
+   LNG(wxLANGUAGE_GUARANI,                    "gn"   , 0              , 0                                 , wxLayout_LeftToRight, "Guarani")
+   LNG(wxLANGUAGE_GUJARATI,                   "gu"   , LANG_GUJARATI  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Gujarati")
+   LNG(wxLANGUAGE_HAUSA,                      "ha"   , 0              , 0                                 , wxLayout_LeftToRight, "Hausa")
+   LNG(wxLANGUAGE_HEBREW,                     "he_IL", LANG_HEBREW    , SUBLANG_DEFAULT                   , wxLayout_RightToLeft, "Hebrew")
+   LNG(wxLANGUAGE_HINDI,                      "hi_IN", LANG_HINDI     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Hindi")
+   LNG(wxLANGUAGE_HUNGARIAN,                  "hu_HU", LANG_HUNGARIAN , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Hungarian")
+   LNG(wxLANGUAGE_ICELANDIC,                  "is_IS", LANG_ICELANDIC , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Icelandic")
+   LNG(wxLANGUAGE_INDONESIAN,                 "id_ID", LANG_INDONESIAN, SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Indonesian")
+   LNG(wxLANGUAGE_INTERLINGUA,                "ia"   , 0              , 0                                 , wxLayout_LeftToRight, "Interlingua")
+   LNG(wxLANGUAGE_INTERLINGUE,                "ie"   , 0              , 0                                 , wxLayout_LeftToRight, "Interlingue")
+   LNG(wxLANGUAGE_INUKTITUT,                  "iu"   , 0              , 0                                 , wxLayout_LeftToRight, "Inuktitut")
+   LNG(wxLANGUAGE_INUPIAK,                    "ik"   , 0              , 0                                 , wxLayout_LeftToRight, "Inupiak")
+   LNG(wxLANGUAGE_IRISH,                      "ga_IE", 0              , 0                                 , wxLayout_LeftToRight, "Irish")
+   LNG(wxLANGUAGE_ITALIAN,                    "it_IT", LANG_ITALIAN   , SUBLANG_ITALIAN                   , wxLayout_LeftToRight, "Italian")
+   LNG(wxLANGUAGE_ITALIAN_SWISS,              "it_CH", LANG_ITALIAN   , SUBLANG_ITALIAN_SWISS             , wxLayout_LeftToRight, "Italian (Swiss)")
+   LNG(wxLANGUAGE_JAPANESE,                   "ja_JP", LANG_JAPANESE  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Japanese")
+   LNG(wxLANGUAGE_JAVANESE,                   "jw"   , 0              , 0                                 , wxLayout_LeftToRight, "Javanese")
+   LNG(wxLANGUAGE_KANNADA,                    "kn"   , LANG_KANNADA   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Kannada")
+   LNG(wxLANGUAGE_KASHMIRI,                   "ks"   , LANG_KASHMIRI  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Kashmiri")
+   LNG(wxLANGUAGE_KASHMIRI_INDIA,             "ks_IN", LANG_KASHMIRI  , SUBLANG_KASHMIRI_INDIA            , wxLayout_LeftToRight, "Kashmiri (India)")
+   LNG(wxLANGUAGE_KAZAKH,                     "kk"   , LANG_KAZAK     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Kazakh")
+   LNG(wxLANGUAGE_KERNEWEK,                   "kw_GB", 0              , 0                                 , wxLayout_LeftToRight, "Kernewek")
+   LNG(wxLANGUAGE_KINYARWANDA,                "rw"   , 0              , 0                                 , wxLayout_LeftToRight, "Kinyarwanda")
+   LNG(wxLANGUAGE_KIRGHIZ,                    "ky"   , 0              , 0                                 , wxLayout_LeftToRight, "Kirghiz")
+   LNG(wxLANGUAGE_KIRUNDI,                    "rn"   , 0              , 0                                 , wxLayout_LeftToRight, "Kirundi")
+   LNG(wxLANGUAGE_KONKANI,                    ""     , LANG_KONKANI   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Konkani")
+   LNG(wxLANGUAGE_KOREAN,                     "ko_KR", LANG_KOREAN    , SUBLANG_KOREAN                    , wxLayout_LeftToRight, "Korean")
+   LNG(wxLANGUAGE_KURDISH,                    "ku"   , 0              , 0                                 , wxLayout_LeftToRight, "Kurdish")
+   LNG(wxLANGUAGE_LAOTHIAN,                   "lo"   , 0              , 0                                 , wxLayout_LeftToRight, "Laothian")
+   LNG(wxLANGUAGE_LATIN,                      "la"   , 0              , 0                                 , wxLayout_LeftToRight, "Latin")
+   LNG(wxLANGUAGE_LATVIAN,                    "lv_LV", LANG_LATVIAN   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Latvian")
+   LNG(wxLANGUAGE_LINGALA,                    "ln"   , 0              , 0                                 , wxLayout_LeftToRight, "Lingala")
+   LNG(wxLANGUAGE_LITHUANIAN,                 "lt_LT", LANG_LITHUANIAN, SUBLANG_LITHUANIAN                , wxLayout_LeftToRight, "Lithuanian")
+   LNG(wxLANGUAGE_MACEDONIAN,                 "mk_MK", LANG_MACEDONIAN, SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Macedonian")
+   LNG(wxLANGUAGE_MALAGASY,                   "mg"   , 0              , 0                                 , wxLayout_LeftToRight, "Malagasy")
+   LNG(wxLANGUAGE_MALAY,                      "ms_MY", LANG_MALAY     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Malay")
+   LNG(wxLANGUAGE_MALAYALAM,                  "ml"   , LANG_MALAYALAM , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Malayalam")
+   LNG(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM,    "ms_BN", LANG_MALAY     , SUBLANG_MALAY_BRUNEI_DARUSSALAM   , wxLayout_LeftToRight, "Malay (Brunei Darussalam)")
+   LNG(wxLANGUAGE_MALAY_MALAYSIA,             "ms_MY", LANG_MALAY     , SUBLANG_MALAY_MALAYSIA            , wxLayout_LeftToRight, "Malay (Malaysia)")
+   LNG(wxLANGUAGE_MALTESE,                    "mt_MT", 0              , 0                                 , wxLayout_LeftToRight, "Maltese")
+   LNG(wxLANGUAGE_MANIPURI,                   ""     , LANG_MANIPURI  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Manipuri")
+   LNG(wxLANGUAGE_MAORI,                      "mi"   , 0              , 0                                 , wxLayout_LeftToRight, "Maori")
+   LNG(wxLANGUAGE_MARATHI,                    "mr_IN", LANG_MARATHI   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Marathi")
+   LNG(wxLANGUAGE_MOLDAVIAN,                  "mo"   , 0              , 0                                 , wxLayout_LeftToRight, "Moldavian")
+   LNG(wxLANGUAGE_MONGOLIAN,                  "mn"   , 0              , 0                                 , wxLayout_LeftToRight, "Mongolian")
+   LNG(wxLANGUAGE_NAURU,                      "na"   , 0              , 0                                 , wxLayout_LeftToRight, "Nauru")
+   LNG(wxLANGUAGE_NEPALI,                     "ne"   , LANG_NEPALI    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Nepali")
+   LNG(wxLANGUAGE_NEPALI_INDIA,               "ne_IN", LANG_NEPALI    , SUBLANG_NEPALI_INDIA              , wxLayout_LeftToRight, "Nepali (India)")
+   LNG(wxLANGUAGE_NORWEGIAN_BOKMAL,           "nb_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_BOKMAL          , wxLayout_LeftToRight, "Norwegian (Bokmal)")
+   LNG(wxLANGUAGE_NORWEGIAN_NYNORSK,          "nn_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_NYNORSK         , wxLayout_LeftToRight, "Norwegian (Nynorsk)")
+   LNG(wxLANGUAGE_OCCITAN,                    "oc"   , 0              , 0                                 , wxLayout_LeftToRight, "Occitan")
+   LNG(wxLANGUAGE_ORIYA,                      "or"   , LANG_ORIYA     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Oriya")
+   LNG(wxLANGUAGE_OROMO,                      "om"   , 0              , 0                                 , wxLayout_LeftToRight, "(Afan) Oromo")
+   LNG(wxLANGUAGE_PASHTO,                     "ps"   , 0              , 0                                 , wxLayout_LeftToRight, "Pashto, Pushto")
+   LNG(wxLANGUAGE_POLISH,                     "pl_PL", LANG_POLISH    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Polish")
+   LNG(wxLANGUAGE_PORTUGUESE,                 "pt_PT", LANG_PORTUGUESE, SUBLANG_PORTUGUESE                , wxLayout_LeftToRight, "Portuguese")
+   LNG(wxLANGUAGE_PORTUGUESE_BRAZILIAN,       "pt_BR", LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN      , wxLayout_LeftToRight, "Portuguese (Brazilian)")
+   LNG(wxLANGUAGE_PUNJABI,                    "pa"   , LANG_PUNJABI   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Punjabi")
+   LNG(wxLANGUAGE_QUECHUA,                    "qu"   , 0              , 0                                 , wxLayout_LeftToRight, "Quechua")
+   LNG(wxLANGUAGE_RHAETO_ROMANCE,             "rm"   , 0              , 0                                 , wxLayout_LeftToRight, "Rhaeto-Romance")
+   LNG(wxLANGUAGE_ROMANIAN,                   "ro_RO", LANG_ROMANIAN  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Romanian")
+   LNG(wxLANGUAGE_RUSSIAN,                    "ru_RU", LANG_RUSSIAN   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Russian")
+   LNG(wxLANGUAGE_RUSSIAN_UKRAINE,            "ru_UA", 0              , 0                                 , wxLayout_LeftToRight, "Russian (Ukraine)")
+   LNG(wxLANGUAGE_SAMOAN,                     "sm"   , 0              , 0                                 , wxLayout_LeftToRight, "Samoan")
+   LNG(wxLANGUAGE_SANGHO,                     "sg"   , 0              , 0                                 , wxLayout_LeftToRight, "Sangho")
+   LNG(wxLANGUAGE_SANSKRIT,                   "sa"   , LANG_SANSKRIT  , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Sanskrit")
+   LNG(wxLANGUAGE_SCOTS_GAELIC,               "gd"   , 0              , 0                                 , wxLayout_LeftToRight, "Scots Gaelic")
+   LNG(wxLANGUAGE_SERBIAN_CYRILLIC,           "sr_YU", LANG_SERBIAN   , SUBLANG_SERBIAN_CYRILLIC          , wxLayout_LeftToRight, "Serbian (Cyrillic)")
+   LNG(wxLANGUAGE_SERBIAN_LATIN,              "sr_YU", LANG_SERBIAN   , SUBLANG_SERBIAN_LATIN             , wxLayout_LeftToRight, "Serbian (Latin)")
+   LNG(wxLANGUAGE_SERBO_CROATIAN,             "sh"   , 0              , 0                                 , wxLayout_LeftToRight, "Serbo-Croatian")
+   LNG(wxLANGUAGE_SESOTHO,                    "st"   , 0              , 0                                 , wxLayout_LeftToRight, "Sesotho")
+   LNG(wxLANGUAGE_SETSWANA,                   "tn"   , 0              , 0                                 , wxLayout_LeftToRight, "Setswana")
+   LNG(wxLANGUAGE_SHONA,                      "sn"   , 0              , 0                                 , wxLayout_LeftToRight, "Shona")
+   LNG(wxLANGUAGE_SINDHI,                     "sd"   , LANG_SINDHI    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Sindhi")
+   LNG(wxLANGUAGE_SINHALESE,                  "si"   , 0              , 0                                 , wxLayout_LeftToRight, "Sinhalese")
+   LNG(wxLANGUAGE_SISWATI,                    "ss"   , 0              , 0                                 , wxLayout_LeftToRight, "Siswati")
+   LNG(wxLANGUAGE_SLOVAK,                     "sk_SK", LANG_SLOVAK    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Slovak")
+   LNG(wxLANGUAGE_SLOVENIAN,                  "sl_SI", LANG_SLOVENIAN , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Slovenian")
+   LNG(wxLANGUAGE_SOMALI,                     "so"   , 0              , 0                                 , wxLayout_LeftToRight, "Somali")
+   LNG(wxLANGUAGE_SPANISH,                    "es_ES", LANG_SPANISH   , SUBLANG_SPANISH                   , wxLayout_LeftToRight, "Spanish")
+   LNG(wxLANGUAGE_SPANISH_ARGENTINA,          "es_AR", LANG_SPANISH   , SUBLANG_SPANISH_ARGENTINA         , wxLayout_LeftToRight, "Spanish (Argentina)")
+   LNG(wxLANGUAGE_SPANISH_BOLIVIA,            "es_BO", LANG_SPANISH   , SUBLANG_SPANISH_BOLIVIA           , wxLayout_LeftToRight, "Spanish (Bolivia)")
+   LNG(wxLANGUAGE_SPANISH_CHILE,              "es_CL", LANG_SPANISH   , SUBLANG_SPANISH_CHILE             , wxLayout_LeftToRight, "Spanish (Chile)")
+   LNG(wxLANGUAGE_SPANISH_COLOMBIA,           "es_CO", LANG_SPANISH   , SUBLANG_SPANISH_COLOMBIA          , wxLayout_LeftToRight, "Spanish (Colombia)")
+   LNG(wxLANGUAGE_SPANISH_COSTA_RICA,         "es_CR", LANG_SPANISH   , SUBLANG_SPANISH_COSTA_RICA        , wxLayout_LeftToRight, "Spanish (Costa Rica)")
+   LNG(wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, "es_DO", LANG_SPANISH   , SUBLANG_SPANISH_DOMINICAN_REPUBLIC, wxLayout_LeftToRight, "Spanish (Dominican republic)")
+   LNG(wxLANGUAGE_SPANISH_ECUADOR,            "es_EC", LANG_SPANISH   , SUBLANG_SPANISH_ECUADOR           , wxLayout_LeftToRight, "Spanish (Ecuador)")
+   LNG(wxLANGUAGE_SPANISH_EL_SALVADOR,        "es_SV", LANG_SPANISH   , SUBLANG_SPANISH_EL_SALVADOR       , wxLayout_LeftToRight, "Spanish (El Salvador)")
+   LNG(wxLANGUAGE_SPANISH_GUATEMALA,          "es_GT", LANG_SPANISH   , SUBLANG_SPANISH_GUATEMALA         , wxLayout_LeftToRight, "Spanish (Guatemala)")
+   LNG(wxLANGUAGE_SPANISH_HONDURAS,           "es_HN", LANG_SPANISH   , SUBLANG_SPANISH_HONDURAS          , wxLayout_LeftToRight, "Spanish (Honduras)")
+   LNG(wxLANGUAGE_SPANISH_MEXICAN,            "es_MX", LANG_SPANISH   , SUBLANG_SPANISH_MEXICAN           , wxLayout_LeftToRight, "Spanish (Mexican)")
+   LNG(wxLANGUAGE_SPANISH_MODERN,             "es_ES", LANG_SPANISH   , SUBLANG_SPANISH_MODERN            , wxLayout_LeftToRight, "Spanish (Modern)")
+   LNG(wxLANGUAGE_SPANISH_NICARAGUA,          "es_NI", LANG_SPANISH   , SUBLANG_SPANISH_NICARAGUA         , wxLayout_LeftToRight, "Spanish (Nicaragua)")
+   LNG(wxLANGUAGE_SPANISH_PANAMA,             "es_PA", LANG_SPANISH   , SUBLANG_SPANISH_PANAMA            , wxLayout_LeftToRight, "Spanish (Panama)")
+   LNG(wxLANGUAGE_SPANISH_PARAGUAY,           "es_PY", LANG_SPANISH   , SUBLANG_SPANISH_PARAGUAY          , wxLayout_LeftToRight, "Spanish (Paraguay)")
+   LNG(wxLANGUAGE_SPANISH_PERU,               "es_PE", LANG_SPANISH   , SUBLANG_SPANISH_PERU              , wxLayout_LeftToRight, "Spanish (Peru)")
+   LNG(wxLANGUAGE_SPANISH_PUERTO_RICO,        "es_PR", LANG_SPANISH   , SUBLANG_SPANISH_PUERTO_RICO       , wxLayout_LeftToRight, "Spanish (Puerto Rico)")
+   LNG(wxLANGUAGE_SPANISH_URUGUAY,            "es_UY", LANG_SPANISH   , SUBLANG_SPANISH_URUGUAY           , wxLayout_LeftToRight, "Spanish (Uruguay)")
+   LNG(wxLANGUAGE_SPANISH_US,                 "es_US", 0              , 0                                 , wxLayout_LeftToRight, "Spanish (U.S.)")
+   LNG(wxLANGUAGE_SPANISH_VENEZUELA,          "es_VE", LANG_SPANISH   , SUBLANG_SPANISH_VENEZUELA         , wxLayout_LeftToRight, "Spanish (Venezuela)")
+   LNG(wxLANGUAGE_SUNDANESE,                  "su"   , 0              , 0                                 , wxLayout_LeftToRight, "Sundanese")
+   LNG(wxLANGUAGE_SWAHILI,                    "sw_KE", LANG_SWAHILI   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Swahili")
+   LNG(wxLANGUAGE_SWEDISH,                    "sv_SE", LANG_SWEDISH   , SUBLANG_SWEDISH                   , wxLayout_LeftToRight, "Swedish")
+   LNG(wxLANGUAGE_SWEDISH_FINLAND,            "sv_FI", LANG_SWEDISH   , SUBLANG_SWEDISH_FINLAND           , wxLayout_LeftToRight, "Swedish (Finland)")
+   LNG(wxLANGUAGE_TAGALOG,                    "tl_PH", 0              , 0                                 , wxLayout_LeftToRight, "Tagalog")
+   LNG(wxLANGUAGE_TAJIK,                      "tg"   , 0              , 0                                 , wxLayout_LeftToRight, "Tajik")
+   LNG(wxLANGUAGE_TAMIL,                      "ta"   , LANG_TAMIL     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Tamil")
+   LNG(wxLANGUAGE_TATAR,                      "tt"   , LANG_TATAR     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Tatar")
+   LNG(wxLANGUAGE_TELUGU,                     "te"   , LANG_TELUGU    , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Telugu")
+   LNG(wxLANGUAGE_THAI,                       "th_TH", LANG_THAI      , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Thai")
+   LNG(wxLANGUAGE_TIBETAN,                    "bo"   , 0              , 0                                 , wxLayout_LeftToRight, "Tibetan")
+   LNG(wxLANGUAGE_TIGRINYA,                   "ti"   , 0              , 0                                 , wxLayout_LeftToRight, "Tigrinya")
+   LNG(wxLANGUAGE_TONGA,                      "to"   , 0              , 0                                 , wxLayout_LeftToRight, "Tonga")
+   LNG(wxLANGUAGE_TSONGA,                     "ts"   , 0              , 0                                 , wxLayout_LeftToRight, "Tsonga")
+   LNG(wxLANGUAGE_TURKISH,                    "tr_TR", LANG_TURKISH   , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Turkish")
+   LNG(wxLANGUAGE_TURKMEN,                    "tk"   , 0              , 0                                 , wxLayout_LeftToRight, "Turkmen")
+   LNG(wxLANGUAGE_TWI,                        "tw"   , 0              , 0                                 , wxLayout_LeftToRight, "Twi")
+   LNG(wxLANGUAGE_UIGHUR,                     "ug"   , 0              , 0                                 , wxLayout_LeftToRight, "Uighur")
+   LNG(wxLANGUAGE_UKRAINIAN,                  "uk_UA", LANG_UKRAINIAN , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Ukrainian")
+   LNG(wxLANGUAGE_URDU,                       "ur"   , LANG_URDU      , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Urdu")
+   LNG(wxLANGUAGE_URDU_INDIA,                 "ur_IN", LANG_URDU      , SUBLANG_URDU_INDIA                , wxLayout_LeftToRight, "Urdu (India)")
+   LNG(wxLANGUAGE_URDU_PAKISTAN,              "ur_PK", LANG_URDU      , SUBLANG_URDU_PAKISTAN             , wxLayout_LeftToRight, "Urdu (Pakistan)")
+   LNG(wxLANGUAGE_UZBEK,                      "uz"   , LANG_UZBEK     , SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Uzbek")
+   LNG(wxLANGUAGE_UZBEK_CYRILLIC,             "uz"   , LANG_UZBEK     , SUBLANG_UZBEK_CYRILLIC            , wxLayout_LeftToRight, "Uzbek (Cyrillic)")
+   LNG(wxLANGUAGE_UZBEK_LATIN,                "uz"   , LANG_UZBEK     , SUBLANG_UZBEK_LATIN               , wxLayout_LeftToRight, "Uzbek (Latin)")
+   LNG(wxLANGUAGE_VIETNAMESE,                 "vi_VN", LANG_VIETNAMESE, SUBLANG_DEFAULT                   , wxLayout_LeftToRight, "Vietnamese")
+   LNG(wxLANGUAGE_VOLAPUK,                    "vo"   , 0              , 0                                 , wxLayout_LeftToRight, "Volapuk")
+   LNG(wxLANGUAGE_WELSH,                      "cy"   , 0              , 0                                 , wxLayout_LeftToRight, "Welsh")
+   LNG(wxLANGUAGE_WOLOF,                      "wo"   , 0              , 0                                 , wxLayout_LeftToRight, "Wolof")
+   LNG(wxLANGUAGE_XHOSA,                      "xh"   , 0              , 0                                 , wxLayout_LeftToRight, "Xhosa")
+   LNG(wxLANGUAGE_YIDDISH,                    "yi"   , 0              , 0                                 , wxLayout_LeftToRight, "Yiddish")
+   LNG(wxLANGUAGE_YORUBA,                     "yo"   , 0              , 0                                 , wxLayout_LeftToRight, "Yoruba")
+   LNG(wxLANGUAGE_ZHUANG,                     "za"   , 0              , 0                                 , wxLayout_LeftToRight, "Zhuang")
+   LNG(wxLANGUAGE_ZULU,                       "zu"   , 0              , 0                                 , wxLayout_LeftToRight, "Zulu")
 }
 #undef LNG
 
index 6c536703f1489aaef110d4890a3691b2ef4454a4..ed390865d604d3471cc6f6b798394d6603deb7bd 100644 (file)
@@ -1695,6 +1695,16 @@ void wxBoxSizer::RecalcSizes()
                 //     wxALIGN_CENTER should be used in new code
                     child_pos.y += (m_size.y - size.y) / 2;
 
+                if ( m_containingWindow )
+                {
+                    child_pos.x = m_containingWindow->AdjustForLayoutDirection
+                                                      (
+                                                        child_pos.x,
+                                                        width,
+                                                        m_size.x
+                                                      );
+                }
+
                 item->SetDimension( child_pos, child_size );
 
                 pt.x += width;
index fd9f090d5eabb1417fafd02facca0b9334a61be9..a75b82f1dac90fc2d49af02f67c534b17e8872f8 100644 (file)
@@ -2980,3 +2980,21 @@ wxAccStatus wxWindowAccessible::GetSelections(wxVariant* WXUNUSED(selections))
 }
 
 #endif // wxUSE_ACCESSIBILITY
+
+// ----------------------------------------------------------------------------
+// RTL support
+// ----------------------------------------------------------------------------
+
+wxCoord
+wxWindowBase::AdjustForLayoutDirection(wxCoord x,
+                                       wxCoord width,
+                                       wxCoord widthTotal) const
+{
+    if ( GetLayoutDirection() == wxLayout_RightToLeft )
+    {
+        x = widthTotal - x - width;
+    }
+
+    return x;
+}
+
index e38027d8e21b61e5ac5c9c02f59132233084c2c1..993c2881bddf02f8d7163e1753210af4ac5ce3ff 100644 (file)
@@ -255,6 +255,50 @@ void wxMenuBar::SetInvokingWindow( wxWindow *win )
     }
 }
 
+void wxMenuBar::SetLayoutDirection(wxLayoutDirection dir)
+{
+    if ( dir == wxLayout_Default )
+    {
+        const wxWindow *const frame = GetFrame();
+        if ( frame )
+        {
+            // inherit layout from frame.
+            dir = frame->GetLayoutDirection();
+        }
+        else // use global layout
+        {
+            dir = wxTheApp->GetLayoutDirection();
+        }
+    }
+
+    if ( dir == wxLayout_Default )
+        return;
+
+    GTKSetLayout(m_menubar, dir);
+
+    // also set the layout of all menus we already have (new ones will inherit
+    // the current layout)
+    for ( wxMenuList::compatibility_iterator node = m_menus.GetFirst();
+          node;
+          node = node->GetNext() )
+    {
+        wxMenu *const menu = node->GetData();
+        menu->SetLayoutDirection(dir);
+    }
+}
+
+wxLayoutDirection wxMenuBar::GetLayoutDirection() const
+{
+    return GTKGetLayout(m_menubar);
+}
+
+void wxMenuBar::Attach(wxFrame *frame)
+{
+    wxMenuBarBase::Attach(frame);
+
+    SetLayoutDirection(wxLayout_Default);
+}
+
 void wxMenuBar::UnsetInvokingWindow( wxWindow *win )
 {
     m_invokingWindow = (wxWindow*) NULL;
@@ -288,6 +332,7 @@ bool wxMenuBar::GtkAppend(wxMenu *menu, const wxString& title, int pos)
 
     // The "m_owner" is the "menu item"
     menu->m_owner = gtk_menu_item_new_with_mnemonic( wxGTK_CONV( str ) );
+    menu->SetLayoutDirection(GetLayoutDirection());
 
     gtk_widget_show( menu->m_owner );
 
@@ -987,6 +1032,18 @@ wxMenu::~wxMenu()
    }
 }
 
+void wxMenu::SetLayoutDirection(const wxLayoutDirection dir)
+{
+    if ( m_owner )
+        wxWindow::GTKSetLayout(m_owner, dir);
+    //else: will be called later by wxMenuBar again
+}
+
+wxLayoutDirection wxMenu::GetLayoutDirection() const
+{
+    return wxWindow::GTKGetLayout(m_owner);
+}
+
 bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
 {
     GtkWidget *menuItem;
@@ -1225,6 +1282,14 @@ int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
     return wxNOT_FOUND;
 }
 
+void wxMenu::Attach(wxMenuBarBase *menubar)
+{
+    wxMenuBase::Attach(menubar);
+
+    // inherit layout direction from menubar.
+    SetLayoutDirection(menubar->GetLayoutDirection());
+}
+
 // ----------------------------------------------------------------------------
 // helpers
 // ----------------------------------------------------------------------------
index 41ffc396b306ef115de0837cb45f40b14ea7e6c0..f5499b38df04af9424a3d3e4cd1cb3527052c27e 100644 (file)
@@ -2690,6 +2690,8 @@ void wxWindowGTK::PostCreation()
     InheritAttributes();
 
     m_hasVMT = true;
+    
+    SetLayoutDirection(wxLayout_Default);
 
     // unless the window was created initially hidden (i.e. Hide() had been
     // called before Create()), we should show it at GTK+ level as well
@@ -3393,6 +3395,8 @@ bool wxWindowGTK::Reparent( wxWindowBase *newParentBase )
 
     /* reverse: prevent GTK from deleting the widget arbitrarily */
     gtk_widget_unref( m_widget );
+    
+    SetLayoutDirection(wxLayout_Default);
 
     return true;
 }
@@ -3428,6 +3432,51 @@ void wxWindowGTK::RemoveChild(wxWindowBase *child)
         wxapp_install_idle_handler();
 }
 
+/* static */
+wxLayoutDirection wxWindowGTK::GTKGetLayout(GtkWidget *widget)
+{
+    return gtk_widget_get_direction(GTK_WIDGET(widget)) == GTK_TEXT_DIR_RTL
+                ? wxLayout_RightToLeft
+                : wxLayout_LeftToRight;
+}
+
+/* static */
+void wxWindowGTK::GTKSetLayout(GtkWidget *widget, wxLayoutDirection dir)
+{
+    wxASSERT_MSG( dir != wxLayout_Default, _T("invalid layout direction") );
+
+    gtk_widget_set_direction(GTK_WIDGET(widget),
+                             dir == wxLayout_RightToLeft ? GTK_TEXT_DIR_RTL
+                                                         : GTK_TEXT_DIR_LTR);
+}
+
+wxLayoutDirection wxWindowGTK::GetLayoutDirection() const
+{
+    return GTKGetLayout(m_widget);
+}
+
+void wxWindowGTK::SetLayoutDirection(wxLayoutDirection dir)
+{
+    if ( dir == wxLayout_Default )
+    {
+        const wxWindow *const parent = GetParent();
+        if ( parent )
+        {
+            // inherit layout from parent.
+            dir = parent->GetLayoutDirection();
+        }
+        else // no parent, use global default layout
+        {
+            dir = wxTheApp->GetLayoutDirection();
+        }
+    }
+
+    if ( dir == wxLayout_Default )
+        return;
+
+    GTKSetLayout(m_widget, dir);
+}
+
 void wxWindowGTK::DoMoveInTabOrder(wxWindow *win, MoveKind move)
 {
     wxWindowBase::DoMoveInTabOrder(win, move);
index 41cb6a49a82172d28adff80e58f45281565c8a8f..c8aaa8ef73156daa84a50c075b4cba461f4fd08d 100644 (file)
@@ -97,6 +97,9 @@ int wxMessageDialog::ShowModal()
     if ( wxStyle & wxSTAY_ON_TOP )
         msStyle |= MB_TOPMOST;
 
+    if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
+        msStyle |= MB_RTLREADING | MB_RIGHT;
+
     if (hWnd)
         msStyle |= MB_APPLMODAL;
     else
index 0f3f8558d8dafc995fb1e29dec476f8ae39e22b5..b18f806040035441e4d4900e1708ce08504be5e6 100644 (file)
@@ -203,16 +203,23 @@ WXHWND wxToolTip::GetToolTipCtrl()
 {
     if ( !ms_hwndTT )
     {
+        WXDWORD exflags = 0;
+        if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
+        {
+            exflags |= WS_EX_LAYOUTRTL;
+        }
+
         // we want to show the tooltips always (even when the window is not
         // active) and we don't want to strip "&"s from them
-        ms_hwndTT = (WXHWND)::CreateWindow(TOOLTIPS_CLASS,
-                                           (LPCTSTR)NULL,
-                                           TTS_ALWAYSTIP | TTS_NOPREFIX,
-                                           CW_USEDEFAULT, CW_USEDEFAULT,
-                                           CW_USEDEFAULT, CW_USEDEFAULT,
-                                           NULL, (HMENU)NULL,
-                                           wxGetInstance(),
-                                           NULL);
+        ms_hwndTT = (WXHWND)::CreateWindowEx(exflags,
+                                             TOOLTIPS_CLASS,
+                                             (LPCTSTR)NULL,
+                                             TTS_ALWAYSTIP | TTS_NOPREFIX,
+                                             CW_USEDEFAULT, CW_USEDEFAULT,
+                                             CW_USEDEFAULT, CW_USEDEFAULT,
+                                             NULL, (HMENU)NULL,
+                                             wxGetInstance(),
+                                             NULL);
        if ( ms_hwndTT )
        {
            HWND hwnd = (HWND)ms_hwndTT;
index 4b1301b55fe577904d4cfcb277636d1395a602b8..214fbc7718e000b90a8bc37b88724dcdc1bbfd39 100644 (file)
@@ -503,6 +503,9 @@ bool wxTopLevelWindowMSW::CreateFrame(const wxString& title,
 
     const wxSize sz = IsAlwaysMaximized() ? wxDefaultSize : size;
 
+    if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
+        exflags |= WS_EX_LAYOUTRTL;
+
     return MSWCreate(wxCanvasClassName, title, pos, sz, flags, exflags);
 }
 
@@ -561,6 +564,11 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
 
         // all dialogs are popups
         dlgTemplate->style |= WS_POPUP;
+        
+        if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
+        {
+            dlgTemplate->dwExtendedStyle |= WS_EX_LAYOUTRTL;
+        }
 
 #ifndef __WXWINCE__
         // force 3D-look if necessary, it looks impossibly ugly otherwise
@@ -761,6 +769,15 @@ void wxTopLevelWindowMSW::Restore()
     DoShowWindow(SW_RESTORE);
 }
 
+void wxTopLevelWindowMSW::SetLayoutDirection(wxLayoutDirection dir)
+{
+    if ( dir == wxLayout_Default )
+        dir = wxTheApp->GetLayoutDirection();
+
+    if ( dir != wxLayout_Default )
+        wxTopLevelWindowBase::SetLayoutDirection(dir);
+}
+
 // ----------------------------------------------------------------------------
 // wxTopLevelWindowMSW fullscreen
 // ----------------------------------------------------------------------------
index eea6424f01ce23ee4e96073300ef7b5e982df1c9..1a4014b4204efa165a3365a6950354619623f5dd 100644 (file)
@@ -1018,6 +1018,59 @@ bool wxWindowMSW::ScrollPages(int pages)
                             down ? pages : -pages);
 }
 
+// ----------------------------------------------------------------------------
+// RTL support
+// ----------------------------------------------------------------------------
+
+void wxWindowMSW::SetLayoutDirection(wxLayoutDirection dir)
+{
+    const HWND hwnd = GetHwnd();
+    wxCHECK_RET( hwnd, _T("layout direction must be set after window creation") );
+
+    LONG styleOld = ::GetWindowLong(hwnd, GWL_EXSTYLE);
+
+    LONG styleNew = styleOld;
+    switch ( dir )
+    {
+        case wxLayout_LeftToRight:
+            styleNew &= ~WS_EX_LAYOUTRTL;
+            break;
+
+        case wxLayout_RightToLeft:
+            styleNew |= WS_EX_LAYOUTRTL;
+            break;
+
+        default:
+            wxFAIL_MSG(_T("unsupported layout direction"));
+            break;
+    }
+
+    if ( styleNew != styleOld )
+    {
+        ::SetWindowLong(hwnd, GWL_EXSTYLE, styleNew);
+    }
+}
+
+wxLayoutDirection wxWindowMSW::GetLayoutDirection() const
+{
+    const HWND hwnd = GetHwnd();
+    wxCHECK_MSG( hwnd, wxLayout_Default, _T("invalid window") );
+
+    return ::GetWindowLong(hwnd, GWL_EXSTYLE) & WS_EX_LAYOUTRTL
+                ? wxLayout_RightToLeft
+                : wxLayout_LeftToRight;
+}
+
+wxCoord
+wxWindowMSW::AdjustForLayoutDirection(wxCoord x,
+                                      wxCoord WXUNUSED(width),
+                                      wxCoord WXUNUSED(widthTotal)) const
+{
+    // Win32 mirrors the coordinates of RTL windows automatically, so don't
+    // redo it ourselves
+    return x;
+}
+
 // ---------------------------------------------------------------------------
 // subclassing
 // ---------------------------------------------------------------------------