Moin,
Theorie: Ich lese eine Html Seite aus. Die Seite unterstützt mehrere Sprachen, somit finde ich folgende Inhalte, da jeder User der Seite sein Profil auf seine Sprache anpassen kann:
Englischer User:
firstName
lastName
sex
birth
...
Deutscher User:
vorname
nachname
geschlecht
geburtsdatum
...
Spanisch
Italienisch
usw.
Hier kommen eine ganze Latte an Informationen für den User dazu, der Aufbau ist bei allen gleich. Nun könnte ich das natürlich für jede Sprache runterschreiben, was natürlich jede Menge Zeilen produziert (natürlich jede Sprache in eine eigene Klasse, damit das übersichtlicher ist). Der Nachteil, wenn sich was ändert muss ich das in jeder Klasse ändern.
Schöner wäre es doch, man arbeitet mit einer properties Datei und schreibt das Ganze nur einmal.
Code Aktuell:
Ich finde das nicht gerade proessionell, deswegen würde ich das eine properties erledigen lassen. Die habe ich auch schon geschrieben. Nun die Frage wie binde ich die ein?
In der case Anweisung müsste eigentlich auf die properties Datei verwiesen werden. Also für case 1 - nimm propertiesENG, für case 2 - propertiesDEU ... usw.
Code Theorie:
[Java]
propertiesDEU Beispiel
name=vorname
lname=nachname
ges=geschlecht
geb=geburtsdatum
...
propertiesENG Beispiel
name=firstName
lname=lastname
ges=sex
geb=birth
...
switch (lcode) {
if (lang.equals("German(2)")) {
// Pseudo Code
nimm propertiesDEU;
System.out.println(" ------- LANGUAGE: " + lang);
}
else if (lang.equals("English(1)")) {
// Pseudo Code
nimm propertiesENG;
System.out.println(" ------- LANGUAGE: " + lang);
}
...
// All Languages, Pseudo Code
if (row.asText().trim().equalsIgnoreCase("aame_InDerProperties")) {
machwas...
}
else if (row.asText().trim().equalsIgnoreCase("nachname_InDerProperties")) {
machwas...
}
...
[/code]
Soweit ich weiß brauche ich ein Objekt der Klasse RessourceBundle (Link Galileo Open Book Java Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 13.4 Internationalisierung und Lokalisierung). SO ganz hinbekommen tue ich es leider nicht, wäre deswegen schön wenn mir da jemand helfen könnte.
Danke im Voraus
Theorie: Ich lese eine Html Seite aus. Die Seite unterstützt mehrere Sprachen, somit finde ich folgende Inhalte, da jeder User der Seite sein Profil auf seine Sprache anpassen kann:
Englischer User:
firstName
lastName
sex
birth
...
Deutscher User:
vorname
nachname
geschlecht
geburtsdatum
...
Spanisch
Italienisch
usw.
Hier kommen eine ganze Latte an Informationen für den User dazu, der Aufbau ist bei allen gleich. Nun könnte ich das natürlich für jede Sprache runterschreiben, was natürlich jede Menge Zeilen produziert (natürlich jede Sprache in eine eigene Klasse, damit das übersichtlicher ist). Der Nachteil, wenn sich was ändert muss ich das in jeder Klasse ändern.
Schöner wäre es doch, man arbeitet mit einer properties Datei und schreibt das Ganze nur einmal.
Code Aktuell:
Java:
// String lang enthealt die jeweilige Sprache
// int lcode ist fuer die Switch Anweisung
...
if (lang.equals("German(2)")) {
lcode = 1;
System.out.println(" ------- LANGUAGE: " + lang);
}
else if (lang.equals("English(1)")) {
lcode = 2;
System.out.println(" ------- LANGUAGE: " + lang);
}
...
switch (lcode) {
// GERMAN
case 1: {
if (row.asText().trim().equalsIgnoreCase("vorname")) {
machwas...
}
else if (row.asText().trim().equalsIgnoreCase("nachname")) {
machwas...
}
...
case 2: {
if (row.asText().trim().equalsIgnoreCase("firstName")) {
machwas...
}
else if (row.asText().trim().equalsIgnoreCase("lastName")) {
machwas...
}
...
Ich finde das nicht gerade proessionell, deswegen würde ich das eine properties erledigen lassen. Die habe ich auch schon geschrieben. Nun die Frage wie binde ich die ein?
In der case Anweisung müsste eigentlich auf die properties Datei verwiesen werden. Also für case 1 - nimm propertiesENG, für case 2 - propertiesDEU ... usw.
Code Theorie:
[Java]
propertiesDEU Beispiel
name=vorname
lname=nachname
ges=geschlecht
geb=geburtsdatum
...
propertiesENG Beispiel
name=firstName
lname=lastname
ges=sex
geb=birth
...
switch (lcode) {
if (lang.equals("German(2)")) {
// Pseudo Code
nimm propertiesDEU;
System.out.println(" ------- LANGUAGE: " + lang);
}
else if (lang.equals("English(1)")) {
// Pseudo Code
nimm propertiesENG;
System.out.println(" ------- LANGUAGE: " + lang);
}
...
// All Languages, Pseudo Code
if (row.asText().trim().equalsIgnoreCase("aame_InDerProperties")) {
machwas...
}
else if (row.asText().trim().equalsIgnoreCase("nachname_InDerProperties")) {
machwas...
}
...
[/code]
Soweit ich weiß brauche ich ein Objekt der Klasse RessourceBundle (Link Galileo Open Book Java Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 13.4 Internationalisierung und Lokalisierung). SO ganz hinbekommen tue ich es leider nicht, wäre deswegen schön wenn mir da jemand helfen könnte.
Danke im Voraus