Upload
josereyero
View
1.416
Download
0
Embed Size (px)
Citation preview
Drupal 7+ i18n module
http://reyero.net
Brussels Dev Days - February, 2011
Jose A. Reyero
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Drupal 5
Language Management
Language Negotiation
Localization
Configurable Strings
Content Taxonomy
Variables
Path aliases
Menu items Blocks
Translations E-mails
Profiles
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Drupal 6
Language Management
Language Negotiation
Localization
Configurable Strings
Content Taxonomy
Variables
Path aliases
Menu items Blocks
Translations E-mails
Profiles
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Drupal 7
Language Management
Language Negotiation
Localization
Configurable Strings
Content Taxonomy
Variables
Path aliases
Menu items Blocks
Translations E-mails
Profiles
Fields
Entities
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Drupal 7
Language Management
Language Negotiation
Localization
Configurable Strings
Variables
Path aliases
Menu items Blocks
Translations E-mails
Fields Entities
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
i18n for Drupal 7
● Use new core features – Entities, Fields– New DB API (Query alter)– Page rendering
● Work with other modules: Translation● Simplify. Reuse.
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
i18n for Drupal 7
This is an API module,
not a Multilingual Solution.
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
API module / Solution
● Building blocks ● Modular features● No assumptions!
● Site specific.● Worflow● Who translates
what, how?
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Rosetta Stone, 193 B.C
3 languages, 100% translated
Adrian Rossouw: “Drupal Teddy Bear”, http://developmentseed.org
Modules and APIs
Adrian Rossouw: “Drupal Teddy Bear”, http://developmentseed.org
to build Solutions.
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Solutions
● Translation Management● Custom, built with i18n + …● Multilingual install profile?
http://drupal.org/project/drupali18n
The translation puzzle
Or how to build a multilingual solution
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Toolset
Variable translationString translation
Translation setContent Selection
Field translation
WorkflowUI
i18n
translation
other
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Multilingualmenus?
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Menu items
● Added language field● Visibility depends on language● User defined items are translated
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Multilingual Blocks
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Blocks
● Set language to blocks● Per language visibility● Translatable blocks
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Multilingual Taxonomy?
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Taxonomy
● Per vocabulary options:– Multilingual– Translatable
● Terms can be:– Localizable (strings)– Multilingual (translation set)
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
User defined Strings
Multilingual Scrabble http://flickr.com/photos/urbanmkr/354776635/
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Translate interface
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
String translation
● Using same UI as Locale● Textgroups (import, export)● Localization server ?
i18n_string($name, $string, $options)– $name = 'menu:item:1:title'
– $name = 'taxonomy:term:1:name'
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
String translation (Security)
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Synchronization
● Configurable per content type● Using Fields
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Language selection
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Variable translation
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Variable modulehttp://drupal.org/project/variable
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
User profiles
Hey, profiles are Fields now!
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Views?
http://drupal.org/project/i18n_views
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
#1
i18n is an API module,
not a Multilingual Solution.
http://drupal.org/project/i18n
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Module developers:
Please declare your variables!
http://drupal.org/project/variable
#2
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Thank you
Thank you Danku Merci дякую Arigato
Takk Gratia tibi ago Graciñas Jag tackar
Hvala आभारी हुँ Dankon Tänan teid
Eskerrik asko Juspajaraña благодаря
Gracias ขอบคุณ Danke Obrigado Gràcies
Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
Jose A. Reyero
http://reyero.net
@josereyero