Guido Flohr Imperia Unicode- und Multi-Language-HOWTOImperia Unicode- und Multi-Language-HOWTO

Konzeption, Implementierung und Pflege mehrsprachiger Web-Sites mit Imperia

Guido Flohr

Imperia AG
Development

guido@imperia.net

Dieses Dokument ist in folgenden Versionen erhältlich:

Alle Rechte vorbehalten.

25. September 2003

 

Inhaltsverzeichnis

Einleitung
I. Allgemeines
1. Die Zeit vor Unicode
1. Text im Speicher des Computers
2. ASCII
2.1. ASCII-Codeset
2.2. Von Bits und Bytes
2.3. Wieviel Bits werden für ASCII verwendet?
3. 8-Bit-Codesets
3.1. ISO 8859
3.1.1. ISO-8859-1 (Latin-1)
3.1.2. ISO-8859-2 (Latin-2)
3.1.3. ISO-8859-3
3.1.4. ISO-8859-4
3.1.5. ISO-8859-5
3.1.6. ISO-8859-6
3.1.7. ISO-8859-7
3.1.8. ISO-8859-8
3.1.9. ISO-8859-9 (Latin-5)
3.1.10. ISO-8859-10 (Latin-6)
3.1.11. ISO-8859-11
3.1.12. ISO-8859-13 (Latin-7)
3.1.13. ISO-8859-14 (Latin-8)
3.1.14. ISO-8859-15 (Latin-9)
3.1.15. ISO-8859-16 (Latin-10)
3.2. KOI
3.3. Microsoft
3.3.1. CP1252 (Windows-1252)
3.3.2. ISO-8859-15 Revisited
3.3.3. Andere Sprachen, andere Windows-Codepages
3.4. Weitere Hersteller
3.5. Weitere Sprachen
3.5.1. Georgisch
3.5.2. Vietnamesisch
4. Multibyte-Codesets
4.1. CJK-Sprachen
4.1.1. Chinesisch
4.1.2. Japanisch
4.1.3. Koreanisch
4.2. Escaping
4.3. Multi-Byte-Encodings
4.4. Bekannte Multi-Byte-Encodings
5. Zusammenfassung
2. Die schöne Welt von Unicode
1. Was ist Unicode?
2. Der Wertebereich von Unicode
3. Unicode-Properties
4. Technische Repräsentation von Unicode
4.1. Wide Characters
4.1.1. Probleme mit Wide Characters
4.1.1.1. Auf- und Abwärtskompatibilität
4.1.1.2. Speicherverbrauch
4.1.1.3. Synchronisation
4.1.1.4. File-System-Safety
4.1.1.5. Was haben Eier mit Bytes zu tun?
4.1.2. UTF-16
4.1.3. UCS-2
4.1.4. UCS-4
4.2. Multi-Byte-Encodings
4.2.1. UTF-7
4.2.2. UTF-8
4.2.2.1. ASCII-Transparenz
4.2.2.2. Selbstsynchronisierung
4.2.2.3. Speicherverbrauch
4.2.2.4. Nachteile von UTF-8
5. Zusammenfassung
II. Unicode und Multi-Language im Web
3. Web-Standards
1. Hypertext Transfer Protocol HTTP
1.1. Funktionsweise von HTTP
1.2. Der Header Content-Type
1.2.1. Die Konfigurationsanweisung AddDefaultCharset
1.2.2. Die Konfigurationsanweisung AddCharset
1.3. Der Header Content-Language
1.3.1. Die Konfigurationsanweisung DefaultLanguage
1.3.2. Die Konfigurationsanweisung AddLanguage
1.4. Voreingestellte Werte
1.5. Der Header Accept-Charset
1.6. Der Header Accept-Language
1.7. Formulare
2. Extensible Markup Language XML
2.1. Perfomance-Erwägungen
2.2. XML in UTF-8
2.3. Sprachbestimmung
3. Hypertext Markup Language HTML
3.1. Das HTML-Attribut lang
3.2. Das Attribut http-equiv des meta-Elements.
3.3. XHTML
4. Content-Negotiation
4.1. Implementierung mit dem Apache
4.2. Praktische Erwägungen
4.2.1. Sprachpersistenz
4.2.2. Sprachumschaltung
4.2.3. Vertikale oder horizontale Aufteilung
5. Zusammenfassung
III. Unicode und Multi-Language mit Imperia
4. Allgemeines
1. Copy-Pages
2. Unicode-Unterstützung in Imperia
2.1. System- und User-Charset
2.1.1. Wirkung der Sprach- und Charseteinstellungen
2.1.2. Stolpersteine
2.1.3. Templates
2.1.4. Meta-Dateien
2.1.5. Konfiguration des Web-Servers
2.2. Best Practice - eine Empfehlung
2.3. Weitere Unicode-Features
5. Ein Beispielszenario
1. Die Anforderungen
2. Vorbereitung
2.1. System-Einstellungen
2.2. Template und Meta-Datei
2.3. Eine Test-Rubrik
3. Basis-Implementierung
3.1. Mehrsprachige Eingabe
3.1.1. Verallgemeinerung der Spracheingaben
3.1.2. Parametrisierte Code-Includes
4. Dynamische Sprachwahl
4.1. Anpassung der Meta-Datei
4.2. Ein einfaches Workflow-Plug-In
4.2.1. Gerüst für das Plug-In
4.2.2. Workflow-Definition
4.2.3. Implementierung der Plug-In-Logik
4.3. Dynamische Einbindung der Code-Includes
5. Reduzierung der Templates
6. Charset-Konvertierung
7. Verfeinerungen
7.1. Problemfall Flexmodule
7.2. Der Flex-Flexxer
7.3. Mehr Komfort durch DHTML
7.3.1. Erzeugen der Layer
7.3.2. Die DHTML-Erweiterungen am Template
7.3.3. Das Layer-Menü
8. Zusammenfassung
Anhang.
A. Klingonisch (tIhIngan Hol)
Weiterführende Informationen

Tabellenverzeichnis

2.1. Anfangsbyte von UTF-8
2.2. Prinzip von UTF-8