Thomas Darimont
Erfahrenes Mitglied
Hallo,
möchte man in einer internationalisierbaren Anwendung dem Anwender die Möglichkeit geben die Sprache der Anwendung auszuwählen, so sollte man schon die Auswahl der Sprachen selbst in der für den Benutzer passenden Sprache anbieten.
Hier ein kleines Beispiel dazu.
Ausgabe:
Bei mir wird unter Windows 7 Standardmäßig die Codepage (CP850 bzw. CP1252) verwendet wobei u.a. Zeichen aus dem Arabischen und Asiatischen Raum nicht korrekt dargestellt werden.
Wenn man die passenden Codepages installiert hat kann man jedoch in der Konsole mit dem Kommando chcp Codepage-Nummer (chcp 932) auf eine Codepage wechseln, welche die Zeichen darstellen kann.
Die Default-LocaleLkann man übrigens auch bequem über ein JVM Properties beim Aufruf setzen
( -Duser.language=it -Duser.region=IT für Italien):
Gruß Tom
möchte man in einer internationalisierbaren Anwendung dem Anwender die Möglichkeit geben die Sprache der Anwendung auszuwählen, so sollte man schon die Auswahl der Sprachen selbst in der für den Benutzer passenden Sprache anbieten.
Hier ein kleines Beispiel dazu.
Java:
package de.tutorials;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Locale;
public class LanguageTranslation {
public static void main(String[] args) {
Locale defaultLocale = Locale.getDefault();
System.out.println("Current Locale is " + defaultLocale);
for (Locale locale : getLocalesSortedByLocaleCode()) {
System.out.printf("Current Locale rendered in : %s (%s)", locale, locale.getDisplayName(defaultLocale))
.println();
System.out.printf("%s %s %s %s",
defaultLocale.getDisplayName(locale),
defaultLocale.getDisplayLanguage(locale),
defaultLocale.getDisplayCountry(locale),
defaultLocale.getDisplayVariant(locale)).println();
}
}
static Locale[] getLocalesSortedByLocaleCode() {
Locale[] locales = Locale.getAvailableLocales().clone();
Arrays.sort(locales, new Comparator<Locale>() {
@Override
public int compare(Locale first, Locale second) {
return first.toString().compareTo(second.toString());
}
});
return locales;
}
}
Ausgabe:
Code:
Current Locale: de_DE
Current Locale rendered in : ar (Arabisch)
German (Germany) German Germany
Current Locale rendered in : ar_AE (Arabisch (Vereinigte Arabische Emirate))
German (Germany) German Germany
Current Locale rendered in : ar_BH (Arabisch (Bahrain))
German (Germany) German Germany
Current Locale rendered in : ar_DZ (Arabisch (Algerien))
German (Germany) German Germany
Current Locale rendered in : ar_EG (Arabisch (Ägypten))
German (Germany) German Germany
Current Locale rendered in : ar_IQ (Arabisch (Irak))
German (Germany) German Germany
Current Locale rendered in : ar_JO (Arabisch (Jordanien))
German (Germany) German Germany
Current Locale rendered in : ar_KW (Arabisch (Kuwait))
German (Germany) German Germany
Current Locale rendered in : ar_LB (Arabisch (Libanon))
German (Germany) German Germany
Current Locale rendered in : ar_LY (Arabisch (Libyen))
German (Germany) German Germany
Current Locale rendered in : ar_MA (Arabisch (Marokko))
German (Germany) German Germany
Current Locale rendered in : ar_OM (Arabisch (Oman))
German (Germany) German Germany
Current Locale rendered in : ar_QA (Arabisch (Katar))
German (Germany) German Germany
Current Locale rendered in : ar_SA (Arabisch (Saudi-Arabien))
German (Germany) German Germany
Current Locale rendered in : ar_SD (Arabisch (Sudan))
German (Germany) German Germany
Current Locale rendered in : ar_SY (Arabisch (Syrien))
German (Germany) German Germany
Current Locale rendered in : ar_TN (Arabisch (Tunesien))
German (Germany) German Germany
Current Locale rendered in : ar_YE (Arabisch (Jemen))
German (Germany) German Germany
Current Locale rendered in : be (Belorussisch)
German (Germany) German Germany
Current Locale rendered in : be_BY (Belorussisch (Belarus))
German (Germany) German Germany
Current Locale rendered in : bg (Bulgarisch)
German (Germany) German Germany
Current Locale rendered in : bg_BG (Bulgarisch (Bulgarien))
German (Germany) German Germany
Current Locale rendered in : ca (Katalanisch)
alemany (Alemanya) alemany Alemanya
Current Locale rendered in : ca_ES (Katalanisch (Spanien))
alemany (Alemanya) alemany Alemanya
Current Locale rendered in : cs (Tschechisch)
German (Germany) German Germany
Current Locale rendered in : cs_CZ (Tschechisch (Tschechische Republik))
German (Germany) German Germany
Current Locale rendered in : da (Dänisch)
German (Germany) German Germany
Current Locale rendered in : da_DK (Dänisch (Dänemark))
German (Germany) German Germany
Current Locale rendered in : de (Deutsch)
Deutsch (Deutschland) Deutsch Deutschland
Current Locale rendered in : de_AT (Deutsch (Österreich))
Deutsch (Deutschland) Deutsch Deutschland
Current Locale rendered in : de_CH (Deutsch (Schweiz))
Deutsch (Deutschland) Deutsch Deutschland
Current Locale rendered in : de_DE (Deutsch (Deutschland))
Deutsch (Deutschland) Deutsch Deutschland
Current Locale rendered in : de_LU (Deutsch (Luxemburg))
Deutsch (Deutschland) Deutsch Deutschland
Current Locale rendered in : el (Griechisch)
****************? (****************) ****************? ****************
Current Locale rendered in : el_CY (Griechisch (Zypern))
****************? (****************) ****************? ****************
Current Locale rendered in : el_GR (Griechisch (Griechenland))
****************? (****************) ****************? ****************
Current Locale rendered in : en (Englisch)
German (Germany) German Germany
Current Locale rendered in : en_AU (Englisch (Australien))
German (Germany) German Germany
Current Locale rendered in : en_CA (Englisch (Kanada))
German (Germany) German Germany
Current Locale rendered in : en_GB (Englisch (Vereinigtes Königreich))
German (Germany) German Germany
Current Locale rendered in : en_IE (Englisch (Irland))
German (Germany) German Germany
Current Locale rendered in : en_IN (Englisch (Indien))
German (Germany) German Germany
Current Locale rendered in : en_MT (Englisch (Malta))
German (Germany) German Germany
Current Locale rendered in : en_NZ (Englisch (Neuseeland))
German (Germany) German Germany
Current Locale rendered in : en_PH (Englisch (Philippinen))
German (Germany) German Germany
Current Locale rendered in : en_SG (Englisch (Singapur))
German (Germany) German Germany
Current Locale rendered in : en_US (Englisch (Vereinigte Staaten von Amerika))
German (Germany) German Germany
Current Locale rendered in : en_ZA (Englisch (Südafrika))
German (Germany) German Germany
Current Locale rendered in : es (Spanisch)
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_AR (Spanisch (Argentinien))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_BO (Spanisch (Bolivien))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_CL (Spanisch (Chile))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_CO (Spanisch (Kolumbien))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_CR (Spanisch (Costa Rica))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_DO (Spanisch (Dominikanische Republik))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_EC (Spanisch (Ecuador))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_ES (Spanisch (Spanien))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_GT (Spanisch (Guatemala))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_HN (Spanisch (Honduras))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_MX (Spanisch (Mexiko))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_NI (Spanisch (Nicaragua))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_PA (Spanisch (Panama))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_PE (Spanisch (Peru))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_PR (Spanisch (Puerto Rico))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_PY (Spanisch (Paraguay))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_SV (Spanisch (El Salvador))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_US (Spanisch (Vereinigte Staaten von Amerika))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_UY (Spanisch (Uruguay))
alemán (Alemania) alemán Alemania
Current Locale rendered in : es_VE (Spanisch (Venezuela))
alemán (Alemania) alemán Alemania
Current Locale rendered in : et (Estnisch)
German (Germany) German Germany
Current Locale rendered in : et_EE (Estnisch (Estland))
German (Germany) German Germany
Current Locale rendered in : fi (Finnisch)
saksa (Saksa) saksa Saksa
Current Locale rendered in : fi_FI (Finnisch (Finnland))
saksa (Saksa) saksa Saksa
Current Locale rendered in : fr (Französisch)
allemand (Allemagne) allemand Allemagne
Current Locale rendered in : fr_BE (Französisch (Belgien))
allemand (Allemagne) allemand Allemagne
Current Locale rendered in : fr_CA (Französisch (Kanada))
allemand (Allemagne) allemand Allemagne
Current Locale rendered in : fr_CH (Französisch (Schweiz))
allemand (Allemagne) allemand Allemagne
Current Locale rendered in : fr_FR (Französisch (Frankreich))
allemand (Allemagne) allemand Allemagne
Current Locale rendered in : fr_LU (Französisch (Luxemburg))
allemand (Allemagne) allemand Allemagne
Current Locale rendered in : ga (Irisch)
Gearmáinis (An Ghearmáin) Gearmáinis An Ghearmáin
Current Locale rendered in : ga_IE (Irisch (Irland))
Gearmáinis (An Ghearmáin) Gearmáinis An Ghearmáin
Current Locale rendered in : hi_IN (Hindi (Indien))
German (Germany) German Germany
Current Locale rendered in : hr (Kroatisch)
German (Germany) German Germany
Current Locale rendered in : hr_HR (Kroatisch (Kroatien))
German (Germany) German Germany
Current Locale rendered in : hu (Ungarisch)
German (Germany) German Germany
Current Locale rendered in : hu_HU (Ungarisch (Ungarn))
German (Germany) German Germany
Current Locale rendered in : in (Indonesisch)
Jerman (Jerman) Jerman Jerman
Current Locale rendered in : in_ID (Indonesisch (Indonesien))
Jerman (Jerman) Jerman Jerman
Current Locale rendered in : is (Isländisch)
German (Germany) German Germany
Current Locale rendered in : is_IS (Isländisch (Island))
German (Germany) German Germany
Current Locale rendered in : it (Italienisch)
tedesco (Germania) tedesco Germania
Current Locale rendered in : it_CH (Italienisch (Schweiz))
tedesco (Germania) tedesco Germania
Current Locale rendered in : it_IT (Italienisch (Italien))
tedesco (Germania) tedesco Germania
Current Locale rendered in : iw (Hebräisch)
German (Germany) German Germany
Current Locale rendered in : iw_IL (Hebräisch (Israel))
German (Germany) German Germany
Current Locale rendered in : ja (Japanisch)
******** (****?) ******** ****?
Current Locale rendered in : ja_JP (Japanisch (Japan))
******** (****?) ******** ****?
Current Locale rendered in : ja_JP_JP (Japanisch (Japan,JP))
******** (****?) ******** ****?
Current Locale rendered in : ko (Koreanisch)
****? (****) ****? ****
Current Locale rendered in : ko_KR (Koreanisch (Südkorea))
****? (****) ****? ****
Current Locale rendered in : lt (Litauisch)
German (Germany) German Germany
Current Locale rendered in : lt_LT (Litauisch (Litauen))
German (Germany) German Germany
Current Locale rendered in : lv (Lettisch)
German (Germany) German Germany
Current Locale rendered in : lv_LV (Lettisch (Lettland))
German (Germany) German Germany
Current Locale rendered in : mk (Mazedonisch)
German (Germany) German Germany
Current Locale rendered in : mk_MK (Mazedonisch (Mazedonien))
German (Germany) German Germany
Current Locale rendered in : ms (Malay)
German (Jerman) German Jerman
Current Locale rendered in : ms_MY (Malay (Malaysia))
German (Jerman) German Jerman
Current Locale rendered in : mt (Maltesisch)
?ermani? (?ermanja) ?ermani? ?ermanja
Current Locale rendered in : mt_MT (Maltesisch (Malta))
?ermani? (?ermanja) ?ermani? ?ermanja
Current Locale rendered in : nl (Niederländisch)
German (Germany) German Germany
Current Locale rendered in : nl_BE (Niederländisch (Belgien))
German (Germany) German Germany
Current Locale rendered in : nl_NL (Niederländisch (Niederlande))
German (Germany) German Germany
Current Locale rendered in : no (Norwegisch)
German (Germany) German Germany
Current Locale rendered in : no_NO (Norwegisch (Norwegen))
German (Germany) German Germany
Current Locale rendered in : no_NO_NY (Norwegisch (Norwegen,Nynorsk))
German (Germany) German Germany
Current Locale rendered in : pl (Polnisch)
niemiecki (Niemcy) niemiecki Niemcy
Current Locale rendered in : pl_PL (Polnisch (Polen))
niemiecki (Niemcy) niemiecki Niemcy
Current Locale rendered in : pt (Portugiesisch)
alemão (Alemanha) alemão Alemanha
Current Locale rendered in : pt_BR (Portugiesisch (Brasilien))
alemão (Alemanha) alemão Alemanha
Current Locale rendered in : pt_PT (Portugiesisch (Portugal))
alemão (Alemanha) alemão Alemanha
Current Locale rendered in : ro (Rumänisch)
German (Germany) German Germany
Current Locale rendered in : ro_RO (Rumänisch (Rumänien))
German (Germany) German Germany
Current Locale rendered in : ru (Russisch)
**************** (****************) **************** ****************
Current Locale rendered in : ru_RU (Russisch (Russland))
**************** (****************) **************** ****************
Current Locale rendered in : sk (Slowakisch)
German (Germany) German Germany
Current Locale rendered in : sk_SK (Slowakisch (Slowakei))
German (Germany) German Germany
Current Locale rendered in : sl (Slowenisch)
German (Germany) German Germany
Current Locale rendered in : sl_SI (Slowenisch (Slowenien))
German (Germany) German Germany
Current Locale rendered in : sq (Albanisch)
German (Germany) German Germany
Current Locale rendered in : sq_AL (Albanisch (Albanien))
German (Germany) German Germany
Current Locale rendered in : sr (Serbisch)
************? (************?) ************? ************?
Current Locale rendered in : sr_BA (Serbisch (Bosnien und Herzegowina))
************? (************?) ************? ************?
Current Locale rendered in : sr_CS (Serbisch (Serbien und Montenegro))
************? (************?) ************? ************?
Current Locale rendered in : sr_ME (Serbisch (Montenegro))
************? (************?) ************? ************?
Current Locale rendered in : sr_RS (Serbisch (Serbien))
************? (************?) ************? ************?
Current Locale rendered in : sv (Schwedisch)
tyska (Tyskland) tyska Tyskland
Current Locale rendered in : sv_SE (Schwedisch (Schweden))
tyska (Tyskland) tyska Tyskland
Current Locale rendered in : th (Thai)
************? (************?) ************? ************?
Current Locale rendered in : th_TH (Thai (Thailand))
************? (************?) ************? ************?
Current Locale rendered in : th_TH_TH (Thai (Thailand,TH))
************? (************?) ************? ************?
Current Locale rendered in : tr (Türkisch)
German (Germany) German Germany
Current Locale rendered in : tr_TR (Türkisch (Türkei))
German (Germany) German Germany
Current Locale rendered in : uk (Ukrainisch)
German (Germany) German Germany
Current Locale rendered in : uk_UA (Ukrainisch (Ukraine))
German (Germany) German Germany
Current Locale rendered in : vi (Vietnamesisch)
Ti?ng ****c (****c) Ti?ng ****c ****c
Current Locale rendered in : vi_VN (Vietnamesisch (Vietnam))
Ti?ng ****c (****c) Ti?ng ****c ****c
Current Locale rendered in : zh (Chinesisch)
**** (****) **** ****
Current Locale rendered in : zh_CN (Chinesisch (China))
**** (****) **** ****
Current Locale rendered in : zh_HK (Chinesisch (Hongkong))
**** (****) **** ****
Current Locale rendered in : zh_SG (Chinesisch (Singapur))
**** (****) **** ****
Current Locale rendered in : zh_TW (Chinesisch (Taiwan))
**** (****) **** ****
Bei mir wird unter Windows 7 Standardmäßig die Codepage (CP850 bzw. CP1252) verwendet wobei u.a. Zeichen aus dem Arabischen und Asiatischen Raum nicht korrekt dargestellt werden.
Wenn man die passenden Codepages installiert hat kann man jedoch in der Konsole mit dem Kommando chcp Codepage-Nummer (chcp 932) auf eine Codepage wechseln, welche die Zeichen darstellen kann.
Die Default-LocaleLkann man übrigens auch bequem über ein JVM Properties beim Aufruf setzen
( -Duser.language=it -Duser.region=IT für Italien):
Code:
C:\development\java\workspaces\sts233M1\de.tutorials.java.training>java -Duser.language=it -Duser.region=IT -cp ./target/classes de.tutorials.LanguageTranslation
Current Locale is it_IT
Current Locale rendered in : ar (arabo)
Italian (Italy) Italian Italy
Current Locale rendered in : ar_AE (arabo (Emirati Arabi Uniti))
Italian (Italy) Italian Italy
Current Locale rendered in : ar_BH (arabo (Bahrain))
Italian (Italy) Italian Italy
Current Locale rendered in : ar_DZ (arabo (Algeria))
...
Gruß Tom