Rapid Web Development mit Ruby on Rails

Ralf Wirdemann, Thomas Baustert

Rapid Web Development mit Ruby on Rails

2008

437 Seiten

Format: PDF

E-Book: €  27,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446416635

 

Kapitel 8 Internationalisierung (S. 227)

Wir gehen davon aus, dass viele unserer Leser vor allem deutschsprachige bzw. internationalisierte Anwendungen entwickeln wollen und daher wissen möchten, welche Möglichkeiten Rails diesbezüglich bietet. Deshalb widmen wir diesem Thema ein eigenes Kapitel.

Rails beinhaltet derzeit noch keine eigene Unterstützung für die Internationalisierung von Web-Anwendungen. Dies liegt zum einen daran, dass Ruby selbst von Haus aus keinen Support bietet, und zum anderen an der Tatsache, dass sich bisher keine Lösung als Quasi-Standard durchsetzen konnte. Es ist gut möglich, dass es nie " die" Standardlösung für Rails geben wird, da viele Lösungen denkbar sind, die nicht für jedes Problem passen.

Das Thema Internationalisierung ist sehr umfangreich, und sämtliche Lösungen und Aspekte zu beschreiben würde ein eigenes Buch erfordern. Es gibt mittlerweile eine Reihe von Bibliotheken für die Internationalisierung von Rails-Anwendungen. Die Seite http://wiki.rubyonrails.com/rails/pages/InternationalizationComparison/ liefert einen Überblick.

Wir geben Ihnen in diesem Kapitel eine Einführung in die Bibliothek Ruby-GetText, die wir auch selbst schon verwendet haben. Als Alternative steht Ihnen u.a. das Plugin Globalize-rails1 zur Verfügung, das recht häufig eingesetzt wird. Zum Zeitpunkt der Niederschrift dieses Buches gab es aber keine stabile Version für Rails 2.0, sodass wir die Einführung weggelassen haben. Vielleicht beschreiben wir das Plugin zu einem späteren Zeitpunkt in Form eines PDFs, das Sie dann auf der Webseite zum Buch finden.

Wir konzentrieren uns vor allem auf die Internationalisierung von Texten sowie Datumsformaten und Zahlen am konkreten Beispiel von OnTrack. Die Checkliste in Abschnitt 8.3 führt weitere Punkte auf, die Sie ggf. berücksichtigen müssen.

8.1 Internationalisierung oder Lokalisierung?
Vor dem Einstieg in die Details der Mehrsprachigkeit wollen wir zunächst die Begriffe Internationalisierung und Lokalisierung genauer bestimmen. Internationalisierung bedeutet die Auslegung eines Programms auf dessen mehrsprachige Nutzung. Konkret sollte ein internationalisiertes Programm keinerlei hart kodierte Informationen bezüglich seiner Nutzung in einem bestimmten Land enthalten. Hingegen bedeutet Lokalisierung die Kon.guration eines internationalisierten Programms für die Verwendung einer bestimmten regionalen bzw. kulturellen Umgebung, z.B. Deutschland.

8.2 Lokalisierung und Codes

Um die richtige Lokalisierung der Anwendung für einen bestimmten Benutzer bereitzustellen, müssen Sie wissen, welche Sprache der Benutzer ausgewählt hat.

8.2.1 Language Tag
Die vom Anwender ausgewählte Sprache wird über das so genannte Language Tag 2 nach RFC 3066 festgelegt. Dieser besteht aus dem zweibuchstabigen Sprachcode, z.B. en für Englisch, und einem optionalen zweibuchstabigen Ländercode, auch Regionalcode genannt, z.B. GB für Großbritannien. Der Sprachcode wird dabei nach ISO-639-1 definiert und der Ländercode nach ISO-3166.

Die Definition eines Ländercodes ermöglicht es, die landesspezifischen Gegebenheiten bei der Lokalisierung zu berücksichtigen. So sprechen Briten wie Amerikaner englisch, es gibt aber Unterschiede in der Sprache, Währung, bei den Datumsformaten usw. Um diese in der Anwendung zu berücksichtigen, werden die Einstellungen über den Language Tag en-GB für Großbritannien und en-US für die Vereinigten Staaten festgelegt.

8.2.2 Locale
Alle Einstellungen zur Sprache, zum Zeichensatz, zu den Zahlen-, Währungs-, Datums- und Zeitformaten usw. werden in der sogenannten Locale definiert.

 

© 2009-2024 ciando GmbH