merge of RTL changes (with many modifications) from SOC2006_RTL branch

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-09-04 13:35:13 +00:00
parent ca8d899fcb
commit 978af86426
24 changed files with 946 additions and 475 deletions

View File

@@ -57,6 +57,7 @@ All:
All (GUI): All (GUI):
- Support for right-to-left text layout (Diaa Sami during Google Summer of Code)
- Added wxID_PAGE_SETUP standard id - Added wxID_PAGE_SETUP standard id
wxMac: wxMac:

View File

@@ -27,6 +27,7 @@
#include "wx/build.h" #include "wx/build.h"
#include "wx/init.h" // we must declare wxEntry() #include "wx/init.h" // we must declare wxEntry()
#include "wx/intl.h"
class WXDLLIMPEXP_BASE wxAppConsole; class WXDLLIMPEXP_BASE wxAppConsole;
class WXDLLIMPEXP_BASE wxAppTraits; class WXDLLIMPEXP_BASE wxAppTraits;
@@ -113,6 +114,9 @@ public:
// Called from wxExit() function, should terminate the application a.s.a.p. // Called from wxExit() function, should terminate the application a.s.a.p.
virtual void Exit(); virtual void Exit();
// Return the layout direction for the current locale
virtual wxLayoutDirection GetLayoutDirection() const;
// application info: name, description, vendor // application info: name, description, vendor
// ------------------------------------------- // -------------------------------------------

View File

@@ -37,6 +37,11 @@ public:
virtual void SetLabelTop( size_t pos, const wxString& label ); virtual void SetLabelTop( size_t pos, const wxString& label );
virtual wxString GetLabelTop( size_t pos ) const; virtual wxString GetLabelTop( size_t pos ) const;
void SetLayoutDirection(wxLayoutDirection dir);
wxLayoutDirection GetLayoutDirection() const;
void Attach(wxFrame *frame);
// implementation only from now on // implementation only from now on
void SetInvokingWindow( wxWindow *win ); void SetInvokingWindow( wxWindow *win );
void UnsetInvokingWindow( wxWindow *win ); void UnsetInvokingWindow( wxWindow *win );
@@ -69,6 +74,11 @@ public:
virtual ~wxMenu(); virtual ~wxMenu();
void Attach(wxMenuBarBase *menubar);
void SetLayoutDirection(const wxLayoutDirection dir);
wxLayoutDirection GetLayoutDirection() const;
// TODO: virtual void SetTitle(const wxString& title); // TODO: virtual void SetTitle(const wxString& title);
// implementation // implementation

View File

@@ -113,6 +113,9 @@ public:
virtual void AddChild( wxWindowBase *child ); virtual void AddChild( wxWindowBase *child );
virtual void RemoveChild( wxWindowBase *child ); virtual void RemoveChild( wxWindowBase *child );
virtual void SetLayoutDirection(wxLayoutDirection dir);
virtual wxLayoutDirection GetLayoutDirection() const;
// currently wxGTK2-only // currently wxGTK2-only
void SetDoubleBuffered(bool on); void SetDoubleBuffered(bool on);
@@ -172,6 +175,10 @@ public:
// base version just does GetEventHandler()->ProcessEvent() // base version just does GetEventHandler()->ProcessEvent()
virtual bool GTKProcessEvent(wxEvent& event) const; 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: protected:
// Override GTKWidgetNeedsMnemonic and return true if your // Override GTKWidgetNeedsMnemonic and return true if your
// needs to set its mnemonic widget, such as for a // needs to set its mnemonic widget, such as for a

View File

@@ -302,6 +302,13 @@ enum wxLanguage
// --- --- --- generated code ends here --- --- --- // --- --- --- generated code ends here --- --- ---
enum wxLayoutDirection
{
wxLayout_Default,
wxLayout_LeftToRight,
wxLayout_RightToLeft
};
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxLanguageInfo: encapsulates wxLanguage to OS native lang.desc. // wxLanguageInfo: encapsulates wxLanguage to OS native lang.desc.
// translation information // translation information
@@ -316,6 +323,7 @@ struct WXDLLIMPEXP_BASE wxLanguageInfo
WinSublang; WinSublang;
#endif // __WIN32__ #endif // __WIN32__
wxString Description; // human-readable name of the language wxString Description; // human-readable name of the language
wxLayoutDirection LayoutDirection;
}; };
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -56,6 +56,8 @@ public:
virtual void SetIcons(const wxIconBundle& icons ); virtual void SetIcons(const wxIconBundle& icons );
virtual void Restore(); virtual void Restore();
virtual void SetLayoutDirection(wxLayoutDirection dir);
#ifndef __WXWINCE__ #ifndef __WXWINCE__
virtual bool SetShape(const wxRegion& region); virtual bool SetShape(const wxRegion& region);
#endif // __WXWINCE__ #endif // __WXWINCE__

View File

@@ -110,6 +110,12 @@ public:
virtual bool ScrollLines(int lines); virtual bool ScrollLines(int lines);
virtual bool ScrollPages(int pages); 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 #if wxUSE_DRAG_AND_DROP
virtual void SetDropTarget( wxDropTarget *dropTarget ); virtual void SetDropTarget( wxDropTarget *dropTarget );
#endif // wxUSE_DRAG_AND_DROP #endif // wxUSE_DRAG_AND_DROP

View File

@@ -25,6 +25,7 @@
#include "wx/colour.h" #include "wx/colour.h"
#include "wx/region.h" #include "wx/region.h"
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/intl.h"
#include "wx/validate.h" // for wxDefaultValidator (always include it) #include "wx/validate.h" // for wxDefaultValidator (always include it)
@@ -180,9 +181,10 @@ public:
virtual void SetName( const wxString &name ) { m_windowName = name; } virtual void SetName( const wxString &name ) { m_windowName = name; }
virtual wxString GetName() const { return m_windowName; } virtual wxString GetName() const { return m_windowName; }
// sets the window variant, calls internally DoSetVariant if variant has changed // sets the window variant, calls internally DoSetVariant if variant
void SetWindowVariant( wxWindowVariant variant ) ; // has changed
wxWindowVariant GetWindowVariant() const { return m_windowVariant ; } void SetWindowVariant(wxWindowVariant variant);
wxWindowVariant GetWindowVariant() const { return m_windowVariant; }
// window id uniquely identifies the window among its siblings unless // window id uniquely identifies the window among its siblings unless
@@ -190,6 +192,19 @@ public:
void SetId( wxWindowID winid ) { m_windowId = winid; } void SetId( wxWindowID winid ) { m_windowId = winid; }
wxWindowID GetId() const { return m_windowId; } 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 // generate a control id for the controls which were not given one by
// user // user
static int NewControlId() { return --ms_lastControlId; } static int NewControlId() { return --ms_lastControlId; }

View File

@@ -12,7 +12,7 @@ def ReadTable():
f = open('langtabl.txt') f = open('langtabl.txt')
for i in f.readlines(): for i in f.readlines():
ispl = i.split() 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() f.close()
return table return table
@@ -87,8 +87,14 @@ def GenTable(table):
if ilang == '-': ilang = '0' if ilang == '-': ilang = '0'
isublang = i[3] isublang = i[3]
if isublang == '-': isublang = '0' if isublang == '-': isublang = '0'
lngtable += ' LNG(%-38s %-7s, %-15s, %-34s, %s)\n' % \ if (i[4] == "LTR") :
((i[0]+','), ican, ilang, isublang, i[4]) 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 ilang not in all_langs: all_langs.append(ilang)
if isublang not in all_sublangs: all_sublangs.append(isublang) if isublang not in all_sublangs: all_sublangs.append(isublang)
@@ -119,10 +125,11 @@ def GenTable(table):
#endif // __WIN32__ #endif // __WIN32__
#define LNG(wxlang, canonical, winlang, winsublang, desc) \\ #define LNG(wxlang, canonical, winlang, winsublang, layout, desc) \\
info.Language = wxlang; \\ info.Language = wxlang; \\
info.CanonicalName = wxT(canonical); \\ info.CanonicalName = wxT(canonical); \\
info.Description = desc; \\ info.LayoutDirection = layout; \\
info.Description = wxT(desc); \\
SETWINLANG(info, winlang, winsublang) \\ SETWINLANG(info, winlang, winsublang) \\
AddLanguage(info); AddLanguage(info);

View File

