snowbabel: Lokalisierung von TYPO3-Extensions durch Content Managers

Benutzeroberfläche von snowbabel zur Übersetzung von Labels in TYPO3-Extensions

Nicht oder schlecht lokalisierte Extensions können einen TYPO3 Content Manger zur Verzweiflung bringen: Denn erstens versteht er oft nicht, wo die Texte (die er ja nicht selbst geschrieben hat) her kommen, und zweitens kommt er normalerweise nicht an diese Texte heran, um sie selbst zu übersetzen.

snowbabel ist für solche Fälle ein sehr übersichtliches und effizientes Tool, das auch ein Content Manager ohne vertiefte TYPO3-Kenntnisse schnell beherrscht. Die Extension fügt dem TYPO3-Backend zwei Module hinzu, von denen eines für die Grundeinstellungen zuständig ist, während im anderen die eigentliche Übersetzung stattfindet. Die Benutzeroberfläche ist ausgesprochen übersichtlich und selbsterklärend: Links wählt man die zu übersetzende Extension, rechts die zu bearbeitenden Sprachen, und in der Mitte bearbeitet man die entsprechenden Labels. Dabei müssen die Datensätze nicht in einer Detailansicht geöffnet, einzeln bearbeitet und wieder gespeichert werden, sondern man arbeitet direkt in der Tabelle, was die Arbeit massiv beschleunigt. snowbabel beherrscht inzwischen auch XLIFF (das neue Format für Sprachdateien – vgl.  TYPO3 4.6: Was hat es mit den XLIFF-Sprachdateien auf sich?) und ist somit für die Zukunft gut gerüstet.

TYPO3 4.6: Was hat es mit den XLIFF-Sprachdateien auf sich?

Language File Editor (lfeditor)

Sprachdateien (engl. Language Packs oder Language Packages) für TYPO3 enthalten Übersetzungen für den TYPO3 Core oder für Extensions. Übersetzt wird damit nicht derjenige Content, den die Content Mangers einpflegen, sondern diejenigen Texte, welche das System im Frontend oder im Backend selbständig anzeigt (sog. Labels).

Seit der Version 4.6 nutzt TYPO3 XLIFF als Format für Sprachdateien. Dieses standardisierte Format löst das ll-XML-Format ab, welches zwar auf XML basiert, ansonsten aber eine TYPO3-spezifische Lösung darstellt, welche mit gängigen Übersetzungsprogrammen nicht kompatibel ist. XLIFF bietet noch einige weitere Vorteile: So können in den Dateien Pluralformen, Übersetzungsvorschläge und –alternativen sowie Hinweise an die Übersetzer gespeichert werden. Ausserdem nutzt auch FLOW3 (das Framework der zukünftigen TYPO3-Version 5) XLIFF.

Um Sprachdateien vom ll-XML-Format (oder vom noch älteren PHP-Format) in XLIFF zu konvertieren, steht Entwicklern die Extension extdeveval zur Verfügung. Die Rückwärtskompatibilität für TYPO3-Versionen vor 4.6 (welche ja noch kein XLIFF kennen) stellt die Extension xliff sicher: Sie konvertiert automatisch XLIFF-Dateien ins alte ll-XML-Format. Um Übersetzungen zu pflegen bietet der Language File Editor lfeditor geeignete Funktionalitäten.

Parallel zur Umstellung auf XLIFF hat das TYPO3 Translation Team übrigens auch den TYPO3 Translation Server (wo Übersetzungen für Core und Extensions zentral gepflegt werden) von einer selbst entwickelten Lösung auf Pootle umgestellt. Pootle wird auch von LibreOffice, Mozilla, KDE, Gnome und anderen grossen Open-Source-Projekten genutzt und ist ein leistungsfähiges und doch einfach zu bedienendes Übersetzungssystem (ähnlich wie Transifex).

Weiterführende Informationen:

Contao: Version 2.11.0 veröffentlicht

Contao Logo

