SlideShare a Scribd company logo
Îñţérñåţîöñåļîžåţîöñ
Localization and Internationalization using TYPO3

                    Alexander Wahl
Agenda

>   Challenges in internationalization projects
>   localize TYPO3
>   extensions from TER dealing with translation
>   promote your translations to Google
Company profile - digiparden

>   Employees: 15 human beeings , 2 cats
>   Location: Schwäbisch Gmünd
>   Customers: DAIMLER, Mercedes-Benz, TRUMPF, LAPPGROUP, FUSO
>   Expertise in
    – content-management
    – language management
    – product-data management
    – application development using TYPO3, FLOW3 and ZF
    – IT-consulting
Internationalization vs. Localization

Internationalization
> Process of designing a software application to adapt to various
    regions and languages without engineering changes
> Synonym’s:
    – globalization
    – “world-readiness” (Microsoft)


Localization
> Process of adapt a internationalized software product to a specific
   market by adding
   – translations
   – regional content (e.g. images, colors, )
   – locale-specific information (e.g. time, currency, etc.)
Challenges in
 internationalization projects



http://www.flickr.com/photos/marcelgermain/3840003650/sizes/o/in/photostream/ (picture by Marcel Germanin)
Challenges in internationalization projects
Localization is a time consuming project

19.800 pages      260.000 content objects   15 target languages

Exporting content manually
1 month, 2 weeks, 3 days and 3 hours

Importing content manually
1 year, 3 months, 3 days and 6 hours
approx. 1.634.700 words
localize TYPO3




http://www.flickr.com/photos/51035610542@N01/6868716258/ (picture by cszar)
localize TYPO3
TYPO3 configuration
TypoScript setup
TCA configuration
TYPO3-Core methods
Application labels (XLIFF)
Tipps and tricks
Basic setup

Character sets
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8‘

Database connection
$TYPO3_CONF_VARS['SYS']['setDBinit']= ‘
SET CHARACTER SET utf8;
SET NAMES utf8;
SET SESSION character_set_server=utf8‘;

Database field size
$TYPO3_CONF_VARS['SYS']['multiplyDBfieldSize'] = '3';

Filesystem
$TYPO3_CONF_VARS['SYS'][‘UTF8filesystem'] = true;
Setting up languages
Frontend languages




Optional
config.sys_language_softMergeIfNotBlank
config.sys_language_softExclude
Extension development - database setup
Extension development - database setup
Extension development – TCA configuration
Extension development – TCA magic (l10n_mode)




L10n_mode: mergeIfNotBlank, exclude, NoCopy and prefixLangTitle
L10n_display: hideDiff, defaultAsReadonly
L10n_cat: text,media
@see doc_core_tca
Extension development – flexform
                                   disable language handling
                                   in flexform
Frontend development
Frontend development




                       better solution
Frontend development




                       better solution
Frontend development - extbase/fluid
Frontend development - XLIFF




Overriding XLIFF Localization Files
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride][]

Clearing XLIFF-Cache
$TYPO3_CONF_VARS['SYS']['lang']['cache']['clear_menu'] = TRUE;

Parsing XLIFF-Files - TYPO3 4.6
t3lib_l10n_parser_Llxml::getParsedData($sourcePath, $languageKey, $charset = '')
@deprecated
t3lib_div::readLLXMLfile
Tips and tricks

Adding fields from pages to pages_language_overlay
$GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields']

disable translations in list-view
mod.web_list.hideTranslation = * or list of tables

overriding locallang via TypoScript
plugin.[name]._LOCAL_LANG.[ISO2]{
key = value
}

