Datumsformat anderer Locales

Meru

Bekanntes Mitglied
Hallo,

ich arbeite derzeit an einem mehrsprachigen Programm, wo der Benutzer sich mit einer bestimmten Locale anmelden kann. Jenachdem werden die Texte etc übersetzt. Zwischen deutsch und englisch passt alles super.

Nun habe ich eine dritte Locale, cz (Tschechische Republik), wo ich mir einen Timestamp in ein normal lesbares Format umwandle. Zwischen deutsch und englisch ist es also von 31.01.11 -> 1/31/11 .
Wenn ich nun CZ einstelle, dann habe ich auch das englische Format sowie auch die englischen Bezeichnen fuer das holen der Texte fuer die Monate.

Java:
Locale.setDefault(new Locale("CZ"));
		
GregorianCalendar calendar = new GregorianCalendar();
				
for (int i=0; i <= calendar.getActualMaximum(GregorianCalendar.MONTH); i++){
	calendar.set(GregorianCalendar.MONTH, i);
	String month = calendar.getDisplayName(GregorianCalendar.MONTH, GregorianCalendar.LONG, Locale.getDefault());
	System.out.println(month);
}


Um die Monatstexte geht es mir dabei nicht wirklich, sondern eher um das Datumsformat. Kann man fuer eine Locale irgendwie etwas hinterlegen?
Ich will ungern an jeder Stelle mit SimpleDateFormat arbeiten wollen, wobei ich da ja wieder das gleiche Problem haben werde, welches ich aber durch if/elseif/elseif/elseif lösen könnte. Nur finde ich das eher unschön, gerade weil es ja quasi diese Funktionanliät gibt und auch mit En/Fr/De/etc funktioniert, nur halt nicht mit allen Ländern.


Wäre toll wenn jemand vielleicht etwas weiß

MfG

Meru
 

hansmueller

Bekanntes Mitglied
Hallo,

ist ein ganz schön komisches Problem. Es liegt an dem Kürzel "CZ" -> mit "cs" funktioniert es.

Hier mal mein Testcode:
Java:
String strProgrammsprache = "cs";
Locale x = new Locale(strProgrammsprache);
System.out.println(x.getLanguage());
        
Locale.setDefault(x);

System.out.println(Locale.getDefault().getCountry());
        
Calendar calendar = GregorianCalendar.getInstance();
         
for (int i=0; i <= calendar.getActualMaximum(GregorianCalendar.MONTH); i++){
            calendar.set(GregorianCalendar.MONTH, i);
            
            String month = calendar.getDisplayName(GregorianCalendar.MONTH, GregorianCalendar.LONG, x);
            System.out.println(month);
           // System.out.println(calendar.getAvailableLocales());
            System.out.println(Locale.getDefault().getCountry());
            System.out.println(Locale.getDefault().getLanguage());
            System.out.println(x.getCountry());
            System.out.println(x.getLanguage());
        }

Da mußt du aber noch ein bißchen testen und ausprobieren - ich habe da nämlich verschiedene Dinge ausprobiert. Mußt halt nur das nehmen, was du brauchst.

Für Tschechien scheint es irgendwie zwei Kürzel zu geben "CZ" und "cs". Das eine ist das Land, das andere die Sprache. Der Kalender will anscheinend die Sprache.

MfG
hansmueller
 

Meru

Bekanntes Mitglied
Vielen Dank für deine Antwort, welche mir sehr weitergeholfen hat.

Ich bin natürlich nicht darauf gekommen, weil CS eigentlich für etwas anderes steht, zumindest in der jetzigen Zeit. Früher stand es mal tatsächlich für Tschechien. Wobei die tschechische Sprache wirklich noch mit cs betietelt wird.

