Transifex mit Contao Toolbox
Aus Contao Community Documentation
Inhaltsverzeichnis
Was ist das?
Die Contao-Toolbox, kurz ctb, gibt es auf GitHub: contao-toolbox
Das Konzept dahinter ist folgender.
- der Entwickler legt wie bisher PHP Sprachdateien an für die Ursprungsprache, z.B. "en", im Modul Unterverzeichnis language/en/
- mit ctb werden die Sprachdateien in das XLIFF Format gewandelt
- anschließend werden diese XLIFF Dateien mit ctb hoch geladen nach Transifex und tauchen dadurch in der Ursprungsprache als Ressourcen auf
- übersetzte Ressourcen anderer Sprachen werden mit ctb runter geladen im XLIFF Format
- anschließend werden mit ctb diese in PHP Sprachdateien umgewandelt und in das passende Verzeichnis abgelegt, z.B. language/de/
Installation
Die Installationanleitung entspricht der aus der Readme von ctb und kann auf zwei Arten erfolgen.
Über composer
Download composer wenn noch nicht vorhanden:
curl -sS https://getcomposer.org/installer | php
Und nun die Contao Toolbox installieren:
php composer create-project --prefer-source cyberspectrum/contao-toolbox
Achtung: Am Ende der Installation wird gefragt, ob die VCS History gelöscht werden kann, hier mit 'n' dieses verneinen. Sonst arbeitet der Compiler nicht richtig (folgt später) |
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? n
Über Git Cloning
git clone https://github.com/discordier/contao-toolbox.git
Anschließend als erstes die Abhängikeiten auflösen.
php composer update
Optional: eine ctb.phar kompilieren
Zum kompilieren ruft man das mitgelieferten Compiler-Script auf.
./bin/compile-ctb
Diese phar Datei kann man nun in ein Pfad kopieren auf dem ein Suchpfad liegt. Dadurch ist die spätere Nutzung einfacher. Dazu noch ein alias anlegen um ctb ohne die Endung .phar aufrufen zu können.
Falls es zu einem Compiler Fehler kommt liegt es wohl an einer Einstellunge in der php.ini, dort muss definiert sein:
[Phar] phar.readonly = Off
Weitere Hinweise dazu: php.net/phar.readonly
Konfiguration
Um bei der Nutzung nicht immer Login und Passwort angeben zu müssen, kann man diese in seine Home-Verzeichnis in einer Konfigurationsdatei im json-Format anlegen wie folgt:`$HOME/.config/ctb/config.json`
{ "transifex": { "user": "john-doe", "pass": "sUp3rPassword!" } }
In der composer.json der jeweiligen Erweiterung kann man ebenfalls einige Daten ablagen um die Aufrufe auf Kommandozeile zu verkürzen. Dazu in Abschnitt extra ergänzen:
"transifex": { "project": "acme-core", "prefix": "core-", "languages_cto": "languages", "languages_tx": ".tx" }
Dabei bedeuten:
- "project" : der Projektname auf Transifex
- "prefix" : ein frei wählbarer Prefix, aus diesem und dem originalem Dateiname wird der Dateiname für die Ressource generiert (z.B.: core-tl_module)
- "languages_cto": Verzeichnisname in dem die Sprachunterverzeichnisse liegen (/de/..., /en/... )
- "languages_tx": Verzeichnisname in der die umgewandelten XLIFF Datein abgelegt werden sollen
Kommandozeilen Workflow
Upload weiterer Sprachen
TODO: Wird ergänzt.