babel and beyond - professional multilingual solutions with drupal
TRANSCRIPT
About WunderkrautWunderkraut is...
Drupal Service Provider, Munich, Germany
Drupal-Expertise, Consulting, Training, Implementation
Customers in Europe and USA
Multiple years of doing Drupal
→ wunderkraut.comPresenting today:
Reinhard GloggengiesserFlorian Lorétan
I – Introduction >
I – Introduction >
Babel and Beyond:Building
multilingual websites
with Drupal
I – Introduction >
Agenda
• Principles of multilingual sites
• Questions to ask yourself
• The most important modules
• Language detection and selection
• Integration with external tools and services
• Outlook for Drupal 8
What is a multilingual site?
A site in a different language than english?
A site with its interface in multiple languages?
A site with content in multiple languages?
A site with different content for each language or translated content?
A mixture of all of the above?
I – Introduction >
A foreign language siteI – Introduction >
Just one language for site visitors
Interface, messages etc. need to be translated
Interface in different languagesI – Introduction >
Content stays mostly the same
Navigation, info-blocks, important buttons are translated
Suitable for cases where you want to offer at least *some* internationalization.
Different content in multiple languagesI – Introduction >
Content is different depending on the selected language
Switching between languages changes the interface as well
Suitable for cases where you offer highly individual content to different audiences.
Translated content in multiple languagesI – Introduction >
Content is the same no matter what is the selected language
Switching between languages changes the interface as well
Suitable for cases where you have ample resources to translate all your content.
Question to ask yourself
What resources do you have for doing translations?
Shall untranslated content be visible?
Do languages correlate to regions?
Who will translate?
What will be the default language of the site?
How will language affect the design of the site?
I – Introduction >
The most important modulesII – Techniques >
Drupal Core
Locale
Content translation
Contributed
I18n (Internationalization)
Entity translation
Localization update
Translation overview
Localization client
Translating interface textsII – Techniques >
Locale module
Manually import, edit and export interface translations
Search all translatable strings
Filter by language and status
Drupal 6 and 7
Translating interface textsII – Techniques >
Localization update
Download and update current translations of Drupal core and contributed modules
From localize.drupal.org
Select update strategy
http://drupal.org/project/l10n_update
Drupal 6 and 7
Translating interface textsII – Techniques >
Localization client
Change and save translations for interface strings right from the page
No need to enter admin interface
http://drupal.org/project/l10n_client
Drupal 6 and 7
Translating contentII – Techniques >
Translating contentII – Techniques >
Settings per content type
Different methods for different content types are possible.
Translating contentII – Techniques >
Node translation
Content translation module (Drupal core)
New node for each translation
Nodes are mapped together
Translating contentII – Techniques >
Field level translation
Entity translation module (drupal.org/project/entity_translation)
Translation of fields instead of nodes
Fields are translatable in core
$node->field_body['en'][0]['value']
Field level translationII – Techniques >
Works for:
Nodes
Taxonomy terms
Users
Comments
...
Field level translationII – Techniques >
Translatability:
Can be translated:
All fields
Additional per-translation metadata
Can‘t be translated:
Author
Promoted
Creation and modification date
Title...
Field level translationII – Techniques >
Title module:
$node->title
$term->name
$term->description $node->field_title
$term->field_name
$term->field_description
Field level translationII – Techniques >
Language fallback
Language detectionII – Techniques >
By URL example.com/de, /en, /fr ...
example.de, example.com, example.fr
de.example.com, fr.example.com
From session
User preference
Browser setting
Freely sortable!
Translations from drupal.orgIII – Using external tools >
localize.drupal.org
Translations for Drupal core, modules, and themes
Everyone can participate!
Source for translations via http://drupal.org/project/l10n_update
Drupal 5, 6 and 7
Translation ManagementIII – Using external tools >
Drupal.org/project/translation_management
Provides integration with external translation memories
Icanlocalize.com
Provides dashboard for translations
Drupal 6 and 7
Translation Management ToolIII – Using external tools >
drupal.org/project/tmgmt
Different module!
Pluggable architecture for integrating various backends
Google translate (machine)
Bing translator (machine) Nativy (human) MyGengo (human) Supertext (human) One hour translation
(human)
Drupal 7 only
The future of multilanguage in Drupal
Multilanguage in Drupal 7:
Lots of different modules
Overlapping functionality
Multilanguage in Drupal 8
Interface and content translation built into core
Cleanup of functionality
III – Outlook >