@@ -1,227 +1,227 @@
wxLANGUAGE_ABKHAZIAN ab - - "Abkhazian" wxLANGUAGE_ABKHAZIAN ab - - LTR "Abkhazian"
wxLANGUAGE_AFAR aa - - "Afar" wxLANGUAGE_AFAR aa - - LTR "Afar"
wxLANGUAGE_AFRIKAANS af_ZA LANG_AFRIKAANS SUBLANG_DEFAULT "Afrikaans" wxLANGUAGE_AFRIKAANS af_ZA LANG_AFRIKAANS SUBLANG_DEFAULT LTR "Afrikaans"
wxLANGUAGE_ALBANIAN sq_AL LANG_ALBANIAN SUBLANG_DEFAULT "Albanian" wxLANGUAGE_ALBANIAN sq_AL LANG_ALBANIAN SUBLANG_DEFAULT LTR "Albanian"
wxLANGUAGE_AMHARIC am - - "Amharic" wxLANGUAGE_AMHARIC am - - LTR "Amharic"
wxLANGUAGE_ARABIC ar LANG_ARABIC SUBLANG_DEFAULT "Arabic" wxLANGUAGE_ARABIC ar LANG_ARABIC SUBLANG_DEFAULT RTL "Arabic"
wxLANGUAGE_ARABIC_ALGERIA ar_DZ LANG_ARABIC SUBLANG_ARABIC_ALGERIA "Arabic (Algeria)" wxLANGUAGE_ARABIC_ALGERIA ar_DZ LANG_ARABIC SUBLANG_ARABIC_ALGERIA RTL "Arabic (Algeria)"
wxLANGUAGE_ARABIC_BAHRAIN ar_BH LANG_ARABIC SUBLANG_ARABIC_BAHRAIN "Arabic (Bahrain)" wxLANGUAGE_ARABIC_BAHRAIN ar_BH LANG_ARABIC SUBLANG_ARABIC_BAHRAIN RTL "Arabic (Bahrain)"
wxLANGUAGE_ARABIC_EGYPT ar_EG LANG_ARABIC SUBLANG_ARABIC_EGYPT "Arabic (Egypt)" wxLANGUAGE_ARABIC_EGYPT ar_EG LANG_ARABIC SUBLANG_ARABIC_EGYPT RTL "Arabic (Egypt)"
wxLANGUAGE_ARABIC_IRAQ ar_IQ LANG_ARABIC SUBLANG_ARABIC_IRAQ "Arabic (Iraq)" wxLANGUAGE_ARABIC_IRAQ ar_IQ LANG_ARABIC SUBLANG_ARABIC_IRAQ RTL "Arabic (Iraq)"
wxLANGUAGE_ARABIC_JORDAN ar_JO LANG_ARABIC SUBLANG_ARABIC_JORDAN "Arabic (Jordan)" wxLANGUAGE_ARABIC_JORDAN ar_JO LANG_ARABIC SUBLANG_ARABIC_JORDAN RTL "Arabic (Jordan)"
wxLANGUAGE_ARABIC_KUWAIT ar_KW LANG_ARABIC SUBLANG_ARABIC_KUWAIT "Arabic (Kuwait)" wxLANGUAGE_ARABIC_KUWAIT ar_KW LANG_ARABIC SUBLANG_ARABIC_KUWAIT RTL "Arabic (Kuwait)"
wxLANGUAGE_ARABIC_LEBANON ar_LB LANG_ARABIC SUBLANG_ARABIC_LEBANON "Arabic (Lebanon)" wxLANGUAGE_ARABIC_LEBANON ar_LB LANG_ARABIC SUBLANG_ARABIC_LEBANON RTL "Arabic (Lebanon)"
wxLANGUAGE_ARABIC_LIBYA ar_LY LANG_ARABIC SUBLANG_ARABIC_LIBYA "Arabic (Libya)" wxLANGUAGE_ARABIC_LIBYA ar_LY LANG_ARABIC SUBLANG_ARABIC_LIBYA RTL "Arabic (Libya)"
wxLANGUAGE_ARABIC_MOROCCO ar_MA LANG_ARABIC SUBLANG_ARABIC_MOROCCO "Arabic (Morocco)" wxLANGUAGE_ARABIC_MOROCCO ar_MA LANG_ARABIC SUBLANG_ARABIC_MOROCCO RTL "Arabic (Morocco)"
wxLANGUAGE_ARABIC_OMAN ar_OM LANG_ARABIC SUBLANG_ARABIC_OMAN "Arabic (Oman)" wxLANGUAGE_ARABIC_OMAN ar_OM LANG_ARABIC SUBLANG_ARABIC_OMAN RTL "Arabic (Oman)"
wxLANGUAGE_ARABIC_QATAR ar_QA LANG_ARABIC SUBLANG_ARABIC_QATAR "Arabic (Qatar)" 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 "Arabic (Saudi Arabia)" wxLANGUAGE_ARABIC_SAUDI_ARABIA ar_SA LANG_ARABIC SUBLANG_ARABIC_SAUDI_ARABIA RTL "Arabic (Saudi Arabia)"
wxLANGUAGE_ARABIC_SUDAN ar_SD - - "Arabic (Sudan)" wxLANGUAGE_ARABIC_SUDAN ar_SD - - RTL "Arabic (Sudan)"
wxLANGUAGE_ARABIC_SYRIA ar_SY LANG_ARABIC SUBLANG_ARABIC_SYRIA "Arabic (Syria)" wxLANGUAGE_ARABIC_SYRIA ar_SY LANG_ARABIC SUBLANG_ARABIC_SYRIA RTL "Arabic (Syria)"
wxLANGUAGE_ARABIC_TUNISIA ar_TN LANG_ARABIC SUBLANG_ARABIC_TUNISIA "Arabic (Tunisia)" wxLANGUAGE_ARABIC_TUNISIA ar_TN LANG_ARABIC SUBLANG_ARABIC_TUNISIA RTL "Arabic (Tunisia)"
wxLANGUAGE_ARABIC_UAE ar_AE LANG_ARABIC SUBLANG_ARABIC_UAE "Arabic (Uae)" wxLANGUAGE_ARABIC_UAE ar_AE LANG_ARABIC SUBLANG_ARABIC_UAE RTL "Arabic (Uae)"
wxLANGUAGE_ARABIC_YEMEN ar_YE LANG_ARABIC SUBLANG_ARABIC_YEMEN "Arabic (Yemen)" wxLANGUAGE_ARABIC_YEMEN ar_YE LANG_ARABIC SUBLANG_ARABIC_YEMEN RTL "Arabic (Yemen)"
wxLANGUAGE_ARMENIAN hy LANG_ARMENIAN SUBLANG_DEFAULT "Armenian" wxLANGUAGE_ARMENIAN hy LANG_ARMENIAN SUBLANG_DEFAULT LTR "Armenian"
wxLANGUAGE_ASSAMESE as LANG_ASSAMESE SUBLANG_DEFAULT "Assamese" wxLANGUAGE_ASSAMESE as LANG_ASSAMESE SUBLANG_DEFAULT LTR "Assamese"
wxLANGUAGE_AYMARA ay - - "Aymara" wxLANGUAGE_AYMARA ay - - LTR "Aymara"
wxLANGUAGE_AZERI az LANG_AZERI SUBLANG_DEFAULT "Azeri" wxLANGUAGE_AZERI az LANG_AZERI SUBLANG_DEFAULT LTR "Azeri"
wxLANGUAGE_AZERI_CYRILLIC az LANG_AZERI SUBLANG_AZERI_CYRILLIC "Azeri (Cyrillic)" wxLANGUAGE_AZERI_CYRILLIC az LANG_AZERI SUBLANG_AZERI_CYRILLIC LTR "Azeri (Cyrillic)"
wxLANGUAGE_AZERI_LATIN az LANG_AZERI SUBLANG_AZERI_LATIN "Azeri (Latin)" wxLANGUAGE_AZERI_LATIN az LANG_AZERI SUBLANG_AZERI_LATIN LTR "Azeri (Latin)"
wxLANGUAGE_BASHKIR ba - - "Bashkir" wxLANGUAGE_BASHKIR ba - - LTR "Bashkir"
wxLANGUAGE_BASQUE eu_ES LANG_BASQUE SUBLANG_DEFAULT "Basque" wxLANGUAGE_BASQUE eu_ES LANG_BASQUE SUBLANG_DEFAULT LTR "Basque"
wxLANGUAGE_BELARUSIAN be_BY LANG_BELARUSIAN SUBLANG_DEFAULT "Belarusian" wxLANGUAGE_BELARUSIAN be_BY LANG_BELARUSIAN SUBLANG_DEFAULT LTR "Belarusian"
wxLANGUAGE_BENGALI bn LANG_BENGALI SUBLANG_DEFAULT "Bengali" wxLANGUAGE_BENGALI bn LANG_BENGALI SUBLANG_DEFAULT LTR "Bengali"
wxLANGUAGE_BHUTANI dz - - "Bhutani" wxLANGUAGE_BHUTANI dz - - LTR "Bhutani"
wxLANGUAGE_BIHARI bh - - "Bihari" wxLANGUAGE_BIHARI bh - - LTR "Bihari"
wxLANGUAGE_BISLAMA bi - - "Bislama" wxLANGUAGE_BISLAMA bi - - LTR "Bislama"
wxLANGUAGE_BRETON br - - "Breton" wxLANGUAGE_BRETON br - - LTR "Breton"
wxLANGUAGE_BULGARIAN bg_BG LANG_BULGARIAN SUBLANG_DEFAULT "Bulgarian" wxLANGUAGE_BULGARIAN bg_BG LANG_BULGARIAN SUBLANG_DEFAULT LTR "Bulgarian"
wxLANGUAGE_BURMESE my - - "Burmese" wxLANGUAGE_BURMESE my - - LTR "Burmese"
wxLANGUAGE_CAMBODIAN km - - "Cambodian" wxLANGUAGE_CAMBODIAN km - - LTR "Cambodian"
wxLANGUAGE_CATALAN ca_ES LANG_CATALAN SUBLANG_DEFAULT "Catalan" wxLANGUAGE_CATALAN ca_ES LANG_CATALAN SUBLANG_DEFAULT LTR "Catalan"
wxLANGUAGE_CHINESE zh_TW LANG_CHINESE SUBLANG_DEFAULT "Chinese" wxLANGUAGE_CHINESE zh_TW LANG_CHINESE SUBLANG_DEFAULT LTR "Chinese"
wxLANGUAGE_CHINESE_SIMPLIFIED zh_CN LANG_CHINESE SUBLANG_CHINESE_SIMPLIFIED "Chinese (Simplified)" wxLANGUAGE_CHINESE_SIMPLIFIED zh_CN LANG_CHINESE SUBLANG_CHINESE_SIMPLIFIED LTR "Chinese (Simplified)"
wxLANGUAGE_CHINESE_TRADITIONAL zh_TW LANG_CHINESE SUBLANG_CHINESE_TRADITIONAL "Chinese (Traditional)" wxLANGUAGE_CHINESE_TRADITIONAL zh_TW LANG_CHINESE SUBLANG_CHINESE_TRADITIONAL LTR "Chinese (Traditional)"
wxLANGUAGE_CHINESE_HONGKONG zh_HK LANG_CHINESE SUBLANG_CHINESE_HONGKONG "Chinese (Hongkong)" wxLANGUAGE_CHINESE_HONGKONG zh_HK LANG_CHINESE SUBLANG_CHINESE_HONGKONG LTR "Chinese (Hongkong)"
wxLANGUAGE_CHINESE_MACAU zh_MO LANG_CHINESE SUBLANG_CHINESE_MACAU "Chinese (Macau)" wxLANGUAGE_CHINESE_MACAU zh_MO LANG_CHINESE SUBLANG_CHINESE_MACAU LTR "Chinese (Macau)"
wxLANGUAGE_CHINESE_SINGAPORE zh_SG LANG_CHINESE SUBLANG_CHINESE_SINGAPORE "Chinese (Singapore)" wxLANGUAGE_CHINESE_SINGAPORE zh_SG LANG_CHINESE SUBLANG_CHINESE_SINGAPORE LTR "Chinese (Singapore)"
wxLANGUAGE_CHINESE_TAIWAN zh_TW LANG_CHINESE SUBLANG_CHINESE_TRADITIONAL "Chinese (Taiwan)" wxLANGUAGE_CHINESE_TAIWAN zh_TW LANG_CHINESE SUBLANG_CHINESE_TRADITIONAL LTR "Chinese (Taiwan)"
wxLANGUAGE_CORSICAN co - - "Corsican" wxLANGUAGE_CORSICAN co - - LTR "Corsican"
wxLANGUAGE_CROATIAN hr_HR LANG_CROATIAN SUBLANG_DEFAULT "Croatian" wxLANGUAGE_CROATIAN hr_HR LANG_CROATIAN SUBLANG_DEFAULT LTR "Croatian"
wxLANGUAGE_CZECH cs_CZ LANG_CZECH SUBLANG_DEFAULT "Czech" wxLANGUAGE_CZECH cs_CZ LANG_CZECH SUBLANG_DEFAULT LTR "Czech"
wxLANGUAGE_DANISH da_DK LANG_DANISH SUBLANG_DEFAULT "Danish" wxLANGUAGE_DANISH da_DK LANG_DANISH SUBLANG_DEFAULT LTR "Danish"
wxLANGUAGE_DUTCH nl_NL LANG_DUTCH SUBLANG_DUTCH "Dutch" wxLANGUAGE_DUTCH nl_NL LANG_DUTCH SUBLANG_DUTCH LTR "Dutch"
wxLANGUAGE_DUTCH_BELGIAN nl_BE LANG_DUTCH SUBLANG_DUTCH_BELGIAN "Dutch (Belgian)" wxLANGUAGE_DUTCH_BELGIAN nl_BE LANG_DUTCH SUBLANG_DUTCH_BELGIAN LTR "Dutch (Belgian)"
wxLANGUAGE_ENGLISH en_GB LANG_ENGLISH SUBLANG_ENGLISH_UK "English" wxLANGUAGE_ENGLISH en_GB LANG_ENGLISH SUBLANG_ENGLISH_UK LTR "English"
wxLANGUAGE_ENGLISH_UK en_GB LANG_ENGLISH SUBLANG_ENGLISH_UK "English (U.K.)" wxLANGUAGE_ENGLISH_UK en_GB LANG_ENGLISH SUBLANG_ENGLISH_UK LTR "English (U.K.)"
wxLANGUAGE_ENGLISH_US en_US LANG_ENGLISH SUBLANG_ENGLISH_US "English (U.S.)" wxLANGUAGE_ENGLISH_US en_US LANG_ENGLISH SUBLANG_ENGLISH_US LTR "English (U.S.)"
wxLANGUAGE_ENGLISH_AUSTRALIA en_AU LANG_ENGLISH SUBLANG_ENGLISH_AUS "English (Australia)" wxLANGUAGE_ENGLISH_AUSTRALIA en_AU LANG_ENGLISH SUBLANG_ENGLISH_AUS LTR "English (Australia)"
wxLANGUAGE_ENGLISH_BELIZE en_BZ LANG_ENGLISH SUBLANG_ENGLISH_BELIZE "English (Belize)" wxLANGUAGE_ENGLISH_BELIZE en_BZ LANG_ENGLISH SUBLANG_ENGLISH_BELIZE LTR "English (Belize)"
wxLANGUAGE_ENGLISH_BOTSWANA en_BW - - "English (Botswana)" wxLANGUAGE_ENGLISH_BOTSWANA en_BW - - LTR "English (Botswana)"
wxLANGUAGE_ENGLISH_CANADA en_CA LANG_ENGLISH SUBLANG_ENGLISH_CAN "English (Canada)" wxLANGUAGE_ENGLISH_CANADA en_CA LANG_ENGLISH SUBLANG_ENGLISH_CAN LTR "English (Canada)"
wxLANGUAGE_ENGLISH_CARIBBEAN en_CB LANG_ENGLISH SUBLANG_ENGLISH_CARIBBEAN "English (Caribbean)" wxLANGUAGE_ENGLISH_CARIBBEAN en_CB LANG_ENGLISH SUBLANG_ENGLISH_CARIBBEAN LTR "English (Caribbean)"
wxLANGUAGE_ENGLISH_DENMARK en_DK - - "English (Denmark)" wxLANGUAGE_ENGLISH_DENMARK en_DK - - LTR "English (Denmark)"
wxLANGUAGE_ENGLISH_EIRE en_IE LANG_ENGLISH SUBLANG_ENGLISH_EIRE "English (Eire)" wxLANGUAGE_ENGLISH_EIRE en_IE LANG_ENGLISH SUBLANG_ENGLISH_EIRE LTR "English (Eire)"
wxLANGUAGE_ENGLISH_JAMAICA en_JM LANG_ENGLISH SUBLANG_ENGLISH_JAMAICA "English (Jamaica)" wxLANGUAGE_ENGLISH_JAMAICA en_JM LANG_ENGLISH SUBLANG_ENGLISH_JAMAICA LTR "English (Jamaica)"
wxLANGUAGE_ENGLISH_NEW_ZEALAND en_NZ LANG_ENGLISH SUBLANG_ENGLISH_NZ "English (New Zealand)" 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 "English (Philippines)" 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 "English (South Africa)" 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 "English (Trinidad)" wxLANGUAGE_ENGLISH_TRINIDAD en_TT LANG_ENGLISH SUBLANG_ENGLISH_TRINIDAD LTR "English (Trinidad)"
wxLANGUAGE_ENGLISH_ZIMBABWE en_ZW LANG_ENGLISH SUBLANG_ENGLISH_ZIMBABWE "English (Zimbabwe)" wxLANGUAGE_ENGLISH_ZIMBABWE en_ZW LANG_ENGLISH SUBLANG_ENGLISH_ZIMBABWE LTR "English (Zimbabwe)"
wxLANGUAGE_ESPERANTO eo - - "Esperanto" wxLANGUAGE_ESPERANTO eo - - LTR "Esperanto"
wxLANGUAGE_ESTONIAN et_EE LANG_ESTONIAN SUBLANG_DEFAULT "Estonian" wxLANGUAGE_ESTONIAN et_EE LANG_ESTONIAN SUBLANG_DEFAULT LTR "Estonian"
wxLANGUAGE_FAEROESE fo_FO LANG_FAEROESE SUBLANG_DEFAULT "Faeroese" wxLANGUAGE_FAEROESE fo_FO LANG_FAEROESE SUBLANG_DEFAULT LTR "Faeroese"
wxLANGUAGE_FARSI fa_IR LANG_FARSI SUBLANG_DEFAULT "Farsi" wxLANGUAGE_FARSI fa_IR LANG_FARSI SUBLANG_DEFAULT LTR "Farsi"
wxLANGUAGE_FIJI fj - - "Fiji" wxLANGUAGE_FIJI fj - - LTR "Fiji"
wxLANGUAGE_FINNISH fi_FI LANG_FINNISH SUBLANG_DEFAULT "Finnish" wxLANGUAGE_FINNISH fi_FI LANG_FINNISH SUBLANG_DEFAULT LTR "Finnish"
wxLANGUAGE_FRENCH fr_FR LANG_FRENCH SUBLANG_FRENCH "French" wxLANGUAGE_FRENCH fr_FR LANG_FRENCH SUBLANG_FRENCH LTR "French"
wxLANGUAGE_FRENCH_BELGIAN fr_BE LANG_FRENCH SUBLANG_FRENCH_BELGIAN "French (Belgian)" wxLANGUAGE_FRENCH_BELGIAN fr_BE LANG_FRENCH SUBLANG_FRENCH_BELGIAN LTR "French (Belgian)"
wxLANGUAGE_FRENCH_CANADIAN fr_CA LANG_FRENCH SUBLANG_FRENCH_CANADIAN "French (Canadian)" wxLANGUAGE_FRENCH_CANADIAN fr_CA LANG_FRENCH SUBLANG_FRENCH_CANADIAN LTR "French (Canadian)"
wxLANGUAGE_FRENCH_LUXEMBOURG fr_LU LANG_FRENCH SUBLANG_FRENCH_LUXEMBOURG "French (Luxembourg)" wxLANGUAGE_FRENCH_LUXEMBOURG fr_LU LANG_FRENCH SUBLANG_FRENCH_LUXEMBOURG LTR "French (Luxembourg)"
wxLANGUAGE_FRENCH_MONACO fr_MC LANG_FRENCH SUBLANG_FRENCH_MONACO "French (Monaco)" wxLANGUAGE_FRENCH_MONACO fr_MC LANG_FRENCH SUBLANG_FRENCH_MONACO LTR "French (Monaco)"
wxLANGUAGE_FRENCH_SWISS fr_CH LANG_FRENCH SUBLANG_FRENCH_SWISS "French (Swiss)" wxLANGUAGE_FRENCH_SWISS fr_CH LANG_FRENCH SUBLANG_FRENCH_SWISS LTR "French (Swiss)"
wxLANGUAGE_FRISIAN fy - - "Frisian" wxLANGUAGE_FRISIAN fy - - LTR "Frisian"
wxLANGUAGE_GALICIAN gl_ES - - "Galician" wxLANGUAGE_GALICIAN gl_ES - - LTR "Galician"
wxLANGUAGE_GEORGIAN ka LANG_GEORGIAN SUBLANG_DEFAULT "Georgian" wxLANGUAGE_GEORGIAN ka LANG_GEORGIAN SUBLANG_DEFAULT LTR "Georgian"
wxLANGUAGE_GERMAN de_DE LANG_GERMAN SUBLANG_GERMAN "German" wxLANGUAGE_GERMAN de_DE LANG_GERMAN SUBLANG_GERMAN LTR "German"
wxLANGUAGE_GERMAN_AUSTRIAN de_AT LANG_GERMAN SUBLANG_GERMAN_AUSTRIAN "German (Austrian)" wxLANGUAGE_GERMAN_AUSTRIAN de_AT LANG_GERMAN SUBLANG_GERMAN_AUSTRIAN LTR "German (Austrian)"
wxLANGUAGE_GERMAN_BELGIUM de_BE - - "German (Belgium)" wxLANGUAGE_GERMAN_BELGIUM de_BE - - LTR "German (Belgium)"
wxLANGUAGE_GERMAN_LIECHTENSTEIN de_LI LANG_GERMAN SUBLANG_GERMAN_LIECHTENSTEIN "German (Liechtenstein)" wxLANGUAGE_GERMAN_LIECHTENSTEIN de_LI LANG_GERMAN SUBLANG_GERMAN_LIECHTENSTEIN LTR "German (Liechtenstein)"
wxLANGUAGE_GERMAN_LUXEMBOURG de_LU LANG_GERMAN SUBLANG_GERMAN_LUXEMBOURG "German (Luxembourg)" wxLANGUAGE_GERMAN_LUXEMBOURG de_LU LANG_GERMAN SUBLANG_GERMAN_LUXEMBOURG LTR "German (Luxembourg)"
wxLANGUAGE_GERMAN_SWISS de_CH LANG_GERMAN SUBLANG_GERMAN_SWISS "German (Swiss)" wxLANGUAGE_GERMAN_SWISS de_CH LANG_GERMAN SUBLANG_GERMAN_SWISS LTR "German (Swiss)"
wxLANGUAGE_GREEK el_GR LANG_GREEK SUBLANG_DEFAULT "Greek" wxLANGUAGE_GREEK el_GR LANG_GREEK SUBLANG_DEFAULT LTR "Greek"
wxLANGUAGE_GREENLANDIC kl_GL - - "Greenlandic" wxLANGUAGE_GREENLANDIC kl_GL - - LTR "Greenlandic"
wxLANGUAGE_GUARANI gn - - "Guarani" wxLANGUAGE_GUARANI gn - - LTR "Guarani"
wxLANGUAGE_GUJARATI gu LANG_GUJARATI SUBLANG_DEFAULT "Gujarati" wxLANGUAGE_GUJARATI gu LANG_GUJARATI SUBLANG_DEFAULT LTR "Gujarati"
wxLANGUAGE_HAUSA ha - - "Hausa" wxLANGUAGE_HAUSA ha - - LTR "Hausa"
wxLANGUAGE_HEBREW he_IL LANG_HEBREW SUBLANG_DEFAULT "Hebrew" wxLANGUAGE_HEBREW he_IL LANG_HEBREW SUBLANG_DEFAULT RTL "Hebrew"
wxLANGUAGE_HINDI hi_IN LANG_HINDI SUBLANG_DEFAULT "Hindi" wxLANGUAGE_HINDI hi_IN LANG_HINDI SUBLANG_DEFAULT LTR "Hindi"
wxLANGUAGE_HUNGARIAN hu_HU LANG_HUNGARIAN SUBLANG_DEFAULT "Hungarian" wxLANGUAGE_HUNGARIAN hu_HU LANG_HUNGARIAN SUBLANG_DEFAULT LTR "Hungarian"
wxLANGUAGE_ICELANDIC is_IS LANG_ICELANDIC SUBLANG_DEFAULT "Icelandic" wxLANGUAGE_ICELANDIC is_IS LANG_ICELANDIC SUBLANG_DEFAULT LTR "Icelandic"
wxLANGUAGE_INDONESIAN id_ID LANG_INDONESIAN SUBLANG_DEFAULT "Indonesian" wxLANGUAGE_INDONESIAN id_ID LANG_INDONESIAN SUBLANG_DEFAULT LTR "Indonesian"
wxLANGUAGE_INTERLINGUA ia - - "Interlingua" wxLANGUAGE_INTERLINGUA ia - - LTR "Interlingua"
wxLANGUAGE_INTERLINGUE ie - - "Interlingue" wxLANGUAGE_INTERLINGUE ie - - LTR "Interlingue"
wxLANGUAGE_INUKTITUT iu - - "Inuktitut" wxLANGUAGE_INUKTITUT iu - - LTR "Inuktitut"
wxLANGUAGE_INUPIAK ik - - "Inupiak" wxLANGUAGE_INUPIAK ik - - LTR "Inupiak"
wxLANGUAGE_IRISH ga_IE - - "Irish" wxLANGUAGE_IRISH ga_IE - - LTR "Irish"
wxLANGUAGE_ITALIAN it_IT LANG_ITALIAN SUBLANG_ITALIAN "Italian" wxLANGUAGE_ITALIAN it_IT LANG_ITALIAN SUBLANG_ITALIAN LTR "Italian"
wxLANGUAGE_ITALIAN_SWISS it_CH LANG_ITALIAN SUBLANG_ITALIAN_SWISS "Italian (Swiss)" wxLANGUAGE_ITALIAN_SWISS it_CH LANG_ITALIAN SUBLANG_ITALIAN_SWISS LTR "Italian (Swiss)"
wxLANGUAGE_JAPANESE ja_JP LANG_JAPANESE SUBLANG_DEFAULT "Japanese" wxLANGUAGE_JAPANESE ja_JP LANG_JAPANESE SUBLANG_DEFAULT LTR "Japanese"
wxLANGUAGE_JAVANESE jw - - "Javanese" wxLANGUAGE_JAVANESE jw - - LTR "Javanese"
wxLANGUAGE_KANNADA kn LANG_KANNADA SUBLANG_DEFAULT "Kannada" wxLANGUAGE_KANNADA kn LANG_KANNADA SUBLANG_DEFAULT LTR "Kannada"
wxLANGUAGE_KASHMIRI ks LANG_KASHMIRI SUBLANG_DEFAULT "Kashmiri" wxLANGUAGE_KASHMIRI ks LANG_KASHMIRI SUBLANG_DEFAULT LTR "Kashmiri"
wxLANGUAGE_KASHMIRI_INDIA ks_IN LANG_KASHMIRI SUBLANG_KASHMIRI_INDIA "Kashmiri (India)" wxLANGUAGE_KASHMIRI_INDIA ks_IN LANG_KASHMIRI SUBLANG_KASHMIRI_INDIA LTR "Kashmiri (India)"
wxLANGUAGE_KAZAKH kk LANG_KAZAK SUBLANG_DEFAULT "Kazakh" wxLANGUAGE_KAZAKH kk LANG_KAZAK SUBLANG_DEFAULT LTR "Kazakh"
wxLANGUAGE_KERNEWEK kw_GB - - "Kernewek" wxLANGUAGE_KERNEWEK kw_GB - - LTR "Kernewek"
wxLANGUAGE_KINYARWANDA rw - - "Kinyarwanda" wxLANGUAGE_KINYARWANDA rw - - LTR "Kinyarwanda"
wxLANGUAGE_KIRGHIZ ky - - "Kirghiz" wxLANGUAGE_KIRGHIZ ky - - LTR "Kirghiz"
wxLANGUAGE_KIRUNDI rn - - "Kirundi" wxLANGUAGE_KIRUNDI rn - - LTR "Kirundi"
wxLANGUAGE_KONKANI - LANG_KONKANI SUBLANG_DEFAULT "Konkani" wxLANGUAGE_KONKANI - LANG_KONKANI SUBLANG_DEFAULT LTR "Konkani"
wxLANGUAGE_KOREAN ko_KR LANG_KOREAN SUBLANG_KOREAN "Korean" wxLANGUAGE_KOREAN ko_KR LANG_KOREAN SUBLANG_KOREAN LTR "Korean"
wxLANGUAGE_KURDISH ku - - "Kurdish" wxLANGUAGE_KURDISH ku - - LTR "Kurdish"
wxLANGUAGE_LAOTHIAN lo - - "Laothian" wxLANGUAGE_LAOTHIAN lo - - LTR "Laothian"
wxLANGUAGE_LATIN la - - "Latin" wxLANGUAGE_LATIN la - - LTR "Latin"
wxLANGUAGE_LATVIAN lv_LV LANG_LATVIAN SUBLANG_DEFAULT "Latvian" wxLANGUAGE_LATVIAN lv_LV LANG_LATVIAN SUBLANG_DEFAULT LTR "Latvian"
wxLANGUAGE_LINGALA ln - - "Lingala" wxLANGUAGE_LINGALA ln - - LTR "Lingala"
wxLANGUAGE_LITHUANIAN lt_LT LANG_LITHUANIAN SUBLANG_LITHUANIAN "Lithuanian" wxLANGUAGE_LITHUANIAN lt_LT LANG_LITHUANIAN SUBLANG_LITHUANIAN LTR "Lithuanian"
wxLANGUAGE_MACEDONIAN mk_MK LANG_MACEDONIAN SUBLANG_DEFAULT "Macedonian" wxLANGUAGE_MACEDONIAN mk_MK LANG_MACEDONIAN SUBLANG_DEFAULT LTR "Macedonian"
wxLANGUAGE_MALAGASY mg - - "Malagasy" wxLANGUAGE_MALAGASY mg - - LTR "Malagasy"
wxLANGUAGE_MALAY ms_MY LANG_MALAY SUBLANG_DEFAULT "Malay" wxLANGUAGE_MALAY ms_MY LANG_MALAY SUBLANG_DEFAULT LTR "Malay"
wxLANGUAGE_MALAYALAM ml LANG_MALAYALAM SUBLANG_DEFAULT "Malayalam" wxLANGUAGE_MALAYALAM ml LANG_MALAYALAM SUBLANG_DEFAULT LTR "Malayalam"
wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM ms_BN LANG_MALAY SUBLANG_MALAY_BRUNEI_DARUSSALAM "Malay (Brunei Darussalam)" 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 "Malay (Malaysia)" wxLANGUAGE_MALAY_MALAYSIA ms_MY LANG_MALAY SUBLANG_MALAY_MALAYSIA LTR "Malay (Malaysia)"
wxLANGUAGE_MALTESE mt_MT - - "Maltese" wxLANGUAGE_MALTESE mt_MT - - LTR "Maltese"
wxLANGUAGE_MANIPURI - LANG_MANIPURI SUBLANG_DEFAULT "Manipuri" wxLANGUAGE_MANIPURI - LANG_MANIPURI SUBLANG_DEFAULT LTR "Manipuri"
wxLANGUAGE_MAORI mi - - "Maori" wxLANGUAGE_MAORI mi - - LTR "Maori"
wxLANGUAGE_MARATHI mr_IN LANG_MARATHI SUBLANG_DEFAULT "Marathi" wxLANGUAGE_MARATHI mr_IN LANG_MARATHI SUBLANG_DEFAULT LTR "Marathi"
wxLANGUAGE_MOLDAVIAN mo - - "Moldavian" wxLANGUAGE_MOLDAVIAN mo - - LTR "Moldavian"
wxLANGUAGE_MONGOLIAN mn - - "Mongolian" wxLANGUAGE_MONGOLIAN mn - - LTR "Mongolian"
wxLANGUAGE_NAURU na - - "Nauru" wxLANGUAGE_NAURU na - - LTR "Nauru"
wxLANGUAGE_NEPALI ne LANG_NEPALI SUBLANG_DEFAULT "Nepali" wxLANGUAGE_NEPALI ne LANG_NEPALI SUBLANG_DEFAULT LTR "Nepali"
wxLANGUAGE_NEPALI_INDIA ne_IN LANG_NEPALI SUBLANG_NEPALI_INDIA "Nepali (India)" wxLANGUAGE_NEPALI_INDIA ne_IN LANG_NEPALI SUBLANG_NEPALI_INDIA LTR "Nepali (India)"
wxLANGUAGE_NORWEGIAN_BOKMAL nb_NO LANG_NORWEGIAN SUBLANG_NORWEGIAN_BOKMAL "Norwegian (Bokmal)" wxLANGUAGE_NORWEGIAN_BOKMAL nb_NO LANG_NORWEGIAN SUBLANG_NORWEGIAN_BOKMAL LTR "Norwegian (Bokmal)"
wxLANGUAGE_NORWEGIAN_NYNORSK nn_NO LANG_NORWEGIAN SUBLANG_NORWEGIAN_NYNORSK "Norwegian (Nynorsk)" wxLANGUAGE_NORWEGIAN_NYNORSK nn_NO LANG_NORWEGIAN SUBLANG_NORWEGIAN_NYNORSK LTR "Norwegian (Nynorsk)"
wxLANGUAGE_OCCITAN oc - - "Occitan" wxLANGUAGE_OCCITAN oc - - LTR "Occitan"
wxLANGUAGE_ORIYA or LANG_ORIYA SUBLANG_DEFAULT "Oriya" wxLANGUAGE_ORIYA or LANG_ORIYA SUBLANG_DEFAULT LTR "Oriya"
wxLANGUAGE_OROMO om - - "(Afan) Oromo" wxLANGUAGE_OROMO om - - LTR "(Afan) Oromo"
wxLANGUAGE_PASHTO ps - - "Pashto, Pushto" wxLANGUAGE_PASHTO ps - - LTR "Pashto, Pushto"
wxLANGUAGE_POLISH pl_PL LANG_POLISH SUBLANG_DEFAULT "Polish" wxLANGUAGE_POLISH pl_PL LANG_POLISH SUBLANG_DEFAULT LTR "Polish"
wxLANGUAGE_PORTUGUESE pt_PT LANG_PORTUGUESE SUBLANG_PORTUGUESE "Portuguese" wxLANGUAGE_PORTUGUESE pt_PT LANG_PORTUGUESE SUBLANG_PORTUGUESE LTR "Portuguese"
wxLANGUAGE_PORTUGUESE_BRAZILIAN pt_BR LANG_PORTUGUESE SUBLANG_PORTUGUESE_BRAZILIAN "Portuguese (Brazilian)" wxLANGUAGE_PORTUGUESE_BRAZILIAN pt_BR LANG_PORTUGUESE SUBLANG_PORTUGUESE_BRAZILIAN LTR "Portuguese (Brazilian)"
wxLANGUAGE_PUNJABI pa LANG_PUNJABI SUBLANG_DEFAULT "Punjabi" wxLANGUAGE_PUNJABI pa LANG_PUNJABI SUBLANG_DEFAULT LTR "Punjabi"
wxLANGUAGE_QUECHUA qu - - "Quechua" wxLANGUAGE_QUECHUA qu - - LTR "Quechua"
wxLANGUAGE_RHAETO_ROMANCE rm - - "Rhaeto-Romance" wxLANGUAGE_RHAETO_ROMANCE rm - - LTR "Rhaeto-Romance"
wxLANGUAGE_ROMANIAN ro_RO LANG_ROMANIAN SUBLANG_DEFAULT "Romanian" wxLANGUAGE_ROMANIAN ro_RO LANG_ROMANIAN SUBLANG_DEFAULT LTR "Romanian"
wxLANGUAGE_RUSSIAN ru_RU LANG_RUSSIAN SUBLANG_DEFAULT "Russian" wxLANGUAGE_RUSSIAN ru_RU LANG_RUSSIAN SUBLANG_DEFAULT LTR "Russian"
wxLANGUAGE_RUSSIAN_UKRAINE ru_UA - - "Russian (Ukraine)" wxLANGUAGE_RUSSIAN_UKRAINE ru_UA - - LTR "Russian (Ukraine)"
wxLANGUAGE_SAMOAN sm - - "Samoan" wxLANGUAGE_SAMOAN sm - - LTR "Samoan"
wxLANGUAGE_SANGHO sg - - "Sangho" wxLANGUAGE_SANGHO sg - - LTR "Sangho"
wxLANGUAGE_SANSKRIT sa LANG_SANSKRIT SUBLANG_DEFAULT "Sanskrit" wxLANGUAGE_SANSKRIT sa LANG_SANSKRIT SUBLANG_DEFAULT LTR "Sanskrit"
wxLANGUAGE_SCOTS_GAELIC gd - - "Scots Gaelic" wxLANGUAGE_SCOTS_GAELIC gd - - LTR "Scots Gaelic"
wxLANGUAGE_SERBIAN_CYRILLIC sr_YU LANG_SERBIAN SUBLANG_SERBIAN_CYRILLIC "Serbian (Cyrillic)" wxLANGUAGE_SERBIAN_CYRILLIC sr_YU LANG_SERBIAN SUBLANG_SERBIAN_CYRILLIC LTR "Serbian (Cyrillic)"
wxLANGUAGE_SERBIAN_LATIN sr_YU LANG_SERBIAN SUBLANG_SERBIAN_LATIN "Serbian (Latin)" wxLANGUAGE_SERBIAN_LATIN sr_YU LANG_SERBIAN SUBLANG_SERBIAN_LATIN LTR "Serbian (Latin)"
wxLANGUAGE_SERBO_CROATIAN sh - - "Serbo-Croatian" wxLANGUAGE_SERBO_CROATIAN sh - - LTR "Serbo-Croatian"
wxLANGUAGE_SESOTHO st - - "Sesotho" wxLANGUAGE_SESOTHO st - - LTR "Sesotho"
wxLANGUAGE_SETSWANA tn - - "Setswana" wxLANGUAGE_SETSWANA tn - - LTR "Setswana"
wxLANGUAGE_SHONA sn - - "Shona" wxLANGUAGE_SHONA sn - - LTR "Shona"
wxLANGUAGE_SINDHI sd LANG_SINDHI SUBLANG_DEFAULT "Sindhi" wxLANGUAGE_SINDHI sd LANG_SINDHI SUBLANG_DEFAULT LTR "Sindhi"
wxLANGUAGE_SINHALESE si - - "Sinhalese" wxLANGUAGE_SINHALESE si - - LTR "Sinhalese"
wxLANGUAGE_SISWATI ss - - "Siswati" wxLANGUAGE_SISWATI ss - - LTR "Siswati"
wxLANGUAGE_SLOVAK sk_SK LANG_SLOVAK SUBLANG_DEFAULT "Slovak" wxLANGUAGE_SLOVAK sk_SK LANG_SLOVAK SUBLANG_DEFAULT LTR "Slovak"
wxLANGUAGE_SLOVENIAN sl_SI LANG_SLOVENIAN SUBLANG_DEFAULT "Slovenian" wxLANGUAGE_SLOVENIAN sl_SI LANG_SLOVENIAN SUBLANG_DEFAULT LTR "Slovenian"
wxLANGUAGE_SOMALI so - - "Somali" wxLANGUAGE_SOMALI so - - LTR "Somali"
wxLANGUAGE_SPANISH es_ES LANG_SPANISH SUBLANG_SPANISH "Spanish" wxLANGUAGE_SPANISH es_ES LANG_SPANISH SUBLANG_SPANISH LTR "Spanish"
wxLANGUAGE_SPANISH_ARGENTINA es_AR LANG_SPANISH SUBLANG_SPANISH_ARGENTINA "Spanish (Argentina)" wxLANGUAGE_SPANISH_ARGENTINA es_AR LANG_SPANISH SUBLANG_SPANISH_ARGENTINA LTR "Spanish (Argentina)"
wxLANGUAGE_SPANISH_BOLIVIA es_BO LANG_SPANISH SUBLANG_SPANISH_BOLIVIA "Spanish (Bolivia)" wxLANGUAGE_SPANISH_BOLIVIA es_BO LANG_SPANISH SUBLANG_SPANISH_BOLIVIA LTR "Spanish (Bolivia)"
wxLANGUAGE_SPANISH_CHILE es_CL LANG_SPANISH SUBLANG_SPANISH_CHILE "Spanish (Chile)" wxLANGUAGE_SPANISH_CHILE es_CL LANG_SPANISH SUBLANG_SPANISH_CHILE LTR "Spanish (Chile)"
wxLANGUAGE_SPANISH_COLOMBIA es_CO LANG_SPANISH SUBLANG_SPANISH_COLOMBIA "Spanish (Colombia)" 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 "Spanish (Costa Rica)" 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 "Spanish (Dominican republic)" 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 "Spanish (Ecuador)" 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 "Spanish (El Salvador)" 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 "Spanish (Guatemala)" wxLANGUAGE_SPANISH_GUATEMALA es_GT LANG_SPANISH SUBLANG_SPANISH_GUATEMALA LTR "Spanish (Guatemala)"
wxLANGUAGE_SPANISH_HONDURAS es_HN LANG_SPANISH SUBLANG_SPANISH_HONDURAS "Spanish (Honduras)" wxLANGUAGE_SPANISH_HONDURAS es_HN LANG_SPANISH SUBLANG_SPANISH_HONDURAS LTR "Spanish (Honduras)"
wxLANGUAGE_SPANISH_MEXICAN es_MX LANG_SPANISH SUBLANG_SPANISH_MEXICAN "Spanish (Mexican)" wxLANGUAGE_SPANISH_MEXICAN es_MX LANG_SPANISH SUBLANG_SPANISH_MEXICAN LTR "Spanish (Mexican)"
wxLANGUAGE_SPANISH_MODERN es_ES LANG_SPANISH SUBLANG_SPANISH_MODERN "Spanish (Modern)" wxLANGUAGE_SPANISH_MODERN es_ES LANG_SPANISH SUBLANG_SPANISH_MODERN LTR "Spanish (Modern)"
wxLANGUAGE_SPANISH_NICARAGUA es_NI LANG_SPANISH SUBLANG_SPANISH_NICARAGUA "Spanish (Nicaragua)" wxLANGUAGE_SPANISH_NICARAGUA es_NI LANG_SPANISH SUBLANG_SPANISH_NICARAGUA LTR "Spanish (Nicaragua)"
wxLANGUAGE_SPANISH_PANAMA es_PA LANG_SPANISH SUBLANG_SPANISH_PANAMA "Spanish (Panama)" wxLANGUAGE_SPANISH_PANAMA es_PA LANG_SPANISH SUBLANG_SPANISH_PANAMA LTR "Spanish (Panama)"
wxLANGUAGE_SPANISH_PARAGUAY es_PY LANG_SPANISH SUBLANG_SPANISH_PARAGUAY "Spanish (Paraguay)" wxLANGUAGE_SPANISH_PARAGUAY es_PY LANG_SPANISH SUBLANG_SPANISH_PARAGUAY LTR "Spanish (Paraguay)"
wxLANGUAGE_SPANISH_PERU es_PE LANG_SPANISH SUBLANG_SPANISH_PERU "Spanish (Peru)" 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 "Spanish (Puerto Rico)" 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 "Spanish (Uruguay)" wxLANGUAGE_SPANISH_URUGUAY es_UY LANG_SPANISH SUBLANG_SPANISH_URUGUAY LTR "Spanish (Uruguay)"
wxLANGUAGE_SPANISH_US es_US - - "Spanish (U.S.)" wxLANGUAGE_SPANISH_US es_US - - LTR "Spanish (U.S.)"
wxLANGUAGE_SPANISH_VENEZUELA es_VE LANG_SPANISH SUBLANG_SPANISH_VENEZUELA "Spanish (Venezuela)" wxLANGUAGE_SPANISH_VENEZUELA es_VE LANG_SPANISH SUBLANG_SPANISH_VENEZUELA LTR "Spanish (Venezuela)"
wxLANGUAGE_SUNDANESE su - - "Sundanese" wxLANGUAGE_SUNDANESE su - - LTR "Sundanese"
wxLANGUAGE_SWAHILI sw_KE LANG_SWAHILI SUBLANG_DEFAULT "Swahili" wxLANGUAGE_SWAHILI sw_KE LANG_SWAHILI SUBLANG_DEFAULT LTR "Swahili"
wxLANGUAGE_SWEDISH sv_SE LANG_SWEDISH SUBLANG_SWEDISH "Swedish" wxLANGUAGE_SWEDISH sv_SE LANG_SWEDISH SUBLANG_SWEDISH LTR "Swedish"
wxLANGUAGE_SWEDISH_FINLAND sv_FI LANG_SWEDISH SUBLANG_SWEDISH_FINLAND "Swedish (Finland)" wxLANGUAGE_SWEDISH_FINLAND sv_FI LANG_SWEDISH SUBLANG_SWEDISH_FINLAND LTR "Swedish (Finland)"
wxLANGUAGE_TAGALOG tl_PH - - "Tagalog" wxLANGUAGE_TAGALOG tl_PH - - LTR "Tagalog"
wxLANGUAGE_TAJIK tg - - "Tajik" wxLANGUAGE_TAJIK tg - - LTR "Tajik"
wxLANGUAGE_TAMIL ta LANG_TAMIL SUBLANG_DEFAULT "Tamil" wxLANGUAGE_TAMIL ta LANG_TAMIL SUBLANG_DEFAULT LTR "Tamil"
wxLANGUAGE_TATAR tt LANG_TATAR SUBLANG_DEFAULT "Tatar" wxLANGUAGE_TATAR tt LANG_TATAR SUBLANG_DEFAULT LTR "Tatar"
wxLANGUAGE_TELUGU te LANG_TELUGU SUBLANG_DEFAULT "Telugu" wxLANGUAGE_TELUGU te LANG_TELUGU SUBLANG_DEFAULT LTR "Telugu"
wxLANGUAGE_THAI th_TH LANG_THAI SUBLANG_DEFAULT "Thai" wxLANGUAGE_THAI th_TH LANG_THAI SUBLANG_DEFAULT LTR "Thai"
wxLANGUAGE_TIBETAN bo - - "Tibetan" wxLANGUAGE_TIBETAN bo - - LTR "Tibetan"
wxLANGUAGE_TIGRINYA ti - - "Tigrinya" wxLANGUAGE_TIGRINYA ti - - LTR "Tigrinya"
wxLANGUAGE_TONGA to - - "Tonga" wxLANGUAGE_TONGA to - - LTR "Tonga"
wxLANGUAGE_TSONGA ts - - "Tsonga" wxLANGUAGE_TSONGA ts - - LTR "Tsonga"
wxLANGUAGE_TURKISH tr_TR LANG_TURKISH SUBLANG_DEFAULT "Turkish" wxLANGUAGE_TURKISH tr_TR LANG_TURKISH SUBLANG_DEFAULT LTR "Turkish"
wxLANGUAGE_TURKMEN tk - - "Turkmen" wxLANGUAGE_TURKMEN tk - - LTR "Turkmen"
wxLANGUAGE_TWI tw - - "Twi" wxLANGUAGE_TWI tw - - LTR "Twi"
wxLANGUAGE_UIGHUR ug - - "Uighur" wxLANGUAGE_UIGHUR ug - - LTR "Uighur"
wxLANGUAGE_UKRAINIAN uk_UA LANG_UKRAINIAN SUBLANG_DEFAULT "Ukrainian" wxLANGUAGE_UKRAINIAN uk_UA LANG_UKRAINIAN SUBLANG_DEFAULT LTR "Ukrainian"
wxLANGUAGE_URDU ur LANG_URDU SUBLANG_DEFAULT "Urdu" wxLANGUAGE_URDU ur LANG_URDU SUBLANG_DEFAULT LTR "Urdu"
wxLANGUAGE_URDU_INDIA ur_IN LANG_URDU SUBLANG_URDU_INDIA "Urdu (India)" wxLANGUAGE_URDU_INDIA ur_IN LANG_URDU SUBLANG_URDU_INDIA LTR "Urdu (India)"
wxLANGUAGE_URDU_PAKISTAN ur_PK LANG_URDU SUBLANG_URDU_PAKISTAN "Urdu (Pakistan)" wxLANGUAGE_URDU_PAKISTAN ur_PK LANG_URDU SUBLANG_URDU_PAKISTAN LTR "Urdu (Pakistan)"
wxLANGUAGE_UZBEK uz LANG_UZBEK SUBLANG_DEFAULT "Uzbek" wxLANGUAGE_UZBEK uz LANG_UZBEK SUBLANG_DEFAULT LTR "Uzbek"
wxLANGUAGE_UZBEK_CYRILLIC uz LANG_UZBEK SUBLANG_UZBEK_CYRILLIC "Uzbek (Cyrillic)" wxLANGUAGE_UZBEK_CYRILLIC uz LANG_UZBEK SUBLANG_UZBEK_CYRILLIC LTR "Uzbek (Cyrillic)"
wxLANGUAGE_UZBEK_LATIN uz LANG_UZBEK SUBLANG_UZBEK_LATIN "Uzbek (Latin)" wxLANGUAGE_UZBEK_LATIN uz LANG_UZBEK SUBLANG_UZBEK_LATIN LTR "Uzbek (Latin)"
wxLANGUAGE_VIETNAMESE vi_VN LANG_VIETNAMESE SUBLANG_DEFAULT "Vietnamese" wxLANGUAGE_VIETNAMESE vi_VN LANG_VIETNAMESE SUBLANG_DEFAULT LTR "Vietnamese"
wxLANGUAGE_VOLAPUK vo - - "Volapuk" wxLANGUAGE_VOLAPUK vo - - LTR "Volapuk"
wxLANGUAGE_WELSH cy - - "Welsh" wxLANGUAGE_WELSH cy - - LTR "Welsh"
wxLANGUAGE_WOLOF wo - - "Wolof" wxLANGUAGE_WOLOF wo - - LTR "Wolof"
wxLANGUAGE_XHOSA xh - - "Xhosa" wxLANGUAGE_XHOSA xh - - LTR "Xhosa"
wxLANGUAGE_YIDDISH yi - - "Yiddish" wxLANGUAGE_YIDDISH yi - - LTR "Yiddish"
wxLANGUAGE_YORUBA yo - - "Yoruba" wxLANGUAGE_YORUBA yo - - LTR "Yoruba"
wxLANGUAGE_ZHUANG za - - "Zhuang" wxLANGUAGE_ZHUANG za - - LTR "Zhuang"
wxLANGUAGE_ZULU zu - - "Zulu" wxLANGUAGE_ZULU zu - - LTR "Zulu"