Das Entwickler-Team von Contao hat die neuste Version 2.11.0 des beliebten Open Source CMS veröffentlicht. Die wichtigsten Neuerungen im Überblick:

  • 2.11.0 ist die erste Contao-Version mit Long Term Support (LTS). Dies bedeutet, dass es für diese Version mindestens 18 Monate lang Sicherheits-Updates und Bugfixes geben wird. Dadurch wird weniger schnell ein Update auf das nächste Minor- oder Major-Release fällig, was typischerweise einen grösseren Aufwand mit sich bringt, weil API, Datenstrukturen oder Templates ändern können (Details zum Contao-Release-Zyklus und zum Long Time Support).
  • Die Sprache einer Seite wird künftig nicht mehr als Parameterwert pro Seite erfasst, sondern sie ergibt sich aus dem Pfad: Die deutsche Version einer Website wird beispielsweise unterhalb der Seite de angelegt, die englische unter en usw. Dies spiegelt sich auch in der URL wieder, wo dann eine deutsche Seite unter www.mustermann.ch/de/news.html erreichbar ist, ihr englisches Pendant unter www.mustermann.ch/en/news.html. Sofern die beiden Sprachversionen dasselbe Alias benutzen (im vorigen Beispiel: news), kann man nun einfach zwischen den Sprachen wechseln.
  • In den Theme-Einstellungen können neu globale Stylesheet-Variablen definiert werden, was eine schnelle Anpassung von zentralen Gestaltungsparametern ermöglicht. Stylesheet-Variablen in den Stylesheet-Einstellungen haben allerdings Vorrang und überschreiben ggf. globale Variablen.
  • Die Frontend-Module Event-Liste und Event-Leser können nun auf einer einzigen Seite kombiniert werden. Dasselbe gilt für Nachrichtenarchiv und Nachrichtenleser sowie für FAQ-Listen und FAQ-Leser. Das FAQ-Modul hat zudem im Backend ein Berechtigungssystem analog zum News- und zum Kalender-Modul erhalten.
  • Nicht eigentlich neu, von nun an aber zwingend vorgeschrieben ist die Verwendung eines Website-Startpunkts als oberster Knoten im Seitenbaum. Damit wird ein empfohlenes, sinnvolles Vorgehen zum Standard, was viele Anfängerprobleme vermeiden hilft.
  • Beim Anlegen von Backend-Benutzern kann man neu den Benutzer zwingen, beim ersten Login sein Passwort zu ändern. Dies erhöht insbesondere dann die Sicherheit, wenn Passwörter per E-Mail verschickt werden.

Daneben bringt die neue Version zahlreiche weitere Detailverbesserungen und Bugfixes, welche hier beschrieben sind.

Password Reuse Visualizer: Firefox Add-on deckt Mehrfachverwendung von Passwörtern auf

Output des Password Reuse Visualizer

Eines der grössten Sicherheitsrisiken im Internet besteht darin, dass wir für unterschiedliche Websites dieselben Passwörter benutzen. Das Firefox Add-on Password Reuse Visualizer zeigt dieses Problem in Form einer anschaulichen Grafik: Grüne Punkte stehen für die verschiedenen Passwörter, welche im Firefox Passwort-Manager gespeichert sind, blaue Punkte für die zugehörigen Websites, und orange Verbindungen weisen auf sehr ähnliche Passwörter hin. Im obigen Beispiel kann man also unschwer drei neuralgische Punkte ausmachen, wo eine Passwortänderung mehr Sicherheit bringen würde.

(Hintergrundinformationen auf dem Blog des Entwicklers Paul Sawaya)

EPUB 3 – KF8 – iBooks: Der Kampf um E-Book-Formate geht in eine neue Runde

Screenshot von Apple iBooks Author

Schon heute gibt es bei den E-Books zwei Lager: Auf der einen Seite Amazon mit dem Kindle und E-Books im AZW-Format, und auf der anderen Seite die EPUB-Koalition. Das wird mit der nächsten Generation von E-Books nicht besser werden: Amazon hält an einem proprietären Format fest und führt das Kindle Format 8 (KF8) ein, während die International Digital Publishing Forum IDPF den EPUB-Standard in der Version 3.0 (EPUB 3) verabschiedet hat. Und als ob das nicht schon genug wäre, hat Apple in der vergangenen Woche ein weiteres Format lanciert, das nur mit der iBooks App auf dem iPad gelesen werden kann.

