Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Angewandte Objektorientierung
8 Exceptions
9 Die Funktionsbibliothek
10 Threads und nebenläufige Programmierung
11 Raum und Zeit
12 Datenstrukturen und Algorithmen
13 Dateien und Datenströme
14 Die eXtensible Markup Language (XML)
15 Grafische Oberflächen mit Swing
16 Grafikprogrammierung
17 Netzwerkprogrammierung
18 Verteilte Programmierung mit RMI und Web-Services
19 JavaServer Pages und Servlets
20 Applets
21 Midlets und die Java ME
22 Datenbankmanagement mit JDBC
23 Reflection und Annotationen
24 Logging und Monitoring
25 Sicherheitskonzepte
26 Java Native Interface (JNI)
27 Dienstprogramme für die Java-Umgebung
A Die Begleit-DVD
Stichwort

Download:
- ZIP, ca. 12,5 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel

Java ist auch eine Insel
7., aktualisierte Auflage
geb., mit DVD (November 2007)
1.492 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1146-8
Pfeil 11 Raum und Zeit
Pfeil 11.1 Weltzeit
Pfeil 11.2 Wichtige Datum-Klassen im Überblick
Pfeil 11.3 Sprachen der Länder
Pfeil 11.3.1 Sprachen und Regionen über Locale-Objekte
Pfeil 11.4 Internationalisierung und Lokalisierung
Pfeil 11.4.1 ResourceBundle-Objekte und Ressource-Dateien
Pfeil 11.4.2 Ressource-Dateien zur Lokalisierung
Pfeil 11.4.3 Die Klasse ResourceBundle
Pfeil 11.4.4 Ladestrategie für ResourceBundle-Objekte
Pfeil 11.5 Zeitzonen
Pfeil 11.5.1 Zeitzonen durch die Klasse TimeZone repräsentieren
Pfeil 11.6 Die Klasse Date
Pfeil 11.6.1 Objekte erzeugen und Methoden nutzen
Pfeil 11.7 Calendar und GregorianCalendar
Pfeil 11.7.1 Die abstrakte Klasse Calendar
Pfeil 11.7.2 Der gregorianische Kalender
Pfeil 11.7.3 Ostertage
Pfeil 11.7.4 Abfragen und Setzen von Datumselementen
Pfeil 11.8 Formatieren und Parsen von Datumsangaben
Pfeil 11.8.1 Ausgaben mit printf()
Pfeil 11.8.2 Mit DateFormat und SimpleDateFormat formatieren
Pfeil 11.8.3 Parsen von Datumswerten
Pfeil 11.9 Zum Weiterlesen


Galileo Computing - Zum Seitenanfang

11.3 Sprachen der Länder Zur nächsten ÜberschriftZur vorigen Überschrift

Programme der ersten Generation konnten nur mit fest verdrahteten Landessprachen und landesüblichen Bezeichnungen umgehen. Daraus ergaben sich natürlich vielfältige Probleme. Mehrsprachige Programme mussten aufwändig entwickelt werden, damit sie unter mehreren Sprachen lokalisierte Ausgaben lieferten. (Es ergaben sich bereits Probleme durch unterschiedliche Zeichenkodierungen. Dies umging aber der Unicode-Standard.) Es blieb das Problem, dass sprachabhängige Zeichenketten, wie alle anderen Zeichenketten auch, überall im Programmtext verteilt sind und eine nachträgliche Sprachanpassung nur aufwändig zu erreichen ist. Java bietet hier eine Lösung an: zum einen durch die Definition einer Sprache und damit durch automatische Formatierungen, und zum anderen durch die Möglichkeit, sprachenabhängige Teile in Ressourcen-Dateien auszulagern.


Galileo Computing - Zum Seitenanfang

11.3.1 Sprachen und Regionen über Locale-Objekte topZur vorigen Überschrift

In Java repräsentieren Locale-Objekte geografische, politische oder kulturelle Regionen. Die Sprache und die Region müssen getrennt werden, denn nicht immer gibt eine Region oder ein Land die Sprache eindeutig vor. Für Kanada in der Umgebung von Quebec ist die französische Ausgabe relevant, und die unterscheidet sich von der englischen. Jede dieser sprachspezifischen Eigenschaften ist in einem speziellen Objekt gekapselt.


Beispiel Beispiel Sprach-Objekte werden immer mit dem Namen der Sprache und optional mit dem Namen des Landes beziehungsweise einer Region erzeugt. Im Konstruktor der Klasse Locale werden dann Länderabkürzungen angegeben, etwa für ein Sprach-Objekt für England oder Frankreich.

Locale greatBritain = new Locale( "en", "GB" ); 
Locale french       = new Locale( "fr" );

Im zweiten Beispiel ist uns das Land egal. Wir haben einfach nur die Sprache Französisch ausgewählt, egal in welchem Teil der Welt.