Interessant bzw.verwirrend ist demzufolge folgendes:
Java:
Locale[] locales = Locale.getAvailableLocales();
		
		
Arrays.sort(locales, new Comparator<Object>() {
	public int compare(Object o1, Object o2) {
		String c1 = ((Locale)o1).getCountry();
		String c2 = ((Locale)o2).getCountry();
		return c1.compareTo(c2);
	}			
});
		
for (int i=0; i < locales.length; i++){
	if ( ! locales[i].getCountry().isEmpty()){
		System.out.println(locales[i].getCountry());
		System.out.println(locales[i].getLanguage());
		System.out.println(locales[i].getDisplayCountry());
			
		System.out.println("=========================");
	}
}
Ausgabe:
=========================
CS
sr
Serbien und Montenegro
=========================
CZ
cs
Tschechische Republik
=========================


Jedenfalls vielen Dank :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Robertop Datumsformat für GB ab Java 16 Allgemeine Java-Themen 1
T Datumsformat für MySQL Allgemeine Java-Themen 4
G Datumsformat Allgemeine Java-Themen 3
M Datumsformat eines String ändern Allgemeine Java-Themen 2
G Mysql --> Datumsformat Allgemeine Java-Themen 7
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Y ImagePanel von anderer Klasse in eine MainFrame Klasse hinzufügen. Allgemeine Java-Themen 1
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
cool_brivk24 Variablen abfragen von Boolean von anderer Klasse Allgemeine Java-Themen 12
E Swing Buttons auf knopfdruck(anderer Button) erstellen Allgemeine Java-Themen 6
magdaStone Logikproblem Umschalten von booleans in anderer Klasse Allgemeine Java-Themen 7
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
K Input/Output String aus einer Datei einlesen und in anderer Datei speichern Allgemeine Java-Themen 20
J Jar Datei mit anderer .jar einlesen Allgemeine Java-Themen 4
2 Joda Time - Localtime mit anderer Zeit vergleichen? Allgemeine Java-Themen 1
E KeyCode in anderer Klasse speichern Allgemeine Java-Themen 2
F Eigene .jar mit anderer .jar öffnen Allgemeine Java-Themen 7
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
B Benutzeroberfläche in anderer Klasse aufrufen Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
A Klassen String Array in anderer Klasse verwenden Allgemeine Java-Themen 11
D von einer Klasse auf Komponente in anderer Klasse zugreifen Allgemeine Java-Themen 5
R Klasse über Button Event in anderer Klasse informieren Allgemeine Java-Themen 11
E Variablen anderer Klassen auslesen (nur Name bekannt) Allgemeine Java-Themen 4
N iText Problem beim verlinken anderer PDFs Allgemeine Java-Themen 2
B Thread beenden (von anderer Klasse) Allgemeine Java-Themen 20
R Java Text anderer Schriftart einlesen Allgemeine Java-Themen 2
G auf variable in anderer class zugreifen Allgemeine Java-Themen 2
M Thread aus anderer VM starten bzw. stoppen Allgemeine Java-Themen 7
Q daten propertie datei aus anderer applikation Allgemeine Java-Themen 6
J Zugriff auf Map in anderer Klasse Allgemeine Java-Themen 2
S anderer Mime Type bei xml-Datei Allgemeine Java-Themen 2
G Objekt in anderer Klasse clonen Allgemeine Java-Themen 3
S GetColor? anderer befehl Allgemeine Java-Themen 13
J Ausgewähltes File in anderer Klasse verfügbar machen? Allgemeine Java-Themen 3
T Klasse aus anderer Datei ausführen Allgemeine Java-Themen 9
lin Auf Methode von anderer Klasse zugreifen Allgemeine Java-Themen 5
M Verfügbarkeit von Variablen anderer Klassen Allgemeine Java-Themen 2
T Anderer Zeichensatz für String Allgemeine Java-Themen 35
J setTitle aus anderer Klasse aufrufen/ändern Allgemeine Java-Themen 4
H textfeldausgabe aus anderer Klasse Allgemeine Java-Themen 4
I JAVA+ MySQL locales statement? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben