00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
#ifndef INC_LANGUAGE_HPP
00027
#define INC_LANGUAGE_HPP
00028
00029
00030
00031
00032
#include <wx/wxprec.h>
00033
00034
#ifdef __BORLANDC__
00035
#pragma hdrstop
00036
#endif
00037
00038
#ifndef WX_PRECOMP
00039
00040
#include <wx/wx.h>
00041
#endif
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 class Languages
00054 {
00055
public:
00056
static const int LANGUAGE_UNKNOW;
00057
00058
protected:
00059
00060
00061
00062
00063
00064
00065 class Language
00066 {
00067
protected:
00068 wxString
name;
00069 wxString
nameTranslated;
00070 wxArrayString
shorts;
00071 wxArrayInt
ids;
00072 wxString
localeName;
00073 wxString
translator;
00074 wxString
translatorLoc;
00075
00076
private:
00077
00078 Language() {};
00079
00080
public:
00081
00082
Language(
const wxString& langName,
const wxString& langNameTranslated,
00083
const wxString& shortName,
const int id,
const wxString& locName,
00084
const wxString& translatorLat,
const wxString& translatorLocale);
00085
00086
00087
Language(
const wxString& langName,
const wxString& langNameTranslated,
00088
const wxArrayString& shortNames,
const wxArrayInt&
id,
00089
const wxString& locName,
const wxString& translatorLat,
00090
const wxString& translatorLocale);
00091
00092
00093
bool setLocale(wxLocale& loc,
const int language)
const;
00094
00095
00096
bool setLocale(wxLocale& loc,
const wxString& shortName)
const;
00097
00098
00099 wxString
getName() const;
00100
00101
00102 wxString getTranslatedName() const;
00103
00104
00105 wxArrayString getShortNames() const;
00106
00107
00108 wxString getShortName() const;
00109
00110
00111 wxString getTranslatorName() const;
00112
00113
00114 wxString getTranslatorNameInLocale() const;
00115 };
00116
00117
00118 WX_DEFINE_ARRAY(
Language*, LanguagesList);
00119
00120 LanguagesList languages;
00121
00122 public:
00123
00124
Languages();
00125
00126
00127 ~Languages();
00128
00129
00130
bool setLocale(wxLocale& loc) const;
00131
00132
00133
bool setLocale(wxLocale& loc, const
int language) const;
00134
00135
00136
int getLanguagesCount() const;
00137
00138
00139 wxString getLanguageName(const
int index) const;
00140
00141
00142 wxString getLanguageTranslatedName(const
int index) const;
00143
00144
00145 wxString getLanguageShortName(const
int index) const;
00146
00147
00148
int getLanguageIndexByShortName(const wxString& shortName) const;
00149
00150
00151 wxString getLanguageTranslatorName(const
int index) const;
00152
00153
00154 wxString getLanguageTranslatorNameInLocale(const
int index) const;
00155
00156 protected:
00157
00158
bool readLanguagesSettings(const wxString& langFileIni);
00159
00160
00161
00162
00163 #ifdef __BORLANDC__
00164 protected:
00165
00166 WX_DEFINE_ARRAY(wxLanguageInfo*, ArrayLanguageInfo);
00167
00168 static ArrayLanguageInfo lngInfos;
00169
00170 static
void CreateLanguagesDB();
00171 static
void DestroyLanguagesDB();
00172 public:
00173 static const wxLanguageInfo* GetLanguageInfo(
int lang);
00174 #endif
00175 };
00176
00177
00178
00179 #endif