Kapitelklicken springt direkt hin
Shownotes
<p>Mit den Eigenheiten verschiedener Kultur- und Sprachräume hat wohl jeder schon so seine Erfahrungen gesammelt.
In der aktuellen Episode soll es um die ortsbezogenen Einstellungen von Computersystemen gehen.
Und natürlich gibt uns das ein weiteres Mal die Möglichkeit, abschätzig über imperiale Einheiten zu sprechen.</p><h2>Shownotes</h2>Letztes Mal hatten wir Komplikationen wegen der Zeit, diesmal wegen des Raumes. :)</p>
<ul>
<li>
<p>vergleiche: <a href="de.wikipedia.org/wiki/Multimedialokalisierung&… bei Filmen</a></p>
<ul>
<li>Übersetzung als Untertitel, Voice-Over oder Synchronisation</li>
<li>viele Schwierigkeiten der Medienlokalisierung spiegeln sich im Softwarefall
<ul>
<li>Beispiel: Formulierung der Übersetzung muss sich an die verfügbare Zeit im Film anpassen</li>
<li>in Software müssen übersetzte Beschriftungen in das ursprüngliche Layout reinpassen</li>
</ul>
</li>
</ul>
</li>
<li>
<p>Softwarelokalisierung: zwei getrennte Schritte</p>
<ul>
<li><a href="de.wikipedia.org/wiki/Internationalisierung_(S…)">Internationalisierung</a> (<strong>i18n</strong>): Gestaltung des Programms derart, dass es einfach an verschiedene Sprachen und Kulturen angepasst werden kann -> Aufgabe für den Entwickler</li>
<li><a href="de.wikipedia.org/wiki/Lokalisierung_(Softwaree…)">Lokalisierung</a> (<strong>l10n</strong>): der Akt der Anpassung an eine Zielsprache -> Aufgabe für den Übersetzer</li>
</ul>
</li>
<li>
<p>Aspekte von Internationalisierung anhand der Locale-Einstellungen in Unix-Systemen (siehe <a href="de.wikipedia.org/wiki/Alphabetische_Sortierung… 7 locale</code></a>)</p>
<ul>
<li><strong>LC_MESSAGES</strong>: Sprache für übersetzte Texte</li>
<li><strong>LC_TIME</strong>, <strong>LC_DATE</strong>: Darstellung von Datums- und Zeitangaben (siehe <a href="xkcd.com/2562/">XKCD 2562</a> und <a href="xkcd.com/1179/">XKCD 1179</a>)</li>
<li><strong>LC_COLLATE</strong>: alphabetische Sortierreihenfolge (<a href="de.wikipedia.org/wiki/Alphabetische_Sortierung… Wikipedia</a>, z.B. Deutsch sortiert "ä" wie "a", aber Dänisch sortiert "ä" hinter "z")</li>
<li><strong>LC_NUMERIC</strong>, <strong>LC_MONETARY</strong>: Darstellung von Zahlen und Währungsangaben (z.B. Dezimalpunkt vs. Komma, Tausendertrennzeichen, Währungszeichen vor oder hinter dem Wert)</li>
<li><strong>LC_NAME</strong>: Anreden (z.B. "Herr" und "Frau" im Deutschen)</li>
<li><strong>LC_MEASUREMENT</strong>: Größenangaben in imperialen oder metrischen Einheiten</li>
<li><strong>LC_PAPER</strong>: Standard-Papierformat für Dokumente (z.B. DIN A4 in Deutschland, aber Letter in USA)</li>
<li><strong>LC_CTYPE</strong> (<em>character type</em>): Standard-Zeichensatz für Dateien</li>
<li>usw.</li>
</ul>
</li>
<li>
<p>mögliche Werte für eine Locale-Wahl in Unix</p>
<ul>
<li>klassisch: <code>de_DE</code>, <code>de_AT</code>, <code>de_CH</code>, <code>en_US</code>, <code>en_GB</code> usw.</li>
<li>mit UTF-8-Präferenz: <code>de_DE.UTF-8</code>, <code>en_US.UTF-8</code> usw.</li>
<li>Spezialfall: <code>LC_MESSAGES=C</code> zeigt Texte, wie sie im originalen Quelltext stehen</li>
<li>gemischte Konfiguration möglich, z.B. <a href="github.com/majewsky/system-configuration/blob/… hat fast überall <code>de_DE.UTF-8</code>, aber <code>LC_MESSAGES=C</code></a></li>
</ul>
</li>
<li>
<p>Aufgaben des Softwareentwicklers bei i18n</p>
<ul>
<li>Verwendung von internationalisierbaren Betriebssystemfunktionen oder Programmbibliotheken, wann immer Ein- und Ausgaben lokalitätsabhängig sind</li>
<li>Testen von grafischen Oberflächen im Right-to-Left-Modus (in Sprachen mit RTL-Schrift läuft auch das GUI-Layout von rechts nach links, siehe z.B. <a href="ar.wikipedia.org/">arabische Wikipedia</a>)</li>
<li>Formulierung von übersetzbaren Texten derart, dass die Übersetzer möglichst gut arbeiten können
<ul>
<li>Angabe von Kontext (z.B. Beschriftungstext "Match" -> Ist das das Verb "Abgleichen" oder das Substantiv "Treffer"? Oder gar "Streichholz"?)</li>
<li>bei Textbaustein mit Zahlenparameter Berücksichtigung sprachabhängiger Pluralformen (im meist englischen Original wird ein Singulartext und ein Pluraltext bereitgestellt, z.B. <code>1 match</code> und <code>%d matches</code>; die Übersetzer können je nach Notwendigkeit beliebig viele Formen angeben)</li>
</ul>
</li>
</ul>
</li>
<li>
<p>Arbeitsablauf für Übersetzung am Beispiel <a href="gnu.org/software/gettext/manual/gettext.html&q… gettext</a></p>
<ul>
<li>Programmierer fügt Textmeldungen ("Nachrichten") im englischen Original in den Quelltext ein</li>
<li>Maintainer erstellt mittels Hilfsprogramm aus dem Quelltext einen Nachrichtenkatalog für jede gewünschte Zielsprache (meist automatisiert, z.B. täglich oder wöchentlich)</li>
<li>Übersetzer erhält den Nachrichtenkatalog und füllt die Übersetzungen ein</li>
<li>zukünftige Änderungen der Originalnachrichten werden mit den bestehenden Nachrichtenkatalogen zusammengeführt</li>
<li>Anekdote: <code>x-test</code></li>
</ul>
</li>
<li>
<p>Fundstück: <a href="de.wikipedia.org/wiki/Amtssprachen_der_Europ%C… der Europäischen Union</a></p>
</li>
</ul>