Übersetzungen von Anwendungen verwalten
Kommentare

Die Zielsetzung
Aus den zuvor genannten Punkten ergab sich für mich folgender Anforderungskatalog:
Die technischen Hürden sollen für die Übersetzer so gering wie möglich sein.
Ergebnisse sollen sich

Die Zielsetzung

Aus den zuvor genannten Punkten ergab sich für mich folgender Anforderungskatalog:

  • Die technischen Hürden sollen für die Übersetzer so gering wie möglich sein.
  • Ergebnisse sollen sich möglichst zeitnah in die Applikation einbinden lassen.
  • Aktuelle Übersetzungen sollen sich leicht in das Projekt-Repository übertragen lassen.
  • Manuelle Zwischenschritte sollen vermieden werden.

Mit diesen Anforderungen im Hinterkopf war schnell klar, dass keines der vorhandenen Systeme den Katalog zufriedenstellend erfüllte. Besonders eine Anbindung an ein Repository fehlte mir. So schloss ich mich zwei Wochen meines dreiwöchigen Sommerurlaubs in mein Arbeitszimmer ein und begann eine eigene Umsetzung.

Die geringste technische Hürde stellt aus meiner Sicht eine Onlineplattform dar. Für die Nutzung benötigt der Übersetzer lediglich einen Zugang mit entsprechenden Berechtigungen und einen Browser. Mit dieser Konstellation hatte ich in der Vergangenheit bereits gute Erfahrungen gemacht. Sofern die Oberfläche verständlich und leicht bedienbar ist, tendieren die Rückfragen gen null. Auch beim Oberflächendesign konnte ich auf Erfahrungswerte unseres alten Sprachlabors und das Feedback von Nutzern zurückgreifen. Nach ca. drei Wochen stand die erste neue Version bereits auf stabilen Beinen, sodass sie intern im Projekt MySQLDumper eingesetzt werden konnte.

Die Resonanz der Nutzer fiel durchaus positiv aus. Einer der Anwender ist hauptberuflicher Übersetzer und zeigte Interesse an der Applikation. Generell hatte ich nichts dagegen, das Projekt als Open-Source-Projekt zu veröffentlichen. Jedoch waren zu diesem Zeitpunkt viele Programmteile auf die speziellen Bedürfnisse meines eigenen Projekts zugeschnitten und nicht für andere Projekte geeignet.

Die Geburt eines neuen OS-Projekts

Als sich mein Arbeitskollege Stefan Krenz, der auch fleißig mit an MSD entwickelt, anbot, mich bei der Weiterentwicklung zu einem allgemein einsetzbaren System zu unterstützen, entschied ich mich um. Es ist an der Zeit den bisherigen Lösungen zumindest eine weitere Alternative zur Seite zu stellen. Wir tauften das Projekt oTranCe – Online Translation Center oder kurz OTC. Ich lud den bisherigen Code in ein öffentliches Repository [1] und wir begannen das Projekt im Scrum-Stil so umzustellen, dass es auch von anderen Projekten genutzt werden kann.

Passend dazu stellte Marco Steinhäuser (OXID Community Guide) auf der OXID-Developer-Mailingliste [2] zeitgleich die Frage, ob jemand ein Übersetzungssystem kenne, mit dem sich die verschiedenen Sprachen verwalten lassen. Einige Mails und Telefonate später kristallisierte sich heraus, dass OXID das System künftig für die Verwaltung und Pflege ihrer Sprachdateien für den beliebten Onlineshop nutzen möchte. Ich bin froh, mit OXID gleich einen großen Anwender gefunden zu haben, der die Applikation auf Herz und Nieren testet. Kinderkrankheiten sollten darüber recht schnell aufgedeckt werden.

oTranCe

Als Systemvoraussetzungen fordert OTC einen MySQL5-Server und PHP in der Version 5.3. Das Modul mod_rewrite muss vorhanden sein. oTranCe ist als Zend-Framework-Applikation umgesetzt und nutzt das klassische MVC-Pattern. Nachdem der Code heruntergeladen oder aus dem Subversion Repository ausgecheckt wurde, findet sich im Ordner docs eine README-Datei, die die Einrichtung erklärt. Im Grunde genommen müssen die typischen Schritte für eine ZF-Applikation erledigt werden. Der Apache muss einen virtuellen Host oder einen Alias bekommen, dessen Wurzelverzeichnis der Ordner public ist. Seitens MySQL muss eine Datenbank angelegt und die Datei db_schema.sql dort eingespielt werden. Im Ordner application/configs befindet sich die Datei defaultConfig.dist.ini, die nach defaultConfig.ini kopiert wird. Anschließend editieren Sie sie und tragen dort zumindest die Datenbankzugangsdaten ein. Genauso verfahren Sie mit der Datei .htaccess.dist im Ordner public und passen dort gegebenenfalls die Angabe zu RewriteBase an. Nachdem dies geschafft ist, können Sie oTranCe im Browser aufrufen und sich mit dem Standardbenutzer Admin und dem Standardkennwort admin einloggen.

Auf der Startseite wird die Liste aller verfügbaren Sprachen angezeigt (Abb. 1). Der Fortschritt jedes Sprachpakets wird sowohl prozentual, als auch zur optischen Orientierung als grün-roter Fortschrittsbalken angezeigt. Zusätzlich wird neben der jeweiligen Sprache eine Liste aller User mit Bearbeitungsrechten angezeigt. Dies hilft, bei größeren Projekten den Überblick über die Zuständigkeiten zu wahren.

Abb. 1: Die Startseite mit Fortschrittsangaben

Unter dem Menüpunkt KONFIGURATION wird jedem Benutzer ein eigener kleiner Konfigurationsbereich eingeräumt. Hier kann er wählen, wie viele Datensätze standardmäßig pro Seite angezeigt werden sollen. Je nach Geschwindigkeit der eigenen Internetverbindung bevorzugt man eine Anzeige von 20 Einträgen, während sich ein anderer lieber 100 Einträge auf einen Schlag listen lässt.

Um die Übersetzung so einfach wie möglich zu gestalten, kann jeder Anwender seine individuellen Referenzsprachen wählen. Diese werden ihm beim Bearbeiten von Einträgen als zusätzliche Information angezeigt und zwar unabhängig davon, ob er Bearbeitungsrechte für die gewählte Sprache besitzt oder nicht. Auf diese Weise ist es möglich, dass sich ein Übersetzer beteiligen kann, der zwar nicht die eigentliche Hauptsprache des Projekts versteht, aber eine andere der bereits übersetzten Sprachen. Die vom Administrator gewählte Fallback-Sprache wird dennoch in jedem Fall angezeigt. Ist eine Sprachvariable noch nicht übersetzt, wird sie beim Export der Sprachpakete mit dem Wert der Fallback-Sprache befüllt. So ist sichergestellt, dass später in der laufenden Anwendung keine unbeschrifteten Buttons oder leere Bereiche erscheinen.

Wenn der Administrator ein Versionierungssystem eingerichtet und aktiviert hat, kann der Übersetzer seine persönlichen Zugangsdaten zum Repository angeben. Beim späteren Export in das VCS geschieht dies mit seinem Account, sodass eine Zuordnung der Änderungen möglich ist.


Themen der folgenden Seiten:

  • Bearbeiten von Einträgen
  • Export
  • Import
  • Schreiben eigener Analyzer
  • Stand und Zukunft
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -