SlideShare a Scribd company logo
1 of 26
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

Similar to Drupal Internationalization

Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8
Acquia
 

Similar to Drupal Internationalization (20)

Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8
 
Multilingual WordPress With Polylang
Multilingual WordPress With PolylangMultilingual WordPress With Polylang
Multilingual WordPress With Polylang
 
Drupalcamp Atlanta 2010 Internationalization Presentation
Drupalcamp Atlanta 2010 Internationalization PresentationDrupalcamp Atlanta 2010 Internationalization Presentation
Drupalcamp Atlanta 2010 Internationalization Presentation
 
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"
 
Drupal 8 Multilingual - what to look forward to
Drupal 8 Multilingual - what to look forward toDrupal 8 Multilingual - what to look forward to
Drupal 8 Multilingual - what to look forward to
 
Multilingual content with WordPress
Multilingual content with WordPressMultilingual content with WordPress
Multilingual content with WordPress
 
Everything multilingual in Drupal 8 (2015 November)
Everything multilingual in Drupal 8 (2015 November)Everything multilingual in Drupal 8 (2015 November)
Everything multilingual in Drupal 8 (2015 November)
 
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
 
Make Your WordPress Site Multilingual with Polylang
Make Your WordPress Site Multilingual with PolylangMake Your WordPress Site Multilingual with Polylang
Make Your WordPress Site Multilingual with Polylang
 
Malayalam computing
Malayalam computingMalayalam computing
Malayalam computing
 
Multilingualism tutorial : rubedo cms
Multilingualism tutorial : rubedo cmsMultilingualism tutorial : rubedo cms
Multilingualism tutorial : rubedo cms
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout system
 
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp sessionA whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
 
Everything multilingual in Drupal 8
Everything multilingual in Drupal 8Everything multilingual in Drupal 8
Everything multilingual in Drupal 8
 
The Ring programming language version 1.5.2 book - Part 17 of 181
The Ring programming language version 1.5.2 book - Part 17 of 181The Ring programming language version 1.5.2 book - Part 17 of 181
The Ring programming language version 1.5.2 book - Part 17 of 181
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
 
Drupal Translation
Drupal TranslationDrupal Translation
Drupal Translation
 
Drupal Translation
Drupal TranslationDrupal Translation
Drupal Translation
 
Drupal7 multilingual
Drupal7 multilingualDrupal7 multilingual
Drupal7 multilingual
 
All the language support in Drupal 8 - At Drupalaton 2014
All the language support in Drupal 8 - At Drupalaton 2014All the language support in Drupal 8 - At Drupalaton 2014
All the language support in Drupal 8 - At Drupalaton 2014
 

More from Helior Colorado

More from Helior Colorado (7)

Field formatters
Field formattersField formatters
Field formatters
 
jQuery+Drupal Optimizations
jQuery+Drupal OptimizationsjQuery+Drupal Optimizations
jQuery+Drupal Optimizations
 
Apache Solr
Apache SolrApache Solr
Apache Solr
 
Rss Feeds
Rss FeedsRss Feeds
Rss Feeds
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
The Internet (The Problem With...)
The Internet (The Problem With...)The Internet (The Problem With...)
The Internet (The Problem With...)
 
Using jQuery and CSS to manipulate style and markup
Using jQuery and CSS to manipulate style and markupUsing jQuery and CSS to manipulate style and markup
Using jQuery and CSS to manipulate style and markup
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

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!