Das Absurde an dieser Entwicklung ist, dass die drei Formate letztlich gar nicht so verschieden sind. Sie alle schaffen die Voraussetzung dafür, dass E-Books mit multimedialen und interaktiven Elementen angereichert werden können. Und sie alle greifen auf Web-Technologien zurück, konkret auf HTML5. Dass Verlage und Leser in Zukunft mit mindestens drei verschiedenen Formaten leben müssen, hat also nicht primär technischen Gründe, sondern strategische: Sowohl Amazon als auch Apple streben ein geschlossenes System an, bei dem sie die alleinige  Kontrolle über Inhalte, Vertrieb, Hardware und Kundendaten haben, während beim EPUB-Standard sowohl die E-Reader (die Hardware) als auch die E-Books (der Content) aus unterschiedlichen Quellen bezogen werden können. 

Eines muss man Apple lassen: Die Lancierung des neuen E-Book-Formats für das iPad wurde äusserst geschickt eingefädelt. Der Fokus des Medien-Events im Guggenheim Museum lag ganz auf besseren Lernmaterialien für Schüler und Studenten. Zu diesem Zweck veröffentlichte Apple nicht nur die Version 2 der iBook App, sondern auch ein neues Tool zur Erstellung von multimedialen, interaktiven E-Books namens iBooks Author. Beide Programme sind sehr ansprechend, praxisorient, leistungsfähig – und kostenlos. Wer also wollte etwas gegen Apples Initiative einwenden? Dass bei dieser Gelegenheit klammheimlich ein neues E-Book-Format eingeführt wurde, das nur mit iBooks Author erstellt und nur mit der iBook App gelesen werden kann, ging dabei fast unter. Wenn Kritik geübt wurde, dann primär an der Lizenzvereinbarung von iBooks Author, wonach die damit erzeugten E-Books ausschliesslich über den Apple iBookstore verkauft werden dürfen. Das iBook-Ökosystem ist allerdings derart überzeugend, dass wohl viele Verlage bzw. Autoren diese Exklusivität akzeptieren werden, zumal sie 70 Prozent der Erträge erhalten, was ich persönlich ein sehr faires Modell finde. Man kann sogar nachvollziehen, dass Apple kein so attraktives Autoren-Tool wie iBooks Author verschenkt, ohne sich die Erträge aus den Buchverkäufen zu sichern. Dass allerdings bei dieser Gelegenheit ein proprietäres Format eingeführt wurde, ist sowohl für die Verlage als auch für die Leser unerfreulich – zumal mit EPUB 3 bereits ein geeigneter Standard existiert.

TYPO3 Developer Days 2012, München

TYPO3 Developer Days 2012

Nach dem letztjährigen Abstecher in die Schweiz finden die TYPO3 Developer Days heuer wieder in Deutschland statt, und zwar in München, genauer im MACE in Unterföhring. Die Veranstaltung dauert vom Donnerstag, 12. April 2012 bis Sonntag, 15. April 2012. Noch bis zum 12. Februar 2012 kann man Themen für Referate und Workshops vorschlagen (Call for Papers), und bis zum gleichen Datum bekommt man auch Early-Bird-Tarife bei den Eintrittskarten (derzeit ist der Ticket-Shop aber noch nicht aufgeschaltet).

Software lokalisieren mit Transifex

Will man eine Software in mehreren Sprachversionen anbieten, dann integriert man die Übersetzungen sinnvollerweise nicht direkt in den Programmcode, sondern bindet sie über Sprachpakete ein. Ein beliebtes Format für solche Sprachpakete sind PO-Dateien (Portable Object; vgl. GNU gettext). Die Erstellung solcher Sprachpakete kann im Prinzip mit jedem Texteditor erfolgen, denn es handelt  sich um Textdateien. Umfangreichere Programme zu übersetzen ist mit dieser Methode aber keine Freude und auch nicht sonderlich effizient.

Poedit Benutzeroberfläche (Mac-Version)

