00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00021 #ifndef __vtkKWLanguage_h
00022 #define __vtkKWLanguage_h
00023
00024 #include "vtkObject.h"
00025 #include "vtkKWWidgets.h"
00026
00027 class KWWidgets_EXPORT vtkKWLanguage : public vtkObject
00028 {
00029
00030 public:
00031 static vtkKWLanguage* New();
00032 vtkTypeRevisionMacro(vtkKWLanguage,vtkObject);
00033 void PrintSelf(ostream& os, vtkIndent indent);
00034
00036
00037 enum
00038 {
00039 ABKHAZIAN = 0,
00040 AFAR,
00041 AFRIKAANS,
00042 ALBANIAN,
00043 AMHARIC,
00044 ARABIC,
00045 ARABIC_ALGERIA,
00046 ARABIC_BAHRAIN,
00047 ARABIC_EGYPT,
00048 ARABIC_IRAQ,
00049 ARABIC_JORDAN,
00050 ARABIC_KUWAIT,
00051 ARABIC_LEBANON,
00052 ARABIC_LIBYA,
00053 ARABIC_MOROCCO,
00054 ARABIC_OMAN,
00055 ARABIC_QATAR,
00056 ARABIC_SAUDI_ARABIA,
00057 ARABIC_SUDAN,
00058 ARABIC_SYRIA,
00059 ARABIC_TUNISIA,
00060 ARABIC_UAE,
00061 ARABIC_YEMEN,
00062 ARMENIAN,
00063 ASSAMESE,
00064 AYMARA,
00065 AZERI,
00066 AZERI_CYRILLIC,
00067 AZERI_LATIN,
00068 BASHKIR,
00069 BASQUE,
00070 BELARUSIAN,
00071 BENGALI,
00072 BHUTANI,
00073 BIHARI,
00074 BISLAMA,
00075 BRETON,
00076 BULGARIAN,
00077 BURMESE,
00078 CAMBODIAN,
00079 CATALAN,
00080 CHINESE,
00081 CHINESE_SIMPLIFIED,
00082 CHINESE_TRADITIONAL,
00083 CHINESE_HONGKONG,
00084 CHINESE_MACAU,
00085 CHINESE_SINGAPORE,
00086 CHINESE_TAIWAN,
00087 CORSICAN,
00088 CROATIAN,
00089 CZECH,
00090 DANISH,
00091 DUTCH,
00092 DUTCH_BELGIAN,
00093 ENGLISH,
00094 ENGLISH_UK,
00095 ENGLISH_US,
00096 ENGLISH_AUSTRALIA,
00097 ENGLISH_BELIZE,
00098 ENGLISH_BOTSWANA,
00099 ENGLISH_CANADA,
00100 ENGLISH_CARIBBEAN,
00101 ENGLISH_DENMARK,
00102 ENGLISH_EIRE,
00103 ENGLISH_JAMAICA,
00104 ENGLISH_NEW_ZEALAND,
00105 ENGLISH_PHILIPPINES,
00106 ENGLISH_SOUTH_AFRICA,
00107 ENGLISH_TRINIDAD,
00108 ENGLISH_ZIMBABWE,
00109 ESPERANTO,
00110 ESTONIAN,
00111 FAEROESE,
00112 FARSI,
00113 FIJI,
00114 FINNISH,
00115 FRENCH,
00116 FRENCH_BELGIAN,
00117 FRENCH_CANADIAN,
00118 FRENCH_LUXEMBOURG,
00119 FRENCH_MONACO,
00120 FRENCH_SWISS,
00121 FRISIAN,
00122 GALICIAN,
00123 GEORGIAN,
00124 GERMAN,
00125 GERMAN_AUSTRIAN,
00126 GERMAN_BELGIUM,
00127 GERMAN_LIECHTENSTEIN,
00128 GERMAN_LUXEMBOURG,
00129 GERMAN_SWISS,
00130 GREEK,
00131 GREENLANDIC,
00132 GUARANI,
00133 GUJARATI,
00134 HAUSA,
00135 HEBREW,
00136 HINDI,
00137 HUNGARIAN,
00138 ICELANDIC,
00139 INDONESIAN,
00140 INTERLINGUA,
00141 INTERLINGUE,
00142 INUKTITUT,
00143 INUPIAK,
00144 IRISH,
00145 ITALIAN,
00146 ITALIAN_SWISS,
00147 JAPANESE,
00148 JAVANESE,
00149 KANNADA,
00150 KASHMIRI,
00151 KASHMIRI_INDIA,
00152 KAZAKH,
00153 KERNEWEK,
00154 KINYARWANDA,
00155 KIRGHIZ,
00156 KIRUNDI,
00157 KONKANI,
00158 KOREAN,
00159 KURDISH,
00160 LAOTHIAN,
00161 LATIN,
00162 LATVIAN,
00163 LINGALA,
00164 LITHUANIAN,
00165 MACEDONIAN,
00166 MALAGASY,
00167 MALAY,
00168 MALAYALAM,
00169 MALAY_BRUNEI_DARUSSALAM,
00170 MALAY_MALAYSIA,
00171 MALTESE,
00172 MANIPURI,
00173 MAORI,
00174 MARATHI,
00175 MOLDAVIAN,
00176 MONGOLIAN,
00177 NAURU,
00178 NEPALI,
00179 NEPALI_INDIA,
00180 NORWEGIAN_BOKMAL,
00181 NORWEGIAN_NYNORSK,
00182 OCCITAN,
00183 ORIYA,
00184 OROMO,
00185 PASHTO,
00186 POLISH,
00187 PORTUGUESE,
00188 PORTUGUESE_BRAZILIAN,
00189 PUNJABI,
00190 QUECHUA,
00191 RHAETO_ROMANCE,
00192 ROMANIAN,
00193 RUSSIAN,
00194 RUSSIAN_UKRAINE,
00195 SAMOAN,
00196 SANGHO,
00197 SANSKRIT,
00198 SCOTS_GAELIC,
00199 SERBIAN,
00200 SERBIAN_CYRILLIC,
00201 SERBIAN_LATIN,
00202 SERBO_CROATIAN,
00203 SESOTHO,
00204 SETSWANA,
00205 SHONA,
00206 SINDHI,
00207 SINHALESE,
00208 SISWATI,
00209 SLOVAK,
00210 SLOVENIAN,
00211 SOMALI,
00212 SPANISH,
00213 SPANISH_ARGENTINA,
00214 SPANISH_BOLIVIA,
00215 SPANISH_CHILE,
00216 SPANISH_COLOMBIA,
00217 SPANISH_COSTA_RICA,
00218 SPANISH_DOMINICAN_REPUBLIC,
00219 SPANISH_ECUADOR,
00220 SPANISH_EL_SALVADOR,
00221 SPANISH_GUATEMALA,
00222 SPANISH_HONDURAS,
00223 SPANISH_MEXICAN,
00224 SPANISH_MODERN,
00225 SPANISH_NICARAGUA,
00226 SPANISH_PANAMA,
00227 SPANISH_PARAGUAY,
00228 SPANISH_PERU,
00229 SPANISH_PUERTO_RICO,
00230 SPANISH_URUGUAY,
00231 SPANISH_US,
00232 SPANISH_VENEZUELA,
00233 SUNDANESE,
00234 SWAHILI,
00235 SWEDISH,
00236 SWEDISH_FINLAND,
00237 TAGALOG,
00238 TAJIK,
00239 TAMIL,
00240 TATAR,
00241 TELUGU,
00242 THAI,
00243 TIBETAN,
00244 TIGRINYA,
00245 TONGA,
00246 TSONGA,
00247 TURKISH,
00248 TURKMEN,
00249 TWI,
00250 UIGHUR,
00251 UKRAINIAN,
00252 URDU,
00253 URDU_INDIA,
00254 URDU_PAKISTAN,
00255 UZBEK,
00256 UZBEK_CYRILLIC,
00257 UZBEK_LATIN,
00258 VIETNAMESE,
00259 VOLAPUK,
00260 WELSH,
00261 WOLOF,
00262 XHOSA,
00263 YIDDISH,
00264 YORUBA,
00265 ZHUANG,
00266 ZULU,
00267 UNKNOWN
00268 };
00269
00271
00273
00277 static void SetCurrentLanguage(int lang);
00278 static int GetCurrentLanguage();
00280
00282 static const char* GetLanguageName(int lang);
00283
00287 static const char* GetXPGFromLanguage(int lang);
00288
00292 static int GetLanguageFromXPG(const char *xpg);
00293
00299 static int GetWin32LANGIDFromLanguage(int lang);
00300
00306 static int GetLanguageFromWin32LANGID(int win32langid);
00307
00308
00309
00310 protected:
00311 vtkKWLanguage() {};
00312 ~vtkKWLanguage() {};
00313
00319 static int GetLanguageFromXPGStrict(const char *xpg);
00320
00321
00322
00323 private:
00324 vtkKWLanguage(const vtkKWLanguage&);
00325 void operator=(const vtkKWLanguage&);
00326 };
00327
00328 #endif
00329
00330