SlideShare a Scribd company logo
INTERNATIONALIZATION
        ¿Como?!
TOPICS
modules
initial configurations
what are language negotiations
translating nodes
translating blocks
translating taxonomy
translating menus
translating views
multilingual variables
Using Translations Overview
Using Translation Interface
Modules
i18n (Internationalization)
http://drupal.org/project/i18n

Translation Overview
http://drupal.org/project/translation_overview
Initial Configurations
ADMIN/SETTINGS/LANGUAGE/




Hear me talk... demo maybe?
Language Negotiations
THE GATEKEEPER


       Global
•
 none (user configurable)
•
 path
•
 kills pathauto if you aren't careful (stay far away from this option)
•
 path prefix with language fallback (total confusion)
•
 path --> user configured (from account page) --> browser's default
     language --> default site language (which means a mess of
     untranslated data)
•
 domain
•
 clean

Node

   determined by selected language on node/edit page; language neutral shows on ALL
    PAGES

Blocks/Menus/Taxonomy

   will show only on specified page
       will default to default language, or rather, the current admin language
       *** even if you declare an item to be spanish, 'translation interface' will consider it english
       because that was your current admin language!! ****
Translating Nodes
per content-type enable support under 'Workflow
   Settings'
 by default, all existing nodes in this content type will
 be 'language neutral', meaning they will appear in ALL
 LANGUAGES
Change any nodes to being a specified language
 this will allow for the "translate" tab, as well as
 "translation overview" to manage translations
When Translating, a copy of the default text will occupy
the fields, (even CCK!), now you can replace them
Translating Blocks
user created blocks

 options for:

 language specific

 All languages (with translations)
module created blocks

 no translations :(
views created blocks

 no translations :(
there's a patch!
http://drupal.org/files/issues/i18n-541048-chaps2_0.patch
Translating Menus
user created menu items

 negotiations are determined by the node in which it links
  to

 external links do not contain language negotiations, so
  they will appear everywhere!
   requires work around!

node generated menu items

 negotiation is based on node language, then global
  settings
view generated menu items

 can be assigned to specified menu, they can be
  translated, however, they will appear on every language!!
    requires work around

Work around...

 multilingual variables
Translating Taxonomy
Same as blocks, kindof...

configure taxonomy kinda like creating related
terms
Multilingual Variables
SETTINGS.PHP
$conf['i18n_variables'] = array(
   // Site name, slogan, mission, etc..
 'site_name',
   // 'site_slogan',
   // 'site_mission',
   // 'site_footer',
   // 'anonymous',
   // Different front page for each language
   // 'site_frontpage',
   // Primary and secondary links
 'menu_primary_links_source',
   // 'menu_secondary_links_source',
   // Contact form information
   // 'contact_form_information',
);
MORE ON VARIABLES

Any variables declared here will override whatever is in the variables
table
You will notice on the admin fields there will be a
disclaimer stating that "THIS IS A MULTILINGUAL
VARIABLE' warning you that it will be assigned only to the
currently logged in language
Translating Views
works with an i18n filter
  this means you don't have to declare your
  nodes to be a specified language if they are
  only intended to be displayed in a view
depends on every other language
negotiation

 examples:

 nodes displayed by a view through a block

 node must be enabled, blocks must be
    enabled, view must have language filter
    (otherwise you will get duplicates)
Using
Translation Overview
Only works with nodes... demo?
Using
Translation Interface
works only with taxonomy, menus, blocks, and views
Search will help track down all title and body (for blocks) (with
the condition that they are set to "ALL LANGUAGES WITH
TRANSLATIONS"
  notice that the untranslated language is crossed out?

 these translations are stored on the database

 Export/Import

 export all translations

 export .po files and edit them on any PO editor

     POedit /multi-platform

 Stay away from REFRESH, only bad things will happen!
Drupal Internationalization

More Related Content

DOC
Creating a multilingual site in Joomla 3 (Joomla 3 Beginner's Guide)
PDF
Building Multilingual Websites Using Joomla
PDF
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
PDF
Multilingual WordPress (WordCamp Toronto 2014)
PDF
La cultura d'Eivissa i Formentera a l'educació
KEY
Field api
PPT
Articulación Plástica
PDF
Theming views
Creating a multilingual site in Joomla 3 (Joomla 3 Beginner's Guide)
Building Multilingual Websites Using Joomla
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
Multilingual WordPress (WordCamp Toronto 2014)
La cultura d'Eivissa i Formentera a l'educació
Field api
Articulación Plástica
Theming views

Similar to Drupal Internationalization (20)

PPTX
Drupalcamp Atlanta 2010 Internationalization Presentation
PDF
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
KEY
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
PDF
Multilingual Drupal presentation from "Do it With Drupal"
PDF
Multilingual Drupal
PDF
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
PPTX
Building Multilingual Sites in Drupal 7 by Yoni Steingiesser
PPTX
Multi lingual implementations – drupal design approaches for different scenar...
PPT
Babel and Beyond - Professional Multilingual Solutions with Drupal
PDF
Drupal 7 multilingual strategy
PDF
Drupal 8 Multilingual - what to look forward to
PDF
Managing Translation Workflows in Drupal 7
ODP
Multilingual drupal 7
PPTX
Multilingual website in Drupal 8
PPT
AWTW - Automated Web Translation Workflow
PDF
Barcelona Multilanguage
PDF
Everything multilingual in Drupal 8 (2015 November)
PPTX
Does your website speak Chinese?
PDF
All the language support in Drupal 8 - At Drupalaton 2014
PPTX
Does your website speak Chinese?
Drupalcamp Atlanta 2010 Internationalization Presentation
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
Building Multilingual Sites in Drupal 7 by Yoni Steingiesser
Multi lingual implementations – drupal design approaches for different scenar...
Babel and Beyond - Professional Multilingual Solutions with Drupal
Drupal 7 multilingual strategy
Drupal 8 Multilingual - what to look forward to
Managing Translation Workflows in Drupal 7
Multilingual drupal 7
Multilingual website in Drupal 8
AWTW - Automated Web Translation Workflow
Barcelona Multilanguage
Everything multilingual in Drupal 8 (2015 November)
Does your website speak Chinese?
All the language support in Drupal 8 - At Drupalaton 2014
Does your website speak Chinese?
Ad

More from Helior Colorado (7)

PDF
Field formatters
KEY
jQuery+Drupal Optimizations
PDF
Apache Solr
KEY
Rss Feeds
PDF
Web Standards
PDF
The Internet (The Problem With...)
PDF
Using jQuery and CSS to manipulate style and markup
Field formatters
jQuery+Drupal Optimizations
Apache Solr
Rss Feeds
Web Standards
The Internet (The Problem With...)
Using jQuery and CSS to manipulate style and markup
Ad

Recently uploaded (20)

PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Monthly Chronicles - July 2025
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25 Week I
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Mobile App Security Testing_ A Comprehensive Guide.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.

Drupal Internationalization

  • 2. TOPICS modules initial configurations what are language negotiations translating nodes translating blocks translating taxonomy translating menus translating views multilingual variables Using Translations Overview Using Translation Interface
  • 8. THE GATEKEEPER Global • none (user configurable) • path • kills pathauto if you aren't careful (stay far away from this option) • path prefix with language fallback (total confusion) • path --> user configured (from account page) --> browser's default language --> default site language (which means a mess of untranslated data) • domain • clean Node determined by selected language on node/edit page; language neutral shows on ALL PAGES Blocks/Menus/Taxonomy will show only on specified page will default to default language, or rather, the current admin language *** even if you declare an item to be spanish, 'translation interface' will consider it english because that was your current admin language!! ****
  • 10. per content-type enable support under 'Workflow Settings' by default, all existing nodes in this content type will be 'language neutral', meaning they will appear in ALL LANGUAGES Change any nodes to being a specified language this will allow for the "translate" tab, as well as "translation overview" to manage translations When Translating, a copy of the default text will occupy the fields, (even CCK!), now you can replace them
  • 12. user created blocks options for: language specific All languages (with translations) module created blocks no translations :( views created blocks no translations :( there's a patch! http://drupal.org/files/issues/i18n-541048-chaps2_0.patch
  • 14. user created menu items negotiations are determined by the node in which it links to external links do not contain language negotiations, so they will appear everywhere! requires work around! node generated menu items negotiation is based on node language, then global settings view generated menu items can be assigned to specified menu, they can be translated, however, they will appear on every language!! requires work around Work around... multilingual variables
  • 16. Same as blocks, kindof... configure taxonomy kinda like creating related terms
  • 18. SETTINGS.PHP $conf['i18n_variables'] = array( // Site name, slogan, mission, etc.. 'site_name', // 'site_slogan', // 'site_mission', // 'site_footer', // 'anonymous', // Different front page for each language // 'site_frontpage', // Primary and secondary links 'menu_primary_links_source', // 'menu_secondary_links_source', // Contact form information // 'contact_form_information', );
  • 19. MORE ON VARIABLES Any variables declared here will override whatever is in the variables table You will notice on the admin fields there will be a disclaimer stating that "THIS IS A MULTILINGUAL VARIABLE' warning you that it will be assigned only to the currently logged in language
  • 21. works with an i18n filter this means you don't have to declare your nodes to be a specified language if they are only intended to be displayed in a view depends on every other language negotiation examples: nodes displayed by a view through a block node must be enabled, blocks must be enabled, view must have language filter (otherwise you will get duplicates)
  • 23. Only works with nodes... demo?
  • 25. works only with taxonomy, menus, blocks, and views Search will help track down all title and body (for blocks) (with the condition that they are set to "ALL LANGUAGES WITH TRANSLATIONS" notice that the untranslated language is crossed out? these translations are stored on the database Export/Import export all translations export .po files and edit them on any PO editor POedit /multi-platform Stay away from REFRESH, only bad things will happen!