Hide pages if no translation exists
$GLOBALS['TYPO3_CONF_VARS']['FE'][‚hidePagesIfNotTranslatedByDefault'] =
boolean
Tips and tricks

Useful methods
$GLOBALS[‘TSFE’]->sys_page->getRecordOverlay($table, $currentRow,
$sys_language_uid);
$GLOBALS[‘TSFE’]->sys_page->getPageOverlay($row, $sys_language_uid);
t3lib_BEfunc::getRecordLocalization($table, $uid, $sys_language_uid);
t3lib_Befunc::isTableLocalizable($table);
t3lib_transl8tools::getSystemLanguages($page_id);
t3lib_transl8tools::translationInfo($table, $uid, $sys_language_uid);
extensions from TER
 dealing with translation



http://www.flickr.com/photos/41864721@N00/4743121155/ (picture by ecstaticist)
Ext:language visibility

>   multilanguage fallbacks
>   fallback configuration per language
>   visibility concept for single pages, content elements and news
Ext:l10nmgr - overview

>   Online translation via TYPO3 backend
>   Offline translation via XML (DéjàVu, memoQ, SDL TRADOS TagEditor, SDL
    Trados Studio 2009, SDL PASSOLO) and ms Excel format
>   Automation for different parts of the website and for multiple target
    languages
>   CLI-support
>   Up- and downloading exchange-files via FTP
Ext:l10nmgr - configuration
Ext:l10nmgr – online translation
Ext:l10nmgr – offline translation
Ext:snowbabel

Extension translation for content-managers and non-technical backend-users
Promote translations
 to Google



http://www.flickr.com/photos/e2/4650891118/ (picture by eisenrah)
URL structures




http://googlewebmastercentral.blogspot.de/2010/03/working-with-multi-regional-websites.html
Multi-lingual and multi-regional websites

Sitemap
Provide Sitemap in default language

Google ignores “lang” attributes and DTD definitions
<html lang="en-US" class="page-content">

Working with character encodings
Use UTF-8 as encoding




http://support.google.com/webmasters/bin/answer.py?hl=de&answer=139394
Multi-lingual and multi-regional websites

Crawling and indexing your multilingual and multiregional website
> Avoid crawling of automated translations
> Provide cross-links between the different languages
> Avoid automatic redirections based on the user’s perceived language
> Don’t use cookies to show translated versions
> Use rel="alternate" hreflang="x" to target other languages or other
   regions
> Use rel= "canoncial" href="x" to point to the main language
   – Canoncial en_US >> alternate en_GB or en_AU




http://support.google.com/webmasters/bin/answer.py?hl=de&answer=139394
Conclusion
Conclusion

Localization projects are difficult because
› of the complexity
› many people involved into the process
› the knowledge in different knowledge fields



with TYPO3 you have a great , internationalized, software product to succeed

More Related Content

PDF
WP HTTP API
PPT
ZendCon 08 php 5.3
PPT
Perl Intro 6 Ftp
PPT
Synapse india reviews on php website development
PPTX
File management
PPT
Php mysql
PDF
Fluent Development with FLOW3 1.0
PPT
Php File Operations
WP HTTP API
ZendCon 08 php 5.3
Perl Intro 6 Ftp
Synapse india reviews on php website development
File management
Php mysql
Fluent Development with FLOW3 1.0
Php File Operations

What's hot (20)

PDF
Use FLUID templating for your TYPO3 search
PPT
Files and Directories in PHP
DOCX
Php files
PDF
Perl for System Automation - 01 Advanced File Processing
PDF
New Features in PHP 5.3
PPT
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PDF
Php file handling in Hindi
PPTX
PHP Function
PPTX
Files in php
PPTX
File upload php
PDF
PHP file handling
PDF
TYPO3 Extension development using new Extbase framework
KEY
PHP Output Buffering
PPTX
File handling in C
PPT
PHP - Introduction to File Handling with PHP
PPSX
1file handling
PPT
File Upload
PPT
Phpwebdev
PPT
Basic Linux day 1
Use FLUID templating for your TYPO3 search
Files and Directories in PHP
Php files
Perl for System Automation - 01 Advanced File Processing
New Features in PHP 5.3
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
Php file handling in Hindi
PHP Function
Files in php
File upload php
PHP file handling
TYPO3 Extension development using new Extbase framework
PHP Output Buffering
File handling in C
PHP - Introduction to File Handling with PHP
1file handling
File Upload
Phpwebdev
Basic Linux day 1
Ad

Similar to Internationalization with TYPO3 (20)

PDF
What's new in TYPO3 6.2 LTS - #certiFUNcation Alumni Event 05.06.2015
PDF
Pratik Patel: Titanium as Platform: Feature-Rich, Database-Driven Mobile Apps
PPTX
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
PDF
Data localization and translation
PPTX
Terraform modules restructured
PPTX
Terraform Modules Restructured
PDF
TensorFlow.Data 및 TensorFlow Hub
PPT
Mainframe Technology Overview
PDF
Building websites with TYPO3 Neos
PPTX
Data Localization and Translation
ODP
PPT
C:\Users\User\Desktop\Eclipse Infocenter
PDF
Tml for Laravel
PDF
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
PDF
Michael Hall [InfluxData] | Become an InfluxDB Pro in 20 Minutes | InfluxDays...
PDF
Patterns and Tools for Database Versioning, Migration, Data Loading and Test ...
PDF
Little Gems in TYPO3 v12
PDF
Streaming Inference with Apache Beam and TFX
PPT
Google Cluster Innards
DOC
amar_resume
What's new in TYPO3 6.2 LTS - #certiFUNcation Alumni Event 05.06.2015
Pratik Patel: Titanium as Platform: Feature-Rich, Database-Driven Mobile Apps
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Data localization and translation
Terraform modules restructured
Terraform Modules Restructured
TensorFlow.Data 및 TensorFlow Hub
Mainframe Technology Overview
Building websites with TYPO3 Neos
Data Localization and Translation
C:\Users\User\Desktop\Eclipse Infocenter
Tml for Laravel
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
Michael Hall [InfluxData] | Become an InfluxDB Pro in 20 Minutes | InfluxDays...
Patterns and Tools for Database Versioning, Migration, Data Loading and Test ...
Little Gems in TYPO3 v12
Streaming Inference with Apache Beam and TFX
Google Cluster Innards
amar_resume
Ad

Recently uploaded (20)

PPTX
1. Introduction to Computer Programming.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Getting Started with Data Integration: FME Form 101
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Machine Learning_overview_presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
1. Introduction to Computer Programming.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Assigned Numbers - 2025 - Bluetooth® Document
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Approach and Philosophy of On baking technology
Mushroom cultivation and it's methods.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Empathic Computing: Creating Shared Understanding
Heart disease approach using modified random forest and particle swarm optimi...
MIND Revenue Release Quarter 2 2025 Press Release
SOPHOS-XG Firewall Administrator PPT.pptx
Programs and apps: productivity, graphics, security and other tools
Getting Started with Data Integration: FME Form 101
Building Integrated photovoltaic BIPV_UPV.pdf
A comparative study of natural language inference in Swahili using monolingua...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine Learning_overview_presentation.pptx
Unlocking AI with Model Context Protocol (MCP)

Internationalization with TYPO3