Die Sprachen sind durch Zwei-Buchstaben-Kürzel aus dem ISO 639-Code [http://www.loc.gov/standards/iso639-2/php/code_list.php ] (ISO Language Code) identifiziert, und die Ländernamen sind Zwei-Buchstaben-Kürzel, die in ISO 3166 [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html ] (ISO Country Code) beschrieben sind.


final class java.util.Locale 
implements Cloneable, Serializable

  • Locale( String language ) Erzeugt ein neues Locale-Objekt für die Sprache (language), die nach dem ISO 693-Standard gegeben ist.
  • Locale( String language, String country ) Erzeugt ein Locale-Objekt für eine Sprache (language) nach ISO 693 und einem Land (country) nach dem ISO 3166-Standard.
  • public Locale( String language, String country, String variant ) Erzeugt ein Locale-Objekt für eine Sprache, einem Land und einer Variante. variant ist eine herstellerabhängige Angabe wie WIN oder MAC.

Die statische Methode Locale.getDefault() liefert die aktuell eingestellte Sprache. Für die laufende JVM kann Locale.setLocale(Locale) diese ändern.

Konstanten für einige Länder und Sprachen

Die Locale-Klasse besitzt Konstanten für häufig auftretende Länder und Sprachen. Für Großbritannien kann anstelle von new Locale("en","GB") auch Locale.UK Verwendung finden. Unter den Konstanten für Länder und Sprachen sind: CANADA, CANADA_FRENCH, CHINA ist gleich CHINESE (und auch PRC bzw. SIMPLIFIED_CHINESE), ENGLISH, FRANCE, FRENCH, GERMAN, GERMANY, ITALIAN, ITALY, JAPAN, JAPANESE, KOREA, KOREAN, TAIWAN (ist gleich TRADITIONAL_CHINESE), UK und US. Im Quellcode der Klasse Locale sind dazu einfach die entsprechenden Länderkürzel als Namen von Konstanten definiert.

Methoden von Locale

Locale-Objekte bieten eine Reihe von Methoden an, um etwa den ISO 639-Code des Landes preiszugeben.


Beispiel Beispiel Gib für Deutschland zugängliche Informationen aus. Das Objekt out aus System und GERMANY aus Locale sind statisch importiert.

Listing 11.1 com/tutego/insel/locale/GermanyLocal.java, main()

out.println( GERMANY.getCountry() );        // DE 
out.println( GERMANY.getLanguage() );       // de 
out.println( GERMANY.getVariant() );        // 
out.println( GERMANY.getDisplayName() );    // Deutsch (Deutschland) 
out.println( GERMANY.getDisplayCountry() ); // Deutschland 
out.println( GERMANY.getDisplayLanguage() );// Deutsch 
out.println( GERMANY.getDisplayName()  );   // Deutsch (Deutschland) 
out.println( GERMANY.getDisplayVariant() ); // 
out.println( GERMANY.getISO3Country() );    // DEU 
out.println( GERMANY.getISO3Language() );   // deu


final class java.util.Locale 
implements Cloneable, Serializable

  • String getCountry() Liefert das Länderkürzel nach dem ISO-3166-Zwei-Buchstaben-Code.
  • String getLanguage() Liefert das Kürzel der Sprache im ISO-639-Code.
  • String getVariant() Liefert das Kürzel der Variante.
  • final String getDisplayCountry() Liefert ein Kürzel des Landes für Bildschirmausgaben.
  • final String getDisplayLanguage() Liefert ein Kürzel der Sprache für Bildschirmausgaben.
  • final String getDisplayName() Liefert den Namen der Einstellungen.
  • final String getDisplayVariant() Liefert den Namen der Variante.
  • String getISO3Country() Liefert die ISO-Abkürzung des Landes dieser Einstellungen und löst eine MissingResourceException aus, wenn die ISO-Abkürzung nicht verfügbar ist.
  • String getISO3Language() Liefert die ISO-Abkürzung der Sprache dieser Einstellungen und löst eine MissingResourceException aus, wenn die ISO-Abkürzung nicht verfügbar ist.
  • static Locale[] getAvailableLocales() Liefert eine Aufzählung aller installierten Locale-Objekte. Das Feld enthält mindestens Locale.US, und unter Java 6 ca. 150 Einträge.

Beispiel Beispiel Die statischen Funktionen getISOCountries() und getISOLanguages() liefern ein String-Feld mit Ländern und Sprachen. Locale.getAvailableLocales() liefert alle eingetragenen Locale-Objekte. Eine Ausgabe, wie das obere Beispiel es für Deutschland zeigt, liefert etwa:

/tutego/, ar, , Arabisch, , Arabisch, Arabisch, , , ara 
AE, ar, , Arabisch (Vereinigte Arabische Emirate), Vereinigte Arabische Emirate,
		    Arabisch, Arabisch (Vereinigte Arabische Emirate), , ARE, ara 
BH, ar, , Arabisch (Bahrain), Bahrain, Arabisch, Arabisch (Bahrain), , BHR, ara 
DZ, ar, , Arabisch (Algerien), Algerien, Arabisch, Arabisch (Algerien), , DZA, ara 
EG, ar, , Arabisch (Ägypten), Ägypten, Arabisch, Arabisch (Ägypten), , EGY, ara 
IQ, ar, , Arabisch (Irak), Irak, Arabisch, Arabisch (Irak), , IRQ, ara 
... 
, sv, , Schwedisch, , Schwedisch, Schwedisch, , , swe 
SE, sv, , Schwedisch (Schweden), Schweden, Schwedisch, Schwedisch (Schweden), , SWE, swe 
, tr, , Türkisch, , Türkisch, Türkisch, , , tur 
TR, tr, , Türkisch (Türkei), Türkei, Türkisch, Türkisch (Türkei), , TUR, tur 
, uk, , Ukrainisch, , Ukrainisch, Ukrainisch, , , ukr 
UA, uk, , Ukrainisch (Ukraine), Ukraine, Ukrainisch, Ukrainisch (Ukraine), , UKR, ukr 
US, en, , Englisch (Vereinigte Staaten von Amerika), Vereinigte Staaten von Amerika,
		    Englisch, Englisch (Vereinigte Staaten von Amerika), , USA, eng 
, en, , Englisch, , Englisch, Englisch, , , eng

Das ist natürlich nur ein Ausschnitt der Ausgabe, doch bemerkenswert ist, dass einige Angaben nicht gefüllt sind.




Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück



Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de