TYPO3 Translations

Post on 19-May-2015

4.436 views 1 download

description

Short introduction to the new TYPO3 translation features from version 4.6.

Transcript of TYPO3 Translations

In2code.deWir leben TYPO3

Wir leben TYPO3

TYPO3 V. 4.6TYPO3 V. 4.6Lokalisierung mit XLIFFLokalisierung mit XLIFF

in2code.deWir leben TYPO3

Ablauf• Lokalisierung – die Geschichte• Lokalisierung – die Zukunft– XLIFF - Standard

• Tools– Pootle – Server– Nützliche Extensions– Desktop - Anwendungen

in2code.deWir leben TYPO3

Lokalsierung – die Geschichte• PHP – Dateien mit Arrays

<?php/** * * This file is detected by the translation tool. */$LOCAL_LANG = Array ( 'default' => Array ( ), 'dk' => Array ( ), 'de' => Array ( ), 'no' => Array ( ),);

in2code.deWir leben TYPO3

Lokalisierung – die Geschichte• llxml – das TYPO3 eigene Format

<?xml version="1.0" encoding="utf-8" standalone="yes" ?><T3locallang> <meta type="array"> <description>Labels for the Linkvalidator Task.</description> <type>module</type> <csh_table></csh_table> <labelContext type="array"> </labelContext> </meta> <data type="array"> <languageKey index="default" type="array"> <label index="mod_linkvalidator">Linkvalidator</label> <label index="tasks.validate.name">Linkvalidator</label> <label index="tasks.validate.description">Search for broken Links and store the Result into the temporary Table tx_linkvalidator_link in order to ease up the Backend Module.</label> <label index="tasks.validate.page">Start Page (uid)</label> <label index="tasks.validate.depth">Depth</label> </languageKey> </data></T3locallang>

in2code.deWir leben TYPO3

Lokalisierung – die Geschichte• Hausgemachte Lösung– Format der XML-Dateien– Translation – Server für den Core– Extensions konnten auf Wunsch installiert

werden

in2code.deWir leben TYPO3

Lokalisierung – die Geschichte• Situation auf altem Translation – Server– Core– Extension auf Wunsch (über die Mailingliste)– Beteiligung „problematisch“

→ 1 Account je Übersetzungsteam→ keine Vorschläge→ Letzte Änderung „gewinnt“→ Keine Tools, um den Übersetzern zu helfen

in2code.deWir leben TYPO3

Lokalisierung – die Zukunft• XLIFF– XML Localisation Interchange File Format– OASIS – Standard seit 2002

• http://en.wikipedia.org/wiki/XLIFF• Übersetzungssoftware (online und offline)

unterstützt diesen Standard

in2code.deWir leben TYPO3

Warum XLIFF?• Features

Plural, Vorschläge, Alternative Übersetzungen

• Tools unterstützen die Übersetzungen– Online (z.B. Pootle)– Offline