BIN
samples/internat/ar/internat.mo Executable file

Binary file not shown.

160
samples/internat/ar/internat.po Executable file
View File

@@ -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] "ملفاً محذوفاً"

View File

@@ -16,6 +16,7 @@
<files>internat.po internat.mo</files> <files>internat.po internat.mo</files>
</template> </template>
<wx-data id="ar" template="catalog"/>
<wx-data id="bg" template="catalog"/> <wx-data id="bg" template="catalog"/>
<wx-data id="cs" template="catalog"/> <wx-data id="cs" template="catalog"/>
<wx-data id="de" template="catalog"/> <wx-data id="de" template="catalog"/>

View File

@@ -102,7 +102,9 @@ static const wxLanguage langIds[] =
#if wxUSE_UNICODE #if wxUSE_UNICODE
wxLANGUAGE_GEORGIAN, wxLANGUAGE_GEORGIAN,
wxLANGUAGE_ENGLISH, wxLANGUAGE_ENGLISH,
wxLANGUAGE_ENGLISH_US wxLANGUAGE_ENGLISH_US,
wxLANGUAGE_ARABIC,
wxLANGUAGE_ARABIC_EGYPT
#endif #endif
}; };
@@ -124,7 +126,9 @@ const wxString langNames[] =
#if wxUSE_UNICODE #if wxUSE_UNICODE
_T("Georgian"), _T("Georgian"),
_T("English"), _T("English"),
_T("English (U.S.)") _T("English (U.S.)"),
_T("Arabic"),
_T("Arabic (Egypt)")
#endif #endif
}; };
@@ -253,7 +257,13 @@ MyFrame::MyFrame(wxLocale& locale)
_("International wxWidgets App")), _("International wxWidgets App")),
m_locale(locale) 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) ) void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) )

