Download - 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