Python Internationalization-SIG
Internationalization-SIG ("i18n")
Dieses SIG bietet ein Forum für Diskussionen über Themen, die die Internationalisierung von Python betreffen.
Zum Zeitpunkt des Verfassens (März 2000) werden Funktionen zur Internationalisierung (im Folgenden als "i18n" geschrieben, um Tipparbeit zu sparen) zu Python hinzugefügt. Dieses SIG ist das primäre Forum für die Diskussion dieser Funktionen. Zu den behandelten Themen gehören unter anderem
- Unicode-Unterstützung und Aufbau einer Bibliothek von Codecs
- Unterstützung für Locale-Informationen, Datums-, Zahlen- und Zeitformatierung
- Frameworks zur Übersetzung und Lokalisierung von GUI- und Webanwendungen
Ergebnisse
Die unmittelbaren Ergebnisse beziehen sich auf Unicode- und Encoding-Unterstützung; die anderen oben genannten Themen sind zu allgemein und anwendungsbezogen.
- Testen Sie die neuen Unicode-Funktionen und die bereitgestellten Single-Byte-Codecs, sobald der Unicode-Patch in das öffentliche CVS wechselt (Q2 2000)
- Unterstützung bei der Dokumentation der neuen Funktionen (Q2/Q3 2000)
- Erstellen Sie einige Prototypen-Implementierungen von Double-Byte-Codecs. Bestimmen Sie auf dieser Grundlage, welche Änderungen und Ergänzungen, falls vorhanden, an der Unicode-API auf C-Ebene erforderlich sind, um professionelle i18n-Arbeit zu unterstützen, und helfen Sie, diese rechtzeitig für 1.6 in den Kern aufzunehmen. (Q2 2000)
- Danach beginnen Sie mit der Implementierung eines vollständigen Satzes von Codecs, der die meisten Sprachen der Welt unterstützt. (Q3-4 2000 und fortlaufend)
Hintergrund
Mitte 1999 stellten Mitglieder des Python-Konsortiums einige dringende Anträge auf Hinzufügung von i18n-Funktionen zu Python. Nach Diskussionen auf der python-dev-Liste beauftragte CNRI Marc-Andre Lemburg, Unicode-Strings und die damit verbundenen Änderungen in den Python-Kern aufzunehmen (basierend auf einer laufenden Unicode-String-Implementierung von Fredrik Lundh) und Fredrik Lundh, eine Unicode-basierte Regex-Engine zu entwickeln. Diese Aufgaben nähern sich der Fertigstellung und werden bald in das öffentliche CVS gestellt.
Die Spezifikation, auf der diese basieren, finden Sie unter http://starship.python.net/crew/lemburg/unicode-proposal.txt. (Jetzt auch in der Python 2.0-Distribution als Misc/unicode.txt.)
Der Vorschlag definiert eine 'Codec'-Schnittstelle, aber die Implementierung von Codecs für Mehrsprachen-Codecs liegt außerhalb des Rahmens von Marc-Andre und wird Mitgliedern des SIG überlassen.
Auf der Achten Internationalen Python-Konferenz fand ein i18n-Forum statt, auf dem die oben genannten Ergebnisse vereinbart wurden und das SIG daraus resultierte.
Wichtige Personen und Organisationen
Wenn Sie auf spezifische Weise helfen können und das Gefühl haben, hier aufgeführt werden zu sollten, kontaktieren Sie bitte Andy Robinson mit einer kurzen Biografie. Diese Liste ist ein erster Entwurf und lässt viele wichtige Personen des SIG aus, aber Sie müssen mir von sich erzählen, um aufgenommen zu werden!
- Marc-André Lemburg
- Implementierung der Kern-Unicode-Funktionen
- Fredrik Lundh, Secret Labs AB
- Implementierung der Unicode-Regex-Engine
- Andy Robinson, ReportLab Inc.
- SIG-Moderator; Japanischsprecher, hat im letzten Jahr bei einer Investmentgesellschaft an japanischen Konvertierungen in Python gearbeitet. ReportLab (http://www.reportlab.com/) entwickelt mehrsprachige PDF-Reporting-Tools und muss später in diesem Jahr eine vollständige Unterstützung für asiatische Schriftsysteme implementieren.
- Brian Takashi Hooper, Digital Garage
- Digital Garage ist ein Beratungs- und Internetdienstleistungsunternehmen mit Sitz in Tokio mit über 70 Mitarbeitern. Sie haben in der Vergangenheit eigene Codecs für Japanisch implementiert und haben einen dringenden Bedarf an japanischer Unterstützung in Python.
- Hewlett Packard
- HP ist Mitglied des Python-Konsortiums und hat sich zunächst für die Unicode-Arbeit für Python eingesetzt, um ihr globales eSpeak-Programm zu unterstützen.
- Christian Wittern
- Christian ist ein Sinologe mit Sitz in Taiwan und kann bei chinesischsprachigen Problemen helfen.
Ressourcen und Links
Vielen Dank an Peter Funk für die Erstellung dieser Liste
- Martin von Loewis' Arbeit "Internationalizing Python", die auf der 6. Internationalen Python-Konferenz 1997 gehalten wurde, ist ein großartiger Einstieg in die damit verbundenen Themen.
- Der Python Unicode Proposal selbst.
- Python Unicode Tutorial von Andy Robinson.
- Die Homepage des Unicode Consortiums.
- Die Homepage des Linux i18n-Projekts.
- Lessons learned from internationalizing JavaScript von einem IBM-Forscher.
- UTF-8 und Unicode FAQ für Unix/Linux von Markus Kuhn.
- Jim Breens Japanisch-Seite. Die meisten Dinge, die mit der japanischen Sprache und Computertechnik zu tun haben, sind von hier aus mit ein oder zwei Klicks erreichbar.
- Basis Technologies stellt eine kommerzielle Unicode-Bibliothek namens Rosette her; ihre Website enthält gute Dokumentationen zu den damit verbundenen Problemen. (Es gibt ein kostenloses DOS-Programm namens uniconv, das dies zur Konvertierung von Dateien zwischen verschiedenen Encodings verwendet. Wenn wir ein uniconv.py schreiben und einen Massentest gegen seine Ausgabe durchführen könnten, hätten wir unsere Arbeit erledigt!)
- Unilib von Sybase ist ein weiteres kommerzielles Angebot, das weit verbreitet ist.
- gettext ist eine GNU-Bibliothek zur Handhabung von String-Lookups, die den Kern ihres Translation Projects bildet.
- fintl.py - Ein reines Python-Modul zum Lesen von .mo-Dateien, die von msgfmt erstellt wurden.
- intl.so - Eine Schnittstelle zur (GNU) gettext C-Bibliothek. Nur nützlich für internationale Anwendungen, wenn sie unter GPL fallen und unter Unix-Linux laufen.
- pygettext - Barry Warsaws Neuimplementierung von gettext in reinem Python. (Jetzt auch Teil von Python 2.0 in Tools/i18n/.)
- Japanische Codecs für Python - verfügbar gemacht von Tamito Kajiyama.
- Tom Emerson präsentierte auf der Unicode-Konferenz 2002 in Washington, DC, einen Vortrag über eine einheitliche Architektur für asiatische Codecs: Design and Implementation of a Suite of Chinese Transcoders for Python 2.