Häufig werden stattdessen spezialisierte Editoren wie beispielsweise Poedit eingesetzt. Solche Programme stellen Originalsprache und Zielsprache einander gegenüber und unterstützen den Übersetzungsprozess über ein sogenanntes Translation Memory (d.h. ein Verzeichnis mit bereits übersetzten Texten, welches für Vorschläge herangezogen werden kann). Da es sich um Desktop-Programme handelt, kann allerdings immer nur ein Übersetzer gleichzeitig an einer bestimmten Sprachversion arbeiten; und das Aus- und Einchecken der Sprachdateien aus einem Code Repository ist auch nicht jedermanns Sache.

Gerade bei Open-Source-Projekten, welche auf die Unterstützung einer Community angewiesen sind, haben sich deshalb web-basierte Lösungen etabliert. So kann man beispielsweise auf Launchpad nebst Ubuntu Linux auch diverse andere Programme wie beispielsweise Blender, Calibre, JOSM (Java OpenStreetMap Editor), Mahara, Miro oder Stellarium übersetzen helfen.

Transifex Benutzeroberfläche (Ausschnitt)

Eine andere, ausgesprochen schöne Lösung, ist Transifex, die unter www.transifex.net als Hosted Service genutzt oder als Open Source Software heruntergeladen werden kann. Der Hosted Service ist für andere Open-Source-Projekte kostenlos, und so dass man sowohl als Open-Source-Entwickler als auch als Übersetzer mit einem Free Account bestens versorgt ist.

Will man sich als Übersetzer an einem Projekt beteiligen, so sucht man sich das entsprechende Projekt und schliesst sich dem Übersetzer-Team der gewünschten Sprache an (bzw. legt als Sprachenkoordinator ein neues Team an). Danach kann man über eine sehr dezente, in den Details aber sehr funktionale Oberfläche die Strings (wie die einzelnen Textbausteine heissen) übersetzen. Auch hier steht ein Translation Memory zur Verfügung, und man kann die Strings durchsuchen oder nach verschiedenen Kriterien filtern. Das Aufsetzen eines eigenen Projekts ist denkbar einfach: Kennt man die URL der originalen Sprachdatei (POT = Portable Object Template) im Code Repository, dann holt sich Transifex die Originalsprache selbständig und erzeugt daraus ein Übersetzungsprojekt.

Auch mit Transifex bleibt das Übersetzen von Software anspruchsvolle Knochenarbeit. Aber zumindest wird dadurch die Arbeit so komfortabel und effizient wie nur irgend möglich.

Mit OpenRide eine eigene Mitfahrzentrale betreiben

OpenRide Anmeldebildschirm

Privatfahrzeuge besser auszulasten (und dadurch die Zahl der Autofahrten zu reduzieren) ist eine einfache Massnahme, um den Energieverbrauch, den CO2-Ausstoss und das Staurisiko zu senken. Dank Smartphones müssen Fahrgemeinschaften auch nicht mehr von langer Hand geplant und über eine zentrale Stelle koordiniert werden: Autofahrer und Mitfahrer finden sich über eine Online-Plattform spontan und selbständig.

OpenRide ist eine solche Plattform, welche am Fraunhofer Institut für Offene Kommunikationssysteme entwickelt und von Bundesministerium für Wirtschaft und Technologie finanziell unterstützt wird. Weil die Software unter der Affero GNU Public License (AGPL v3) veröffentlich wird, kann jedes Unternehmen oder jede Gemeinde seine eigene Mitfahrzentrale aufbauen. Gegenüber einer einzigen, grossen Plattform reduziert sich so natürlich das Angebot an Mitfahrgelegenheiten – dafür wissen Fahrer und Mitfahrer viel eher, worauf sie sich einlassen, denn letztlich ist Mitnehmen und Mitfahren auch eine Frage des Vertrauens.

Auf der Website von OpenRide findet sich ein aufwändig gemachtes Video, jedoch wenig konkrete Informationen. Und mangels einer deutschen Handynummer konnte ich auch die Demo-Installation nicht selbst testen. Rein vom Anbieter und von der Aufmachung her darf man aber eine solide Lösung erwarten, die sich Verkehrsplaner und Nachhaltigkeitsbeauftragte unbedingt anschauen sollten.

Substance: Texte schreiben und publizieren im Web

Substance - web-basiertes Verfassen und Publizieren von Texten