(z.B. Virtaal [OS], Swordfish [kommerziell]

• Extensions erleichtern den Umstieg

in2code.deWir leben TYPO3

XLIFF - Format<?xml version='1.0' encoding='utf-8'?><xliff version="1.0"> <file source-language="en" target-language="de" datatype="plaintext"

original="messages" date="Tue Jul 12 18:48:14 UTC 2011" product-name="jf_headerslide">

<header/> <body> <trans-unit id="pages.tx_jfheaderslide_images" approved="yes"> <source>Slide Images</source> <target state="translated">Dias</target> </trans-unit> <trans-unit id="pages.tx_jfheaderslide_stoprecursion" approved="yes"> <source>Stop Recursion (Reset)</source> <target state="translated">Stopp Rekursion (Zurücksetzen)</target> </trans-unit> <trans-unit id="pages.tx_jfheaderslide_href" approved="yes"> <source>Image links</source> <target state="translated">Bild-Links</target> </trans-unit> </body> </file></xliff>

in2code.deWir leben TYPO3

Unterschiede• xml – Format• nur eine Sprache je Datei– jede weitere Sprache enthält das Sprachlabel

als Prefix– Bsp: de.locallang.xlf

• Orginalsprache ist immer Englisch→ Basis enthält immer alle Texte doppelt→ nur „target“ wird ausgewertet

in2code.deWir leben TYPO3

Für wen?• Für mich, für Dich, für alle– Core: wird bei 4.6 vollständig umgestellt sein– Erweiterungen: je nach Autor

• LLXML / LLPHP funktionieren wie bisher– Keine Erweiterung verliert ihre Übersetzungen

in2code.deWir leben TYPO3

Terminologie• Vergleichbar mit einem Wörterbuch– Vorschläge werden in der jeweiligen

Übersetzungssoftware angezeigt

in2code.deWir leben TYPO3

Translation Server• Core komplett • Extensions „auf Antrag“• Verantwortlichkeiten– „Language Administrator“– Team Mitglied– Jeder andere mit TYPO3.org - Account

in2code.deWir leben TYPO3

Translation Server• Jeder andere– Übersetzungen für fehlende Labels vorschlagen

• Team-Mitglied– Übersetzung des Core und der verfügbaren

Erweiterungen– Terminologie festlegen– Akzeptieren von Übersetzungen von Nicht-

Teammitgliedern

in2code.deWir leben TYPO3

Translation Server• „Language Administrator“– Neue Team-Mitglieder hinzufügen– Entscheidungsgewalt bei Konflikten– Entfernen von Teammitgliedern, die sich nicht

an die Richtlinien halten– Aufgaben, wie jedes andere Team-Mitglied

auch

in2code.deWir leben TYPO3

Translation Server• Die Praxis– Startseite– Übersetzungen online• Fehlerhinweise• Vorschläge der Terminologie • Google Translate Plugin (als Teammitglied)

– Down- und Upload von xlf – Dateien– Anmerkungen von Übersetzern (nicht in Pootle)

in2code.deWir leben TYPO3

Desktop Anwendungen

• Virtaal (Open Source)– Keine Anzeige der Notes– MacOS: nicht wirklich nutzbar

• Swordfish (Kommerziell)

in2code.deWir leben TYPO3

TYPO3 – Erweiterungen• Ext. „extdeveval“– Automatische Konvertierung von llxml nach xlf– In der aktuellen Version auf forge / svn

• Ext. „xliff“– Abhängigkeit in Extension setzen– Konvertiert xlf → llxml für TYPO3 < 4.6– Pflege der .xlf – Dateien reicht aus

in2code.deWir leben TYPO3

TYPO3 - Konfiguration• Löschen den Sprach-Caches

$TYPO3_CONF_VARS['SYS']['lang']['cache']['clear_menu'] = TRUE;

• Anzeige der Labels$TYPO3_CONF_VARS['BE']['lang']['debug'] = TRUE;

in2code.deWir leben TYPO3

Individuelle BE - Sprachen• Konfiguration via localconf.php

$TYPO3_CONF_VARS['SYS']['localization']['locales']['user'] = array('de_BY' => 'Bavarian German',

);

• Konfiguration einer Fallback-Kaskade$TYPO3_CONF_VARS['SYS']['localization']['locales']['dependencies'] = array (

'de_BY' => array ( 'de_FR' ,'de_CH' , 'de' ),);

in2code.deWir leben TYPO3

Was machen die bei in2code?

Alex Kellner

Wir leben TYPO3

Wir unterstützen TYPO3- , Internet- und Full-Service-Agenturen genauso wie große und mittelgroße Firmen, die auf TYPO3 Spezialwissen angewiesen sind.

TYPO3

Extensions

Entwicklung

Fluid

Security

Performance

Workshops

FLOW3Martin Huber

Marcus Schwemer

Michael Cannon

Stefan Busemann

Markus RodlerDavid Richter

Tina Gasteiger

Consulting

in2code.deWir leben TYPO3In2code.

Vielen Dank

www.in2code.deStefan BusemannTina GasteigerAlex Kellner