1. Wir leben TYPO3
TYPO3 V. 4.6
Lokalisierung mit XLIFF
Wir leben TYPO3 In2code.de
2. Ablauf
• Lokalisierung – die Geschichte
• Lokalisierung – die Zukunft
– XLIFF - Standard
• Tools
– Pootle – Server
– Nützliche Extensions
– Desktop - Anwendungen
Wir leben TYPO3 in2code.de
3. 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 (
),
);
Wir leben TYPO3 in2code.de
4. 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>
Wir leben TYPO3 in2code.de
5. Lokalisierung – die Geschichte
• Hausgemachte Lösung
– Format der XML-Dateien
– Translation – Server für den Core
– Extensions konnten auf Wunsch installiert
werden
Wir leben TYPO3 in2code.de
6. 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
Wir leben TYPO3 in2code.de
7. 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
Wir leben TYPO3 in2code.de
8. 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
Wir leben TYPO3 in2code.de
10. 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
Wir leben TYPO3 in2code.de
11. 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
Wir leben TYPO3 in2code.de
12. Terminologie
• Vergleichbar mit einem Wörterbuch
– Vorschläge werden in der jeweiligen
Übersetzungssoftware angezeigt
Wir leben TYPO3 in2code.de
13. Translation Server
• Core komplett
• Extensions „auf Antrag“
• Verantwortlichkeiten
– „Language Administrator“
– Team Mitglied
– Jeder andere mit TYPO3.org - Account
Wir leben TYPO3 in2code.de
14. 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
Wir leben TYPO3 in2code.de
15. 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
Wir leben TYPO3 in2code.de
16. 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)
Wir leben TYPO3 in2code.de
17. Desktop Anwendungen
• Virtaal (Open Source)
– Keine Anzeige der Notes
– MacOS: nicht wirklich nutzbar
• Swordfish (Kommerziell)
Wir leben TYPO3 in2code.de
18. 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
Wir leben TYPO3 in2code.de
19. 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;
Wir leben TYPO3 in2code.de
20. 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' ),
);
Wir leben TYPO3 in2code.de
21. Was machen die bei in2code? Stefan Busemann
David Richter
Markus Rodler
Workshops Tina Gasteiger
TYPO3 Alex Kellner
Security
Consulting
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.
Entwicklung
Performance
Michael Cannon
Martin Huber
Extensions FLOW3 Marcus Schwemer
Fluid
Wir leben TYPO3 in2code.de