Extension Key: l10nmgr
Copyright 2000-2009, Daniel Zielinski, <info@L10Ntech.de>
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.com
The Localization Manager (l10nmgr) is a localization management extension for TYPO3 supporting a variety of online and offline translation workflows.
Online translation
Online translation in the TYPO3 backend can be done in a two column view with additional information on changes in the source text.
Offline translation
For offline translation workflows the l10nmgr allows for export of translatable content into XML and MS Excel format. The exported XML files have a localization-friendly format and can be translated with any state of the art translation tool such as across, DéjàVu, MemoQ, SDL TRADOS TagEditor and SDL PASSOLO. Configuration files for major translation tools are provided and can be downloaded in the backend. MS Excel files can be translated in OpenOffice Calc or Microsoft Excel. After translation the target files can be reimported into TYPO3. All translation data is stored automatically in the right place – no manual copying anymore.
Automation
Exports for different parts of the website and for multiple target languages at the same time can be automated and exported files can be uploaded automatically to the FTP server of a language service provider or send by email.
Translated XML files (XML or ZIP) can be automatically imported into TYPO3 by an import service.
According to the adopted localization concept, new localizations of a web page and their respective content elements are mainly realized either with language overlays or with a one-tree-per-language approach, where the whole source page tree is copied (sometimes onto a different TYPO3 installation).
Although TYPO3 comes with all necessary localization features, localization of larger TYPO3 web sites is very often a tedious and time-consuming task.
Translation of pages and content elements is often done inside TYPO3 by manually localizing (translating) a web page and copying the default content elements, which are then overwritten with the translation. This requires translators to have access to and knowledge about TYPO3 (how to access TYPO3, how to use the RTE, how to localize or translate a page, etc.). While translating within TYPO3, translators do not have support from professional translation tools – such as translation memories, terminology databases or spell-checkers – which usually guarantee consistency of translations and terminology, as well as the efficiency of the translation process. This makes translators and translation service providers (as well as TYPO3 administrators) somewhat unhappy...
The other possible route to localizing a TYPO3 website is to dump the database tables containing the localizable information (pages, tt_content,...) e. g. into *.csv format, then to translate the content and import it into another TYPO3 installation. This approach enables the use of professional translation tools but requires the database tables to be translated as a whole, as no subset can be exported. Furthermore, one has to cope with lowlevel problems such as choosing the right separator. Little programming or SQL knowledge is required. However, this approach works only for the one-tree-per-language approach.
Given this situation, the main idea behind developing Localization Manager was to realize a tool that supports and automates the localization process in order to make it more userfriendly. The user managing the website localization (e.g. administrator or project manager) should be able to export the localizable data so that it can be sent or assigned to translators. After translators have finished their work (using their CAT tools), translations can be sent back to the responsible person, who re-imports then the files into TYPO3. On import, all data in localized pages and content elements and the relations between them are automatically inserted into the database.
Figure 1: Translation workflow without Localization Manager
Translators work directly in TYPO3. They do not have support from translation tools, translation memories and terminology databases or spell checkers. For each page to be translated the following steps have to be performed: (1) Access the page to be translated, (2) Translate the web page into $LANGUAGE, (3) Insert translations for all fields in the new translation form, (4) Copy default content elements , (5) Open each content element to overwrite the source text with the translation. To translate e.g. 50 web pages containing 300 content elements you would need at least 800 mouse clicks – not counting the typing of the translation.
Figure 2: Translation workflow with Localization Manager
Translators do not have to access TYPO3. Translation is done in integrated translation tools with translation memories, terminology databases, spell checkers, etc. Translators can work offline and only need to translate the exported XML files.
In its current version Localization Manager comprises the following features:
General features:
Support for all contents (pages, content elements) including contents from internationalised extensions (e.g. tt_news) and flexible content elements
Workspace support: Allows for translation workflows in offline workspaces
TemplaVoilà support
Export features:
Fine grained export configurations (via Localization Manager Configuration record)
Export of localizable content (pages and page content) into
a localization-friendly XML format
MS Excel XML (for translation in MS Excel or OpenOffice Calc)
Selection of localizable page and content element types as well as localizable database table fields
Check for already localized pages and content elements
Options
export only new/changed content
skip export of hidden content elements
single page export, recursive export
exclude selected elements from export
include selected elements from export
check encoding (UTF-8)
check XML for wellformedness
select source languages other than the default language (important for relay translations)
Predefined configuration files for across, DéjàVu, MemoQ, SDL TRADOS TagEditor and SDL PASSOLO, which avoids time-consuming manual setup
Automation of exports via command line scripts (CLI) with
multiple Localization Manager configurations
for multiple target languages
upload of source language XML files to remote server via FTP
sending source language XML files via email
Import features
Re-import of localized XML files
Automatic insertion of localized pages and page content into TYPO3 database
Options:
Overwrite existing translations (pages and content elements)
Generate preview links (e.g. if translations are imported in a workspace)
Workflow features
Localization overview (very basic)
The XML format used by the l10nmgr is a simple XML format that can be used with all state-of-the-art localisation and translation tools. The Localization Manager ships with the required settings files that specify translatable and non-translatable elements. Currently settings files are available for the following tools: across, DéjàVu, SDL Trados and SDL Passolo. Settings files for other tools can easily be set up.
The file format for the export & import of translatable data of a TYPO3 website is a localization-friendly XML format. The default encoding of XML files is UTF-8.
Context information
One important feature of the XML format is that the translatable contents (<data> elements) are grouped according to the context of the page on which they occur (<pageGrp>).
To get a preview of the source web page, the URL can be reassembled by combining the <baseURL> with the ID attribute of the <pageGrp> element and the ID of the source language (<sysLang>):
http://<baseURL>/index.php?id=pageGrp:id&L=<sysLang>
Structure
Element name | Semantics |
<TYPO3L10N> | Root element |
<head> | Header with meta information |
<t3_l10ncfg> | ID of Localization Manager configuration used for the export. |
<t3_sysLang> | ID of target language (equal to IDs of website languages) |
<t3_sourceLang> | ISO-639-1 language code for source language |
<t3_targetLang> | ISO-639-1 language code for target language |
<t3_baseURL> | Base URL of TYPO3-Website to be translated |
<t3_workspaceId> | ID of workspace from which has been exported |
<t3_count> | Number of exported data sets |
<t3_wordCount> | Word count of source text |
<t3_internal> | Internal messages |
<t3_skippedItem> | Elements skipped during export |
<t3_description> | Error messages |
<t3_key> | Key of skipped element |
<t3_formatVersion> | Version number of XML format |
<pageGrp> | Grouping element that embraces all translatable elements of a page. The id- attribute indicates teh page ID. |
<data> | Translatable contents. Used attributes: table = database table from which contents has been exported elementUid = UID of localizable data set key = Trigger for localization command. Syntax: table:NEW/ t3_sysLang/elementUid:fieldname (Initial localization) table:elementUid:fieldname (Update localization, elementUid is ID of data set to be updated) |
| <data> can further contain all kind HTML elements. Number and type of elements can vary for every TYPO3 installation. |