ÎñţérñåţîöñåļîžåţîöñLocalization and Internationalization using TYPO3                    Alexander Wahl
Agenda>   Challenges in internationalization projects>   localize TYPO3>   extensions from TER dealing with translation>  ...
Company profile - digiparden>   Employees: 15 human beeings , 2 cats>   Location: Schwäbisch Gmünd>   Customers: DAIMLER, ...
Internationalization vs. LocalizationInternationalization> Process of designing a software application to adapt to various...
Challenges in internationalization projectshttp://www.flickr.com/photos/marcelgermain/3840003650/sizes/o/in/photostream/ (...
Challenges in internationalization projects
Localization is a time consuming project19.800 pages      260.000 content objects   15 target languagesExporting content m...
localize TYPO3http://www.flickr.com/photos/51035610542@N01/6868716258/ (picture by cszar)
localize TYPO3TYPO3 configurationTypoScript setupTCA configurationTYPO3-Core methodsApplication labels (XLIFF)Tipps and tr...
Basic setupCharacter sets$TYPO3_CONF_VARS[BE][forceCharset] = utf-8‘Database connection$TYPO3_CONF_VARS[SYS][setDBinit]= ‘...
Setting up languages
Frontend languagesOptionalconfig.sys_language_softMergeIfNotBlankconfig.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 prefixLangTitleL10n_display: ...
Extension development – flexform                                   disable language handling                              ...
Frontend development
Frontend development                       better solution
Frontend development                       better solution
Frontend development - extbase/fluid
Frontend development - XLIFFOverriding XLIFF Localization Files$GLOBALS[TYPO3_CONF_VARS][SYS][locallangXMLOverride][]Clear...
Tips and tricksAdding fields from pages to pages_language_overlay$GLOBALS[TYPO3_CONF_VARS][FE][pageOverlayFields]disable t...
Tips and tricksUseful methods$GLOBALS[‘TSFE’]->sys_page->getRecordOverlay($table, $currentRow,$sys_language_uid);$GLOBALS[...
extensions from TER dealing with translationhttp://www.flickr.com/photos/41864721@N00/4743121155/ (picture by ecstaticist)
Ext:language visibility>   multilanguage fallbacks>   fallback configuration per language>   visibility concept for single...
Ext:l10nmgr - overview>   Online translation via TYPO3 backend>   Offline translation via XML (DéjàVu, memoQ, SDL TRADOS T...
Ext:l10nmgr - configuration
Ext:l10nmgr – online translation
Ext:l10nmgr – offline translation
Ext:snowbabelExtension translation for content-managers and non-technical backend-users
Promote translations to Googlehttp://www.flickr.com/photos/e2/4650891118/ (picture by eisenrah)
URL structureshttp://googlewebmastercentral.blogspot.de/2010/03/working-with-multi-regional-websites.html
Multi-lingual and multi-regional websitesSitemapProvide Sitemap in default languageGoogle ignores “lang” attributes and DT...
Multi-lingual and multi-regional websitesCrawling and indexing your multilingual and multiregional website> Avoid crawling...
Conclusion
ConclusionLocalization projects are difficult because› of the complexity› many people involved into the process› the knowl...
Upcoming SlideShare
Loading in …5
×

Internationalization with TYPO3

5,880 views

Published on

Slides from Alexanders presentation during the TYPO3 developer days 2012 (T3DD12) in Munich.

Published in: Technology, Business
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total views
5,880
On SlideShare
0
From Embeds
0
Number of Embeds
376
Actions
Shares
0
Downloads
0
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Internationalization with TYPO3

  1. 1. ÎñţérñåţîöñåļîžåţîöñLocalization and Internationalization using TYPO3 Alexander Wahl
  2. 2. Agenda> Challenges in internationalization projects> localize TYPO3> extensions from TER dealing with translation> promote your translations to Google
  3. 3. 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
  4. 4. Internationalization vs. LocalizationInternationalization> 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.)
  5. 5. Challenges in internationalization projectshttp://www.flickr.com/photos/marcelgermain/3840003650/sizes/o/in/photostream/ (picture by Marcel Germanin)
  6. 6. Challenges in internationalization projects
  7. 7. Localization is a time consuming project19.800 pages 260.000 content objects 15 target languagesExporting content manually1 month, 2 weeks, 3 days and 3 hoursImporting content manually1 year, 3 months, 3 days and 6 hoursapprox. 1.634.700 words
  8. 8. localize TYPO3http://www.flickr.com/photos/51035610542@N01/6868716258/ (picture by cszar)
  9. 9. localize TYPO3TYPO3 configurationTypoScript setupTCA configurationTYPO3-Core methodsApplication labels (XLIFF)Tipps and tricks
  10. 10. Basic setupCharacter 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;
  11. 11. Setting up languages
  12. 12. Frontend languagesOptionalconfig.sys_language_softMergeIfNotBlankconfig.sys_language_softExclude
  13. 13. Extension development - database setup
  14. 14. Extension development - database setup
  15. 15. Extension development – TCA configuration
  16. 16. Extension development – TCA magic (l10n_mode)L10n_mode: mergeIfNotBlank, exclude, NoCopy and prefixLangTitleL10n_display: hideDiff, defaultAsReadonlyL10n_cat: text,media@see doc_core_tca
  17. 17. Extension development – flexform disable language handling in flexform
  18. 18. Frontend development
  19. 19. Frontend development better solution
  20. 20. Frontend development better solution
  21. 21. Frontend development - extbase/fluid
  22. 22. Frontend development - XLIFFOverriding 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.6t3lib_l10n_parser_Llxml::getParsedData($sourcePath, $languageKey, $charset = )@deprecatedt3lib_div::readLLXMLfile
  23. 23. Tips and tricksAdding fields from pages to pages_language_overlay$GLOBALS[TYPO3_CONF_VARS][FE][pageOverlayFields]disable translations in list-viewmod.web_list.hideTranslation = * or list of tablesoverriding locallang via TypoScriptplugin.[name]._LOCAL_LANG.[ISO2]{key = value}Hide pages if no translation exists$GLOBALS[TYPO3_CONF_VARS][FE][‚hidePagesIfNotTranslatedByDefault] =boolean
  24. 24. Tips and tricksUseful 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);
  25. 25. extensions from TER dealing with translationhttp://www.flickr.com/photos/41864721@N00/4743121155/ (picture by ecstaticist)
  26. 26. Ext:language visibility> multilanguage fallbacks> fallback configuration per language> visibility concept for single pages, content elements and news
  27. 27. 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
  28. 28. Ext:l10nmgr - configuration
  29. 29. Ext:l10nmgr – online translation
  30. 30. Ext:l10nmgr – offline translation
  31. 31. Ext:snowbabelExtension translation for content-managers and non-technical backend-users
  32. 32. Promote translations to Googlehttp://www.flickr.com/photos/e2/4650891118/ (picture by eisenrah)
  33. 33. URL structureshttp://googlewebmastercentral.blogspot.de/2010/03/working-with-multi-regional-websites.html
  34. 34. Multi-lingual and multi-regional websitesSitemapProvide Sitemap in default languageGoogle ignores “lang” attributes and DTD definitions<html lang="en-US" class="page-content">Working with character encodingsUse UTF-8 as encodinghttp://support.google.com/webmasters/bin/answer.py?hl=de&answer=139394
  35. 35. Multi-lingual and multi-regional websitesCrawling 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_AUhttp://support.google.com/webmasters/bin/answer.py?hl=de&answer=139394
  36. 36. Conclusion
  37. 37. ConclusionLocalization projects are difficult because› of the complexity› many people involved into the process› the knowledge in different knowledge fieldswith TYPO3 you have a great , internationalized, software product to succeed

×