View File

@@ -216,6 +216,24 @@ void wxAppConsole::Exit()
exit(-1); 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 // traits stuff
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -3388,9 +3388,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxLocaleModule, wxModule)
#endif // __WIN32__ #endif // __WIN32__
#define LNG(wxlang, canonical, winlang, winsublang, desc) \ #define LNG(wxlang, canonical, winlang, winsublang, layout, desc) \
info.Language = wxlang; \ info.Language = wxlang; \
info.CanonicalName = wxT(canonical); \ info.CanonicalName = wxT(canonical); \
info.LayoutDirection = layout; \
info.Description = wxT(desc); \ info.Description = wxT(desc); \
SETWINLANG(info, winlang, winsublang) \ SETWINLANG(info, winlang, winsublang) \
AddLanguage(info); AddLanguage(info);
@@ -3400,234 +3401,233 @@ void wxLocale::InitLanguagesDB()
wxLanguageInfo info; wxLanguageInfo info;
wxStringTokenizer tkn; wxStringTokenizer tkn;
LNG(wxLANGUAGE_ABKHAZIAN, "ab" , 0 , 0 , "Abkhazian") LNG(wxLANGUAGE_ABKHAZIAN, "ab" , 0 , 0 , wxLayout_LeftToRight, "Abkhazian")
LNG(wxLANGUAGE_AFAR, "aa" , 0 , 0 , "Afar") LNG(wxLANGUAGE_AFAR, "aa" , 0 , 0 , wxLayout_LeftToRight, "Afar")
LNG(wxLANGUAGE_AFRIKAANS, "af_ZA", LANG_AFRIKAANS , SUBLANG_DEFAULT , "Afrikaans") LNG(wxLANGUAGE_AFRIKAANS, "af_ZA", LANG_AFRIKAANS , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Afrikaans")
LNG(wxLANGUAGE_ALBANIAN, "sq_AL", LANG_ALBANIAN , SUBLANG_DEFAULT , "Albanian") LNG(wxLANGUAGE_ALBANIAN, "sq_AL", LANG_ALBANIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Albanian")
LNG(wxLANGUAGE_AMHARIC, "am" , 0 , 0 , "Amharic") LNG(wxLANGUAGE_AMHARIC, "am" , 0 , 0 , wxLayout_LeftToRight, "Amharic")
LNG(wxLANGUAGE_ARABIC, "ar" , LANG_ARABIC , SUBLANG_DEFAULT , "Arabic") LNG(wxLANGUAGE_ARABIC, "ar" , LANG_ARABIC , SUBLANG_DEFAULT , wxLayout_RightToLeft, "Arabic")
LNG(wxLANGUAGE_ARABIC_ALGERIA, "ar_DZ", LANG_ARABIC , SUBLANG_ARABIC_ALGERIA , "Arabic (Algeria)") 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 , "Arabic (Bahrain)") 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 , "Arabic (Egypt)") 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 , "Arabic (Iraq)") 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 , "Arabic (Jordan)") 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 , "Arabic (Kuwait)") 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 , "Arabic (Lebanon)") 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 , "Arabic (Libya)") 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 , "Arabic (Morocco)") 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 , "Arabic (Oman)") 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 , "Arabic (Qatar)") 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 , "Arabic (Saudi Arabia)") 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 , "Arabic (Sudan)") LNG(wxLANGUAGE_ARABIC_SUDAN, "ar_SD", 0 , 0 , wxLayout_RightToLeft, "Arabic (Sudan)")
LNG(wxLANGUAGE_ARABIC_SYRIA, "ar_SY", LANG_ARABIC , SUBLANG_ARABIC_SYRIA , "Arabic (Syria)") 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 , "Arabic (Tunisia)") 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 , "Arabic (Uae)") 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 , "Arabic (Yemen)") LNG(wxLANGUAGE_ARABIC_YEMEN, "ar_YE", LANG_ARABIC , SUBLANG_ARABIC_YEMEN , wxLayout_RightToLeft, "Arabic (Yemen)")
LNG(wxLANGUAGE_ARMENIAN, "hy" , LANG_ARMENIAN , SUBLANG_DEFAULT , "Armenian") LNG(wxLANGUAGE_ARMENIAN, "hy" , LANG_ARMENIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Armenian")
LNG(wxLANGUAGE_ASSAMESE, "as" , LANG_ASSAMESE , SUBLANG_DEFAULT , "Assamese") LNG(wxLANGUAGE_ASSAMESE, "as" , LANG_ASSAMESE , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Assamese")
LNG(wxLANGUAGE_AYMARA, "ay" , 0 , 0 , "Aymara") LNG(wxLANGUAGE_AYMARA, "ay" , 0 , 0 , wxLayout_LeftToRight, "Aymara")
LNG(wxLANGUAGE_AZERI, "az" , LANG_AZERI , SUBLANG_DEFAULT , "Azeri") LNG(wxLANGUAGE_AZERI, "az" , LANG_AZERI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Azeri")
LNG(wxLANGUAGE_AZERI_CYRILLIC, "az" , LANG_AZERI , SUBLANG_AZERI_CYRILLIC , "Azeri (Cyrillic)") LNG(wxLANGUAGE_AZERI_CYRILLIC, "az" , LANG_AZERI , SUBLANG_AZERI_CYRILLIC , wxLayout_LeftToRight, "Azeri (Cyrillic)")
LNG(wxLANGUAGE_AZERI_LATIN, "az" , LANG_AZERI , SUBLANG_AZERI_LATIN , "Azeri (Latin)") LNG(wxLANGUAGE_AZERI_LATIN, "az" , LANG_AZERI , SUBLANG_AZERI_LATIN , wxLayout_LeftToRight, "Azeri (Latin)")
LNG(wxLANGUAGE_BASHKIR, "ba" , 0 , 0 , "Bashkir") LNG(wxLANGUAGE_BASHKIR, "ba" , 0 , 0 , wxLayout_LeftToRight, "Bashkir")
LNG(wxLANGUAGE_BASQUE, "eu_ES", LANG_BASQUE , SUBLANG_DEFAULT , "Basque") LNG(wxLANGUAGE_BASQUE, "eu_ES", LANG_BASQUE , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Basque")
LNG(wxLANGUAGE_BELARUSIAN, "be_BY", LANG_BELARUSIAN, SUBLANG_DEFAULT , "Belarusian") LNG(wxLANGUAGE_BELARUSIAN, "be_BY", LANG_BELARUSIAN, SUBLANG_DEFAULT , wxLayout_LeftToRight, "Belarusian")
LNG(wxLANGUAGE_BENGALI, "bn" , LANG_BENGALI , SUBLANG_DEFAULT , "Bengali") LNG(wxLANGUAGE_BENGALI, "bn" , LANG_BENGALI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Bengali")
LNG(wxLANGUAGE_BHUTANI, "dz" , 0 , 0 , "Bhutani") LNG(wxLANGUAGE_BHUTANI, "dz" , 0 , 0 , wxLayout_LeftToRight, "Bhutani")
LNG(wxLANGUAGE_BIHARI, "bh" , 0 , 0 , "Bihari") LNG(wxLANGUAGE_BIHARI, "bh" , 0 , 0 , wxLayout_LeftToRight, "Bihari")
LNG(wxLANGUAGE_BISLAMA, "bi" , 0 , 0 , "Bislama") LNG(wxLANGUAGE_BISLAMA, "bi" , 0 , 0 , wxLayout_LeftToRight, "Bislama")
LNG(wxLANGUAGE_BRETON, "br" , 0 , 0 , "Breton") LNG(wxLANGUAGE_BRETON, "br" , 0 , 0 , wxLayout_LeftToRight, "Breton")
LNG(wxLANGUAGE_BULGARIAN, "bg_BG", LANG_BULGARIAN , SUBLANG_DEFAULT , "Bulgarian") LNG(wxLANGUAGE_BULGARIAN, "bg_BG", LANG_BULGARIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Bulgarian")
LNG(wxLANGUAGE_BURMESE, "my" , 0 , 0 , "Burmese") LNG(wxLANGUAGE_BURMESE, "my" , 0 , 0 , wxLayout_LeftToRight, "Burmese")
LNG(wxLANGUAGE_CAMBODIAN, "km" , 0 , 0 , "Cambodian") LNG(wxLANGUAGE_CAMBODIAN, "km" , 0 , 0 , wxLayout_LeftToRight, "Cambodian")
LNG(wxLANGUAGE_CATALAN, "ca_ES", LANG_CATALAN , SUBLANG_DEFAULT , "Catalan") LNG(wxLANGUAGE_CATALAN, "ca_ES", LANG_CATALAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Catalan")
LNG(wxLANGUAGE_CHINESE, "zh_TW", LANG_CHINESE , SUBLANG_DEFAULT , "Chinese") LNG(wxLANGUAGE_CHINESE, "zh_TW", LANG_CHINESE , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Chinese")
LNG(wxLANGUAGE_CHINESE_SIMPLIFIED, "zh_CN", LANG_CHINESE , SUBLANG_CHINESE_SIMPLIFIED , "Chinese (Simplified)") 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 , "Chinese (Traditional)") 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 , "Chinese (Hongkong)") 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 , "Chinese (Macau)") 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 , "Chinese (Singapore)") 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 , "Chinese (Taiwan)") LNG(wxLANGUAGE_CHINESE_TAIWAN, "zh_TW", LANG_CHINESE , SUBLANG_CHINESE_TRADITIONAL , wxLayout_LeftToRight, "Chinese (Taiwan)")
LNG(wxLANGUAGE_CORSICAN, "co" , 0 , 0 , "Corsican") LNG(wxLANGUAGE_CORSICAN, "co" , 0 , 0 , wxLayout_LeftToRight, "Corsican")
LNG(wxLANGUAGE_CROATIAN, "hr_HR", LANG_CROATIAN , SUBLANG_DEFAULT , "Croatian") LNG(wxLANGUAGE_CROATIAN, "hr_HR", LANG_CROATIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Croatian")
LNG(wxLANGUAGE_CZECH, "cs_CZ", LANG_CZECH , SUBLANG_DEFAULT , "Czech") LNG(wxLANGUAGE_CZECH, "cs_CZ", LANG_CZECH , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Czech")
LNG(wxLANGUAGE_DANISH, "da_DK", LANG_DANISH , SUBLANG_DEFAULT , "Danish") LNG(wxLANGUAGE_DANISH, "da_DK", LANG_DANISH , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Danish")
LNG(wxLANGUAGE_DUTCH, "nl_NL", LANG_DUTCH , SUBLANG_DUTCH , "Dutch") LNG(wxLANGUAGE_DUTCH, "nl_NL", LANG_DUTCH , SUBLANG_DUTCH , wxLayout_LeftToRight, "Dutch")
LNG(wxLANGUAGE_DUTCH_BELGIAN, "nl_BE", LANG_DUTCH , SUBLANG_DUTCH_BELGIAN , "Dutch (Belgian)") 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 , "English") LNG(wxLANGUAGE_ENGLISH, "en_GB", LANG_ENGLISH , SUBLANG_ENGLISH_UK , wxLayout_LeftToRight, "English")
LNG(wxLANGUAGE_ENGLISH_UK, "en_GB", LANG_ENGLISH , SUBLANG_ENGLISH_UK , "English (U.K.)") 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 , "English (U.S.)") 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 , "English (Australia)") 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 , "English (Belize)") LNG(wxLANGUAGE_ENGLISH_BELIZE, "en_BZ", LANG_ENGLISH , SUBLANG_ENGLISH_BELIZE , wxLayout_LeftToRight, "English (Belize)")
LNG(wxLANGUAGE_ENGLISH_BOTSWANA, "en_BW", 0 , 0 , "English (Botswana)") LNG(wxLANGUAGE_ENGLISH_BOTSWANA, "en_BW", 0 , 0 , wxLayout_LeftToRight, "English (Botswana)")
LNG(wxLANGUAGE_ENGLISH_CANADA, "en_CA", LANG_ENGLISH , SUBLANG_ENGLISH_CAN , "English (Canada)") 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 , "English (Caribbean)") LNG(wxLANGUAGE_ENGLISH_CARIBBEAN, "en_CB", LANG_ENGLISH , SUBLANG_ENGLISH_CARIBBEAN , wxLayout_LeftToRight, "English (Caribbean)")
LNG(wxLANGUAGE_ENGLISH_DENMARK, "en_DK", 0 , 0 , "English (Denmark)") LNG(wxLANGUAGE_ENGLISH_DENMARK, "en_DK", 0 , 0 , wxLayout_LeftToRight, "English (Denmark)")
LNG(wxLANGUAGE_ENGLISH_EIRE, "en_IE", LANG_ENGLISH , SUBLANG_ENGLISH_EIRE , "English (Eire)") 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 , "English (Jamaica)") 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 , "English (New Zealand)") 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 , "English (Philippines)") 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 , "English (South Africa)") 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 , "English (Trinidad)") 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 , "English (Zimbabwe)") LNG(wxLANGUAGE_ENGLISH_ZIMBABWE, "en_ZW", LANG_ENGLISH , SUBLANG_ENGLISH_ZIMBABWE , wxLayout_LeftToRight, "English (Zimbabwe)")
LNG(wxLANGUAGE_ESPERANTO, "eo" , 0 , 0 , "Esperanto") LNG(wxLANGUAGE_ESPERANTO, "eo" , 0 , 0 , wxLayout_LeftToRight, "Esperanto")
LNG(wxLANGUAGE_ESTONIAN, "et_EE", LANG_ESTONIAN , SUBLANG_DEFAULT , "Estonian") LNG(wxLANGUAGE_ESTONIAN, "et_EE", LANG_ESTONIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Estonian")
LNG(wxLANGUAGE_FAEROESE, "fo_FO", LANG_FAEROESE , SUBLANG_DEFAULT , "Faeroese") LNG(wxLANGUAGE_FAEROESE, "fo_FO", LANG_FAEROESE , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Faeroese")
LNG(wxLANGUAGE_FARSI, "fa_IR", LANG_FARSI , SUBLANG_DEFAULT , "Farsi") LNG(wxLANGUAGE_FARSI, "fa_IR", LANG_FARSI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Farsi")
LNG(wxLANGUAGE_FIJI, "fj" , 0 , 0 , "Fiji") LNG(wxLANGUAGE_FIJI, "fj" , 0 , 0 , wxLayout_LeftToRight, "Fiji")
LNG(wxLANGUAGE_FINNISH, "fi_FI", LANG_FINNISH , SUBLANG_DEFAULT , "Finnish") LNG(wxLANGUAGE_FINNISH, "fi_FI", LANG_FINNISH , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Finnish")
LNG(wxLANGUAGE_FRENCH, "fr_FR", LANG_FRENCH , SUBLANG_FRENCH , "French") LNG(wxLANGUAGE_FRENCH, "fr_FR", LANG_FRENCH , SUBLANG_FRENCH , wxLayout_LeftToRight, "French")
LNG(wxLANGUAGE_FRENCH_BELGIAN, "fr_BE", LANG_FRENCH , SUBLANG_FRENCH_BELGIAN , "French (Belgian)") 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 , "French (Canadian)") 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 , "French (Luxembourg)") 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 , "French (Monaco)") 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 , "French (Swiss)") LNG(wxLANGUAGE_FRENCH_SWISS, "fr_CH", LANG_FRENCH , SUBLANG_FRENCH_SWISS , wxLayout_LeftToRight, "French (Swiss)")
LNG(wxLANGUAGE_FRISIAN, "fy" , 0 , 0 , "Frisian") LNG(wxLANGUAGE_FRISIAN, "fy" , 0 , 0 , wxLayout_LeftToRight, "Frisian")
LNG(wxLANGUAGE_GALICIAN, "gl_ES", 0 , 0 , "Galician") LNG(wxLANGUAGE_GALICIAN, "gl_ES", 0 , 0 , wxLayout_LeftToRight, "Galician")
LNG(wxLANGUAGE_GEORGIAN, "ka" , LANG_GEORGIAN , SUBLANG_DEFAULT , "Georgian") LNG(wxLANGUAGE_GEORGIAN, "ka" , LANG_GEORGIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Georgian")
LNG(wxLANGUAGE_GERMAN, "de_DE", LANG_GERMAN , SUBLANG_GERMAN , "German") LNG(wxLANGUAGE_GERMAN, "de_DE", LANG_GERMAN , SUBLANG_GERMAN , wxLayout_LeftToRight, "German")
LNG(wxLANGUAGE_GERMAN_AUSTRIAN, "de_AT", LANG_GERMAN , SUBLANG_GERMAN_AUSTRIAN , "German (Austrian)") LNG(wxLANGUAGE_GERMAN_AUSTRIAN, "de_AT", LANG_GERMAN , SUBLANG_GERMAN_AUSTRIAN , wxLayout_LeftToRight, "German (Austrian)")
LNG(wxLANGUAGE_GERMAN_BELGIUM, "de_BE", 0 , 0 , "German (Belgium)") LNG(wxLANGUAGE_GERMAN_BELGIUM, "de_BE", 0 , 0 , wxLayout_LeftToRight, "German (Belgium)")
LNG(wxLANGUAGE_GERMAN_LIECHTENSTEIN, "de_LI", LANG_GERMAN , SUBLANG_GERMAN_LIECHTENSTEIN , "German (Liechtenstein)") 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 , "German (Luxembourg)") 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 , "German (Swiss)") LNG(wxLANGUAGE_GERMAN_SWISS, "de_CH", LANG_GERMAN , SUBLANG_GERMAN_SWISS , wxLayout_LeftToRight, "German (Swiss)")
LNG(wxLANGUAGE_GREEK, "el_GR", LANG_GREEK , SUBLANG_DEFAULT , "Greek") LNG(wxLANGUAGE_GREEK, "el_GR", LANG_GREEK , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Greek")
LNG(wxLANGUAGE_GREENLANDIC, "kl_GL", 0 , 0 , "Greenlandic") LNG(wxLANGUAGE_GREENLANDIC, "kl_GL", 0 , 0 , wxLayout_LeftToRight, "Greenlandic")
LNG(wxLANGUAGE_GUARANI, "gn" , 0 , 0 , "Guarani") LNG(wxLANGUAGE_GUARANI, "gn" , 0 , 0 , wxLayout_LeftToRight, "Guarani")
LNG(wxLANGUAGE_GUJARATI, "gu" , LANG_GUJARATI , SUBLANG_DEFAULT , "Gujarati") LNG(wxLANGUAGE_GUJARATI, "gu" , LANG_GUJARATI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Gujarati")
LNG(wxLANGUAGE_HAUSA, "ha" , 0 , 0 , "Hausa") LNG(wxLANGUAGE_HAUSA, "ha" , 0 , 0 , wxLayout_LeftToRight, "Hausa")
LNG(wxLANGUAGE_HEBREW, "he_IL", LANG_HEBREW , SUBLANG_DEFAULT , "Hebrew") LNG(wxLANGUAGE_HEBREW, "he_IL", LANG_HEBREW , SUBLANG_DEFAULT , wxLayout_RightToLeft, "Hebrew")
LNG(wxLANGUAGE_HINDI, "hi_IN", LANG_HINDI , SUBLANG_DEFAULT , "Hindi") LNG(wxLANGUAGE_HINDI, "hi_IN", LANG_HINDI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Hindi")
LNG(wxLANGUAGE_HUNGARIAN, "hu_HU", LANG_HUNGARIAN , SUBLANG_DEFAULT , "Hungarian") LNG(wxLANGUAGE_HUNGARIAN, "hu_HU", LANG_HUNGARIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Hungarian")
LNG(wxLANGUAGE_ICELANDIC, "is_IS", LANG_ICELANDIC , SUBLANG_DEFAULT , "Icelandic") LNG(wxLANGUAGE_ICELANDIC, "is_IS", LANG_ICELANDIC , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Icelandic")
LNG(wxLANGUAGE_INDONESIAN, "id_ID", LANG_INDONESIAN, SUBLANG_DEFAULT , "Indonesian") LNG(wxLANGUAGE_INDONESIAN, "id_ID", LANG_INDONESIAN, SUBLANG_DEFAULT , wxLayout_LeftToRight, "Indonesian")
LNG(wxLANGUAGE_INTERLINGUA, "ia" , 0 , 0 , "Interlingua") LNG(wxLANGUAGE_INTERLINGUA, "ia" , 0 , 0 , wxLayout_LeftToRight, "Interlingua")
LNG(wxLANGUAGE_INTERLINGUE, "ie" , 0 , 0 , "Interlingue") LNG(wxLANGUAGE_INTERLINGUE, "ie" , 0 , 0 , wxLayout_LeftToRight, "Interlingue")
LNG(wxLANGUAGE_INUKTITUT, "iu" , 0 , 0 , "Inuktitut") LNG(wxLANGUAGE_INUKTITUT, "iu" , 0 , 0 , wxLayout_LeftToRight, "Inuktitut")
LNG(wxLANGUAGE_INUPIAK, "ik" , 0 , 0 , "Inupiak") LNG(wxLANGUAGE_INUPIAK, "ik" , 0 , 0 , wxLayout_LeftToRight, "Inupiak")
LNG(wxLANGUAGE_IRISH, "ga_IE", 0 , 0 , "Irish") LNG(wxLANGUAGE_IRISH, "ga_IE", 0 , 0 , wxLayout_LeftToRight, "Irish")
LNG(wxLANGUAGE_ITALIAN, "it_IT", LANG_ITALIAN , SUBLANG_ITALIAN , "Italian") LNG(wxLANGUAGE_ITALIAN, "it_IT", LANG_ITALIAN , SUBLANG_ITALIAN , wxLayout_LeftToRight, "Italian")
LNG(wxLANGUAGE_ITALIAN_SWISS, "it_CH", LANG_ITALIAN , SUBLANG_ITALIAN_SWISS , "Italian (Swiss)") LNG(wxLANGUAGE_ITALIAN_SWISS, "it_CH", LANG_ITALIAN , SUBLANG_ITALIAN_SWISS , wxLayout_LeftToRight, "Italian (Swiss)")
LNG(wxLANGUAGE_JAPANESE, "ja_JP", LANG_JAPANESE , SUBLANG_DEFAULT , "Japanese") LNG(wxLANGUAGE_JAPANESE, "ja_JP", LANG_JAPANESE , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Japanese")
LNG(wxLANGUAGE_JAVANESE, "jw" , 0 , 0 , "Javanese") LNG(wxLANGUAGE_JAVANESE, "jw" , 0 , 0 , wxLayout_LeftToRight, "Javanese")
LNG(wxLANGUAGE_KANNADA, "kn" , LANG_KANNADA , SUBLANG_DEFAULT , "Kannada") LNG(wxLANGUAGE_KANNADA, "kn" , LANG_KANNADA , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Kannada")
LNG(wxLANGUAGE_KASHMIRI, "ks" , LANG_KASHMIRI , SUBLANG_DEFAULT , "Kashmiri") LNG(wxLANGUAGE_KASHMIRI, "ks" , LANG_KASHMIRI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Kashmiri")
LNG(wxLANGUAGE_KASHMIRI_INDIA, "ks_IN", LANG_KASHMIRI , SUBLANG_KASHMIRI_INDIA , "Kashmiri (India)") LNG(wxLANGUAGE_KASHMIRI_INDIA, "ks_IN", LANG_KASHMIRI , SUBLANG_KASHMIRI_INDIA , wxLayout_LeftToRight, "Kashmiri (India)")
LNG(wxLANGUAGE_KAZAKH, "kk" , LANG_KAZAK , SUBLANG_DEFAULT , "Kazakh") LNG(wxLANGUAGE_KAZAKH, "kk" , LANG_KAZAK , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Kazakh")
LNG(wxLANGUAGE_KERNEWEK, "kw_GB", 0 , 0 , "Kernewek") LNG(wxLANGUAGE_KERNEWEK, "kw_GB", 0 , 0 , wxLayout_LeftToRight, "Kernewek")
LNG(wxLANGUAGE_KINYARWANDA, "rw" , 0 , 0 , "Kinyarwanda") LNG(wxLANGUAGE_KINYARWANDA, "rw" , 0 , 0 , wxLayout_LeftToRight, "Kinyarwanda")
LNG(wxLANGUAGE_KIRGHIZ, "ky" , 0 , 0 , "Kirghiz") LNG(wxLANGUAGE_KIRGHIZ, "ky" , 0 , 0 , wxLayout_LeftToRight, "Kirghiz")
LNG(wxLANGUAGE_KIRUNDI, "rn" , 0 , 0 , "Kirundi") LNG(wxLANGUAGE_KIRUNDI, "rn" , 0 , 0 , wxLayout_LeftToRight, "Kirundi")
LNG(wxLANGUAGE_KONKANI, "" , LANG_KONKANI , SUBLANG_DEFAULT , "Konkani") LNG(wxLANGUAGE_KONKANI, "" , LANG_KONKANI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Konkani")
LNG(wxLANGUAGE_KOREAN, "ko_KR", LANG_KOREAN , SUBLANG_KOREAN , "Korean") LNG(wxLANGUAGE_KOREAN, "ko_KR", LANG_KOREAN , SUBLANG_KOREAN , wxLayout_LeftToRight, "Korean")
LNG(wxLANGUAGE_KURDISH, "ku" , 0 , 0 , "Kurdish") LNG(wxLANGUAGE_KURDISH, "ku" , 0 , 0 , wxLayout_LeftToRight, "Kurdish")
LNG(wxLANGUAGE_LAOTHIAN, "lo" , 0 , 0 , "Laothian") LNG(wxLANGUAGE_LAOTHIAN, "lo" , 0 , 0 , wxLayout_LeftToRight, "Laothian")
LNG(wxLANGUAGE_LATIN, "la" , 0 , 0 , "Latin") LNG(wxLANGUAGE_LATIN, "la" , 0 , 0 , wxLayout_LeftToRight, "Latin")
LNG(wxLANGUAGE_LATVIAN, "lv_LV", LANG_LATVIAN , SUBLANG_DEFAULT , "Latvian") LNG(wxLANGUAGE_LATVIAN, "lv_LV", LANG_LATVIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Latvian")
LNG(wxLANGUAGE_LINGALA, "ln" , 0 , 0 , "Lingala") LNG(wxLANGUAGE_LINGALA, "ln" , 0 , 0 , wxLayout_LeftToRight, "Lingala")
LNG(wxLANGUAGE_LITHUANIAN, "lt_LT", LANG_LITHUANIAN, SUBLANG_LITHUANIAN , "Lithuanian") LNG(wxLANGUAGE_LITHUANIAN, "lt_LT", LANG_LITHUANIAN, SUBLANG_LITHUANIAN , wxLayout_LeftToRight, "Lithuanian")
LNG(wxLANGUAGE_MACEDONIAN, "mk_MK", LANG_MACEDONIAN, SUBLANG_DEFAULT , "Macedonian") LNG(wxLANGUAGE_MACEDONIAN, "mk_MK", LANG_MACEDONIAN, SUBLANG_DEFAULT , wxLayout_LeftToRight, "Macedonian")
LNG(wxLANGUAGE_MALAGASY, "mg" , 0 , 0 , "Malagasy") LNG(wxLANGUAGE_MALAGASY, "mg" , 0 , 0 , wxLayout_LeftToRight, "Malagasy")
LNG(wxLANGUAGE_MALAY, "ms_MY", LANG_MALAY , SUBLANG_DEFAULT , "Malay") LNG(wxLANGUAGE_MALAY, "ms_MY", LANG_MALAY , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Malay")
LNG(wxLANGUAGE_MALAYALAM, "ml" , LANG_MALAYALAM , SUBLANG_DEFAULT , "Malayalam") LNG(wxLANGUAGE_MALAYALAM, "ml" , LANG_MALAYALAM , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Malayalam")
LNG(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM, "ms_BN", LANG_MALAY , SUBLANG_MALAY_BRUNEI_DARUSSALAM , "Malay (Brunei Darussalam)") 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 , "Malay (Malaysia)") LNG(wxLANGUAGE_MALAY_MALAYSIA, "ms_MY", LANG_MALAY , SUBLANG_MALAY_MALAYSIA , wxLayout_LeftToRight, "Malay (Malaysia)")
LNG(wxLANGUAGE_MALTESE, "mt_MT", 0 , 0 , "Maltese") LNG(wxLANGUAGE_MALTESE, "mt_MT", 0 , 0 , wxLayout_LeftToRight, "Maltese")
LNG(wxLANGUAGE_MANIPURI, "" , LANG_MANIPURI , SUBLANG_DEFAULT , "Manipuri") LNG(wxLANGUAGE_MANIPURI, "" , LANG_MANIPURI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Manipuri")
LNG(wxLANGUAGE_MAORI, "mi" , 0 , 0 , "Maori") LNG(wxLANGUAGE_MAORI, "mi" , 0 , 0 , wxLayout_LeftToRight, "Maori")
LNG(wxLANGUAGE_MARATHI, "mr_IN", LANG_MARATHI , SUBLANG_DEFAULT , "Marathi") LNG(wxLANGUAGE_MARATHI, "mr_IN", LANG_MARATHI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Marathi")
LNG(wxLANGUAGE_MOLDAVIAN, "mo" , 0 , 0 , "Moldavian") LNG(wxLANGUAGE_MOLDAVIAN, "mo" , 0 , 0 , wxLayout_LeftToRight, "Moldavian")
LNG(wxLANGUAGE_MONGOLIAN, "mn" , 0 , 0 , "Mongolian") LNG(wxLANGUAGE_MONGOLIAN, "mn" , 0 , 0 , wxLayout_LeftToRight, "Mongolian")
LNG(wxLANGUAGE_NAURU, "na" , 0 , 0 , "Nauru") LNG(wxLANGUAGE_NAURU, "na" , 0 , 0 , wxLayout_LeftToRight, "Nauru")
LNG(wxLANGUAGE_NEPALI, "ne" , LANG_NEPALI , SUBLANG_DEFAULT , "Nepali") LNG(wxLANGUAGE_NEPALI, "ne" , LANG_NEPALI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Nepali")
LNG(wxLANGUAGE_NEPALI_INDIA, "ne_IN", LANG_NEPALI , SUBLANG_NEPALI_INDIA , "Nepali (India)") 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 , "Norwegian (Bokmal)") 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 , "Norwegian (Nynorsk)") LNG(wxLANGUAGE_NORWEGIAN_NYNORSK, "nn_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_NYNORSK , wxLayout_LeftToRight, "Norwegian (Nynorsk)")
LNG(wxLANGUAGE_OCCITAN, "oc" , 0 , 0 , "Occitan") LNG(wxLANGUAGE_OCCITAN, "oc" , 0 , 0 , wxLayout_LeftToRight, "Occitan")
LNG(wxLANGUAGE_ORIYA, "or" , LANG_ORIYA , SUBLANG_DEFAULT , "Oriya") LNG(wxLANGUAGE_ORIYA, "or" , LANG_ORIYA , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Oriya")
LNG(wxLANGUAGE_OROMO, "om" , 0 , 0 , "(Afan) Oromo") LNG(wxLANGUAGE_OROMO, "om" , 0 , 0 , wxLayout_LeftToRight, "(Afan) Oromo")
LNG(wxLANGUAGE_PASHTO, "ps" , 0 , 0 , "Pashto, Pushto") LNG(wxLANGUAGE_PASHTO, "ps" , 0 , 0 , wxLayout_LeftToRight, "Pashto, Pushto")
LNG(wxLANGUAGE_POLISH, "pl_PL", LANG_POLISH , SUBLANG_DEFAULT , "Polish") LNG(wxLANGUAGE_POLISH, "pl_PL", LANG_POLISH , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Polish")
LNG(wxLANGUAGE_PORTUGUESE, "pt_PT", LANG_PORTUGUESE, SUBLANG_PORTUGUESE , "Portuguese") LNG(wxLANGUAGE_PORTUGUESE, "pt_PT", LANG_PORTUGUESE, SUBLANG_PORTUGUESE , wxLayout_LeftToRight, "Portuguese")
LNG(wxLANGUAGE_PORTUGUESE_BRAZILIAN, "pt_BR", LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN , "Portuguese (Brazilian)") LNG(wxLANGUAGE_PORTUGUESE_BRAZILIAN, "pt_BR", LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN , wxLayout_LeftToRight, "Portuguese (Brazilian)")
LNG(wxLANGUAGE_PUNJABI, "pa" , LANG_PUNJABI , SUBLANG_DEFAULT , "Punjabi") LNG(wxLANGUAGE_PUNJABI, "pa" , LANG_PUNJABI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Punjabi")
LNG(wxLANGUAGE_QUECHUA, "qu" , 0 , 0 , "Quechua") LNG(wxLANGUAGE_QUECHUA, "qu" , 0 , 0 , wxLayout_LeftToRight, "Quechua")
LNG(wxLANGUAGE_RHAETO_ROMANCE, "rm" , 0 , 0 , "Rhaeto-Romance") LNG(wxLANGUAGE_RHAETO_ROMANCE, "rm" , 0 , 0 , wxLayout_LeftToRight, "Rhaeto-Romance")
LNG(wxLANGUAGE_ROMANIAN, "ro_RO", LANG_ROMANIAN , SUBLANG_DEFAULT , "Romanian") LNG(wxLANGUAGE_ROMANIAN, "ro_RO", LANG_ROMANIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Romanian")
LNG(wxLANGUAGE_RUSSIAN, "ru_RU", LANG_RUSSIAN , SUBLANG_DEFAULT , "Russian") LNG(wxLANGUAGE_RUSSIAN, "ru_RU", LANG_RUSSIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Russian")
LNG(wxLANGUAGE_RUSSIAN_UKRAINE, "ru_UA", 0 , 0 , "Russian (Ukraine)") LNG(wxLANGUAGE_RUSSIAN_UKRAINE, "ru_UA", 0 , 0 , wxLayout_LeftToRight, "Russian (Ukraine)")
LNG(wxLANGUAGE_SAMOAN, "sm" , 0 , 0 , "Samoan") LNG(wxLANGUAGE_SAMOAN, "sm" , 0 , 0 , wxLayout_LeftToRight, "Samoan")
LNG(wxLANGUAGE_SANGHO, "sg" , 0 , 0 , "Sangho") LNG(wxLANGUAGE_SANGHO, "sg" , 0 , 0 , wxLayout_LeftToRight, "Sangho")
LNG(wxLANGUAGE_SANSKRIT, "sa" , LANG_SANSKRIT , SUBLANG_DEFAULT , "Sanskrit") LNG(wxLANGUAGE_SANSKRIT, "sa" , LANG_SANSKRIT , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Sanskrit")
LNG(wxLANGUAGE_SCOTS_GAELIC, "gd" , 0 , 0 , "Scots Gaelic") LNG(wxLANGUAGE_SCOTS_GAELIC, "gd" , 0 , 0 , wxLayout_LeftToRight, "Scots Gaelic")
LNG(wxLANGUAGE_SERBIAN_CYRILLIC, "sr_YU", LANG_SERBIAN , SUBLANG_SERBIAN_CYRILLIC , "Serbian (Cyrillic)") 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 , "Serbian (Latin)") LNG(wxLANGUAGE_SERBIAN_LATIN, "sr_YU", LANG_SERBIAN , SUBLANG_SERBIAN_LATIN , wxLayout_LeftToRight, "Serbian (Latin)")
LNG(wxLANGUAGE_SERBO_CROATIAN, "sh" , 0 , 0 , "Serbo-Croatian") LNG(wxLANGUAGE_SERBO_CROATIAN, "sh" , 0 , 0 , wxLayout_LeftToRight, "Serbo-Croatian")
LNG(wxLANGUAGE_SESOTHO, "st" , 0 , 0 , "Sesotho") LNG(wxLANGUAGE_SESOTHO, "st" , 0 , 0 , wxLayout_LeftToRight, "Sesotho")
LNG(wxLANGUAGE_SETSWANA, "tn" , 0 , 0 , "Setswana") LNG(wxLANGUAGE_SETSWANA, "tn" , 0 , 0 , wxLayout_LeftToRight, "Setswana")
LNG(wxLANGUAGE_SHONA, "sn" , 0 , 0 , "Shona") LNG(wxLANGUAGE_SHONA, "sn" , 0 , 0 , wxLayout_LeftToRight, "Shona")
LNG(wxLANGUAGE_SINDHI, "sd" , LANG_SINDHI , SUBLANG_DEFAULT , "Sindhi") LNG(wxLANGUAGE_SINDHI, "sd" , LANG_SINDHI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Sindhi")
LNG(wxLANGUAGE_SINHALESE, "si" , 0 , 0 , "Sinhalese") LNG(wxLANGUAGE_SINHALESE, "si" , 0 , 0 , wxLayout_LeftToRight, "Sinhalese")
LNG(wxLANGUAGE_SISWATI, "ss" , 0 , 0 , "Siswati") LNG(wxLANGUAGE_SISWATI, "ss" , 0 , 0 , wxLayout_LeftToRight, "Siswati")
LNG(wxLANGUAGE_SLOVAK, "sk_SK", LANG_SLOVAK , SUBLANG_DEFAULT , "Slovak") LNG(wxLANGUAGE_SLOVAK, "sk_SK", LANG_SLOVAK , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Slovak")
LNG(wxLANGUAGE_SLOVENIAN, "sl_SI", LANG_SLOVENIAN , SUBLANG_DEFAULT , "Slovenian") LNG(wxLANGUAGE_SLOVENIAN, "sl_SI", LANG_SLOVENIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Slovenian")
LNG(wxLANGUAGE_SOMALI, "so" , 0 , 0 , "Somali") LNG(wxLANGUAGE_SOMALI, "so" , 0 , 0 , wxLayout_LeftToRight, "Somali")
LNG(wxLANGUAGE_SPANISH, "es_ES", LANG_SPANISH , SUBLANG_SPANISH , "Spanish") LNG(wxLANGUAGE_SPANISH, "es_ES", LANG_SPANISH , SUBLANG_SPANISH , wxLayout_LeftToRight, "Spanish")
LNG(wxLANGUAGE_SPANISH_ARGENTINA, "es_AR", LANG_SPANISH , SUBLANG_SPANISH_ARGENTINA , "Spanish (Argentina)") 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 , "Spanish (Bolivia)") 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 , "Spanish (Chile)") 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 , "Spanish (Colombia)") 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 , "Spanish (Costa Rica)") 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, "Spanish (Dominican republic)") 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 , "Spanish (Ecuador)") 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 , "Spanish (El Salvador)") 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 , "Spanish (Guatemala)") 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 , "Spanish (Honduras)") 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 , "Spanish (Mexican)") 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 , "Spanish (Modern)") 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 , "Spanish (Nicaragua)") 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 , "Spanish (Panama)") 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 , "Spanish (Paraguay)") 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 , "Spanish (Peru)") 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 , "Spanish (Puerto Rico)") 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 , "Spanish (Uruguay)") LNG(wxLANGUAGE_SPANISH_URUGUAY, "es_UY", LANG_SPANISH , SUBLANG_SPANISH_URUGUAY , wxLayout_LeftToRight, "Spanish (Uruguay)")
LNG(wxLANGUAGE_SPANISH_US, "es_US", 0 , 0 , "Spanish (U.S.)") LNG(wxLANGUAGE_SPANISH_US, "es_US", 0 , 0 , wxLayout_LeftToRight, "Spanish (U.S.)")
LNG(wxLANGUAGE_SPANISH_VENEZUELA, "es_VE", LANG_SPANISH , SUBLANG_SPANISH_VENEZUELA , "Spanish (Venezuela)") LNG(wxLANGUAGE_SPANISH_VENEZUELA, "es_VE", LANG_SPANISH , SUBLANG_SPANISH_VENEZUELA , wxLayout_LeftToRight, "Spanish (Venezuela)")
LNG(wxLANGUAGE_SUNDANESE, "su" , 0 , 0 , "Sundanese") LNG(wxLANGUAGE_SUNDANESE, "su" , 0 , 0 , wxLayout_LeftToRight, "Sundanese")
LNG(wxLANGUAGE_SWAHILI, "sw_KE", LANG_SWAHILI , SUBLANG_DEFAULT , "Swahili") LNG(wxLANGUAGE_SWAHILI, "sw_KE", LANG_SWAHILI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Swahili")
LNG(wxLANGUAGE_SWEDISH, "sv_SE", LANG_SWEDISH , SUBLANG_SWEDISH , "Swedish") LNG(wxLANGUAGE_SWEDISH, "sv_SE", LANG_SWEDISH , SUBLANG_SWEDISH , wxLayout_LeftToRight, "Swedish")
LNG(wxLANGUAGE_SWEDISH_FINLAND, "sv_FI", LANG_SWEDISH , SUBLANG_SWEDISH_FINLAND , "Swedish (Finland)") LNG(wxLANGUAGE_SWEDISH_FINLAND, "sv_FI", LANG_SWEDISH , SUBLANG_SWEDISH_FINLAND , wxLayout_LeftToRight, "Swedish (Finland)")
LNG(wxLANGUAGE_TAGALOG, "tl_PH", 0 , 0 , "Tagalog") LNG(wxLANGUAGE_TAGALOG, "tl_PH", 0 , 0 , wxLayout_LeftToRight, "Tagalog")
LNG(wxLANGUAGE_TAJIK, "tg" , 0 , 0 , "Tajik") LNG(wxLANGUAGE_TAJIK, "tg" , 0 , 0 , wxLayout_LeftToRight, "Tajik")
LNG(wxLANGUAGE_TAMIL, "ta" , LANG_TAMIL , SUBLANG_DEFAULT , "Tamil") LNG(wxLANGUAGE_TAMIL, "ta" , LANG_TAMIL , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Tamil")
LNG(wxLANGUAGE_TATAR, "tt" , LANG_TATAR , SUBLANG_DEFAULT , "Tatar") LNG(wxLANGUAGE_TATAR, "tt" , LANG_TATAR , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Tatar")
LNG(wxLANGUAGE_TELUGU, "te" , LANG_TELUGU , SUBLANG_DEFAULT , "Telugu") LNG(wxLANGUAGE_TELUGU, "te" , LANG_TELUGU , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Telugu")
LNG(wxLANGUAGE_THAI, "th_TH", LANG_THAI , SUBLANG_DEFAULT , "Thai") LNG(wxLANGUAGE_THAI, "th_TH", LANG_THAI , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Thai")
LNG(wxLANGUAGE_TIBETAN, "bo" , 0 , 0 , "Tibetan") LNG(wxLANGUAGE_TIBETAN, "bo" , 0 , 0 , wxLayout_LeftToRight, "Tibetan")
LNG(wxLANGUAGE_TIGRINYA, "ti" , 0 , 0 , "Tigrinya") LNG(wxLANGUAGE_TIGRINYA, "ti" , 0 , 0 , wxLayout_LeftToRight, "Tigrinya")
LNG(wxLANGUAGE_TONGA, "to" , 0 , 0 , "Tonga") LNG(wxLANGUAGE_TONGA, "to" , 0 , 0 , wxLayout_LeftToRight, "Tonga")
LNG(wxLANGUAGE_TSONGA, "ts" , 0 , 0 , "Tsonga") LNG(wxLANGUAGE_TSONGA, "ts" , 0 , 0 , wxLayout_LeftToRight, "Tsonga")
LNG(wxLANGUAGE_TURKISH, "tr_TR", LANG_TURKISH , SUBLANG_DEFAULT , "Turkish") LNG(wxLANGUAGE_TURKISH, "tr_TR", LANG_TURKISH , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Turkish")
LNG(wxLANGUAGE_TURKMEN, "tk" , 0 , 0 , "Turkmen") LNG(wxLANGUAGE_TURKMEN, "tk" , 0 , 0 , wxLayout_LeftToRight, "Turkmen")
LNG(wxLANGUAGE_TWI, "tw" , 0 , 0 , "Twi") LNG(wxLANGUAGE_TWI, "tw" , 0 , 0 , wxLayout_LeftToRight, "Twi")
LNG(wxLANGUAGE_UIGHUR, "ug" , 0 , 0 , "Uighur") LNG(wxLANGUAGE_UIGHUR, "ug" , 0 , 0 , wxLayout_LeftToRight, "Uighur")
LNG(wxLANGUAGE_UKRAINIAN, "uk_UA", LANG_UKRAINIAN , SUBLANG_DEFAULT , "Ukrainian") LNG(wxLANGUAGE_UKRAINIAN, "uk_UA", LANG_UKRAINIAN , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Ukrainian")
LNG(wxLANGUAGE_URDU, "ur" , LANG_URDU , SUBLANG_DEFAULT , "Urdu") LNG(wxLANGUAGE_URDU, "ur" , LANG_URDU , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Urdu")
LNG(wxLANGUAGE_URDU_INDIA, "ur_IN", LANG_URDU , SUBLANG_URDU_INDIA , "Urdu (India)") 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 , "Urdu (Pakistan)") LNG(wxLANGUAGE_URDU_PAKISTAN, "ur_PK", LANG_URDU , SUBLANG_URDU_PAKISTAN , wxLayout_LeftToRight, "Urdu (Pakistan)")
LNG(wxLANGUAGE_UZBEK, "uz" , LANG_UZBEK , SUBLANG_DEFAULT , "Uzbek") LNG(wxLANGUAGE_UZBEK, "uz" , LANG_UZBEK , SUBLANG_DEFAULT , wxLayout_LeftToRight, "Uzbek")
LNG(wxLANGUAGE_UZBEK_CYRILLIC, "uz" , LANG_UZBEK , SUBLANG_UZBEK_CYRILLIC , "Uzbek (Cyrillic)") LNG(wxLANGUAGE_UZBEK_CYRILLIC, "uz" , LANG_UZBEK , SUBLANG_UZBEK_CYRILLIC , wxLayout_LeftToRight, "Uzbek (Cyrillic)")
LNG(wxLANGUAGE_UZBEK_LATIN, "uz" , LANG_UZBEK , SUBLANG_UZBEK_LATIN , "Uzbek (Latin)") LNG(wxLANGUAGE_UZBEK_LATIN, "uz" , LANG_UZBEK , SUBLANG_UZBEK_LATIN , wxLayout_LeftToRight, "Uzbek (Latin)")
LNG(wxLANGUAGE_VIETNAMESE, "vi_VN", LANG_VIETNAMESE, SUBLANG_DEFAULT , "Vietnamese") LNG(wxLANGUAGE_VIETNAMESE, "vi_VN", LANG_VIETNAMESE, SUBLANG_DEFAULT , wxLayout_LeftToRight, "Vietnamese")
LNG(wxLANGUAGE_VOLAPUK, "vo" , 0 , 0 , "Volapuk") LNG(wxLANGUAGE_VOLAPUK, "vo" , 0 , 0 , wxLayout_LeftToRight, "Volapuk")
LNG(wxLANGUAGE_WELSH, "cy" , 0 , 0 , "Welsh") LNG(wxLANGUAGE_WELSH, "cy" , 0 , 0 , wxLayout_LeftToRight, "Welsh")
LNG(wxLANGUAGE_WOLOF, "wo" , 0 , 0 , "Wolof") LNG(wxLANGUAGE_WOLOF, "wo" , 0 , 0 , wxLayout_LeftToRight, "Wolof")
LNG(wxLANGUAGE_XHOSA, "xh" , 0 , 0 , "Xhosa") LNG(wxLANGUAGE_XHOSA, "xh" , 0 , 0 , wxLayout_LeftToRight, "Xhosa")
LNG(wxLANGUAGE_YIDDISH, "yi" , 0 , 0 , "Yiddish") LNG(wxLANGUAGE_YIDDISH, "yi" , 0 , 0 , wxLayout_LeftToRight, "Yiddish")
LNG(wxLANGUAGE_YORUBA, "yo" , 0 , 0 , "Yoruba") LNG(wxLANGUAGE_YORUBA, "yo" , 0 , 0 , wxLayout_LeftToRight, "Yoruba")
LNG(wxLANGUAGE_ZHUANG, "za" , 0 , 0 , "Zhuang") LNG(wxLANGUAGE_ZHUANG, "za" , 0 , 0 , wxLayout_LeftToRight, "Zhuang")
LNG(wxLANGUAGE_ZULU, "zu" , 0 , 0 , "Zulu") LNG(wxLANGUAGE_ZULU, "zu" , 0 , 0 , wxLayout_LeftToRight, "Zulu")
} }
#undef LNG #undef LNG

View File

@@ -1695,6 +1695,16 @@ void wxBoxSizer::RecalcSizes()
// wxALIGN_CENTER should be used in new code // wxALIGN_CENTER should be used in new code
child_pos.y += (m_size.y - size.y) / 2; 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 ); item->SetDimension( child_pos, child_size );
pt.x += width; pt.x += width;

View File

@@ -2980,3 +2980,21 @@ wxAccStatus wxWindowAccessible::GetSelections(wxVariant* WXUNUSED(selections))
} }
#endif // wxUSE_ACCESSIBILITY #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;
}

View 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 ) void wxMenuBar::UnsetInvokingWindow( wxWindow *win )
{ {
m_invokingWindow = (wxWindow*) NULL; 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" // The "m_owner" is the "menu item"
menu->m_owner = gtk_menu_item_new_with_mnemonic( wxGTK_CONV( str ) ); menu->m_owner = gtk_menu_item_new_with_mnemonic( wxGTK_CONV( str ) );
menu->SetLayoutDirection(GetLayoutDirection());
gtk_widget_show( menu->m_owner ); 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) bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
{ {
GtkWidget *menuItem; GtkWidget *menuItem;
@@ -1225,6 +1282,14 @@ int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
return wxNOT_FOUND; return wxNOT_FOUND;
} }
void wxMenu::Attach(wxMenuBarBase *menubar)
{
wxMenuBase::Attach(menubar);
// inherit layout direction from menubar.
SetLayoutDirection(menubar->GetLayoutDirection());
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// helpers // helpers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -2691,6 +2691,8 @@ void wxWindowGTK::PostCreation()
m_hasVMT = true; m_hasVMT = true;
SetLayoutDirection(wxLayout_Default);
// unless the window was created initially hidden (i.e. Hide() had been // unless the window was created initially hidden (i.e. Hide() had been
// called before Create()), we should show it at GTK+ level as well // called before Create()), we should show it at GTK+ level as well
if ( IsShown() ) if ( IsShown() )
@@ -3394,6 +3396,8 @@ bool wxWindowGTK::Reparent( wxWindowBase *newParentBase )
/* reverse: prevent GTK from deleting the widget arbitrarily */ /* reverse: prevent GTK from deleting the widget arbitrarily */
gtk_widget_unref( m_widget ); gtk_widget_unref( m_widget );
SetLayoutDirection(wxLayout_Default);
return true; return true;
} }
@@ -3428,6 +3432,51 @@ void wxWindowGTK::RemoveChild(wxWindowBase *child)
wxapp_install_idle_handler(); 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) void wxWindowGTK::DoMoveInTabOrder(wxWindow *win, MoveKind move)
{ {
wxWindowBase::DoMoveInTabOrder(win, move); wxWindowBase::DoMoveInTabOrder(win, move);

View File

@@ -97,6 +97,9 @@ int wxMessageDialog::ShowModal()
if ( wxStyle & wxSTAY_ON_TOP ) if ( wxStyle & wxSTAY_ON_TOP )
msStyle |= MB_TOPMOST; msStyle |= MB_TOPMOST;
if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
msStyle |= MB_RTLREADING | MB_RIGHT;
if (hWnd) if (hWnd)
msStyle |= MB_APPLMODAL; msStyle |= MB_APPLMODAL;
else else

View File

@@ -203,9 +203,16 @@ WXHWND wxToolTip::GetToolTipCtrl()
{ {
if ( !ms_hwndTT ) 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 // we want to show the tooltips always (even when the window is not
// active) and we don't want to strip "&"s from them // active) and we don't want to strip "&"s from them
ms_hwndTT = (WXHWND)::CreateWindow(TOOLTIPS_CLASS, ms_hwndTT = (WXHWND)::CreateWindowEx(exflags,
TOOLTIPS_CLASS,
(LPCTSTR)NULL, (LPCTSTR)NULL,
TTS_ALWAYSTIP | TTS_NOPREFIX, TTS_ALWAYSTIP | TTS_NOPREFIX,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,

View File

@@ -503,6 +503,9 @@ bool wxTopLevelWindowMSW::CreateFrame(const wxString& title,
const wxSize sz = IsAlwaysMaximized() ? wxDefaultSize : size; const wxSize sz = IsAlwaysMaximized() ? wxDefaultSize : size;
if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
exflags |= WS_EX_LAYOUTRTL;
return MSWCreate(wxCanvasClassName, title, pos, sz, flags, exflags); return MSWCreate(wxCanvasClassName, title, pos, sz, flags, exflags);
} }
@@ -562,6 +565,11 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
// all dialogs are popups // all dialogs are popups
dlgTemplate->style |= WS_POPUP; dlgTemplate->style |= WS_POPUP;
if ( wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft )
{
dlgTemplate->dwExtendedStyle |= WS_EX_LAYOUTRTL;
}
#ifndef __WXWINCE__ #ifndef __WXWINCE__
// force 3D-look if necessary, it looks impossibly ugly otherwise // force 3D-look if necessary, it looks impossibly ugly otherwise
if ( style & (wxRESIZE_BORDER | wxCAPTION) ) if ( style & (wxRESIZE_BORDER | wxCAPTION) )
@@ -761,6 +769,15 @@ void wxTopLevelWindowMSW::Restore()
DoShowWindow(SW_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 // wxTopLevelWindowMSW fullscreen
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -1018,6 +1018,59 @@ bool wxWindowMSW::ScrollPages(int pages)
down ? pages : -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 // subclassing
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------