Es ist schwierig, in einem einzigen Satz zu beschreiben, was Substance ist. Die offizielle Definition – a web-based document authoring and publishing platform – ist zwar völlig korrekt, aber zugleich derart abstrakt und unspezifisch, dass sie den Besonderheiten von Substance nicht gerecht wird. Denn schreiben und publizieren kann man auch mit einem Blog, einem Wiki oder Google Docs – Substance jedoch verfolgt ein anderes Konzept.

Zunächst konzentriert sich das Tool ganz auf Inhalte und deren Struktur. So kann man Texte zwar in Kapitel und Abschnitte gliedern, die Möglichkeiten zur Textformatierung hingegen sind ausgesprochen beschränkt. Dies fördert nicht nur die Fokussierung auf das Wesentliche, sondern erleichtert auch die spätere Publikation des Texts in unterschiedliche Ausgabeformate.

Substance fördert das kollaborative Schreiben. So können Texte – sofern sie publiziert sind – von sämtlichen Lesern kommentiert werden. Anders als bei einem Blog steht die Kommentarfunktion nicht bloss für den gesamten Text, sondern pro Abschnitt zur Verfügung, so dass man sehr gezielt Fragen und Verbesserungsvorschläge anbringen kann. Zudem hat der Autor die Möglichkeit, Schreibrechte an bestimmte Personen zu vergeben; diese Co-Autoren können dann den Text nicht nur kommentieren, sondern direkt umschreiben.

Export-Formate von Substance

Ein weiterer Kernfunktionalität von Substance ist die Publikation von Inhalten in unterschiedlichen Formaten. So kann man ein Dokument nicht nur auf www.substance.io bereitstellen, sondern auch in ein Blog einbinden oder in diverse Dateiformate wie z.B. PDF, ODT, RTF, EPUB oder HTML exportieren.

Was an Substance ausserdem auffällt ist die ausgesprochen gepflegte Benutzeroberfläche, die sowohl funktional als auch ästhetisch überzeugt. Auf der anderen Seite ist die Software noch nicht so stabil, dass ich sie guten Gewissens für den produktiven Einsatz empfehlen könnte: Mehrfach hat bei meinen Tests etwas nicht so funktioniert, wie es sollte, und schliesslich habe ich sogar den Entwurf dieses Blog-Artikels – den ich natürlich in Substance schreiben wollte – verloren. Bei einer Version 0.3.6 ist dies aber nicht weiter erstaunlich, und der intensive Einsatz von JavaScript fordert wohl auch seinen Tribut. Substance scheint mir jedenfalls ein sehr vielversprechender Ansatz zu sein, auf dessen Fortschritte man gespannt sein darf. Die Software ist unter der GPL v3 lizenziert und für die nicht-kommerzielle Nutzung kostenlos.

OpenSlides: Software-Lösung für Tagungen und Versammlungen

OpenSlides - Präsentation der Tagesordnung

Lassen Sie sich durch den Namen nicht verwirren: OpenSlides ist nicht etwa eine Open-Source-Alternative zu Microsoft PowerPoint oder Apple Keynote, sondern eine Web-Applikation, um den Informationsfluss auf einem Parteitag, einer Vereinsversammlung oder einer Fachtagung zu managen. Wenn es darum geht, Anträge einzureichen, Kandidaten vorzuschlagen oder Abstimmungen und Wahlen durchzuführen, dann ersetzt OpenSlides die analogen Prozesse durch eine digitale Lösung: Auf einem lokalen Webserver installiert, steht die Plattform via WLAN allen Veranstaltungsteilnehmern vom Notebook, Tablet-PC oder Smartphone aus zur Verfügung. Die Zugriffsrechte können selbstverständlich je nach Rolle des Teilnehmers unterschiedlich gestaltet werden – mit dem Nebeneffekt, dass dass die Benutzerverwaltung von OpenSlides auch gleich eine Teilnehmerverwaltung für die Veranstaltung darstellt. Und natürlich können auch alle Redner ihre Berichte und Präsentationen (da wären wir dann wieder bei den Slides) auf der Plattform ablegen – das spart Zeit, Papier und in der Regel auch Geld.