SlideShare a Scribd company logo
Multilingual Drupal
    from 5 to 6
        Gábor Hojtsy
    September 19., 2007.
About me

• Working with Open Source since 1999,
  was head of PHP.net and the PHP
  documentation
• Developing with Drupal since 2003,
  multiple contributed modules,
  Hungarian translations

• Drupal 6 core committer
About you


• Experienced Drupal site builders?
• Who deals with multilingual issues?
• Knowledge in both areas?
Concepts
Your target audience
• A multilingual web site is available
  in multiple languages. It is not
  necessarily an international one.

• An international web site is intended
  to be used internationally. It is not
  necessarily a multilingual one.
Two terms


Internationalization (i18n) is the
design and development of a product,
application or document content that
enables easy localization for target
groups that vary in culture, region or
language (locale).
Two terms


Localization (L10n) is the adaptation
of a product, application or document
content to meet the language, cultural
and other requirements of a specific
target market (locale).
Confusions

   i18n                 L10n



multilingual       international
Drupal
Drupal “by design”
• There is the built in interface, which
  is always served from code

• You provide everything else (posts,
  menu items, admin defined blocks,
  and so on)
Famous issues
๏ Default content type names
  are not translated

๏ Built-in, but modified menu
  items are neither

๏ The “Forums” vocabulary title
  is not translated
Drupal 5
Built into Drupal 5

• Translatable installer
• Basic interface language
  list setup

• Runtime interface
  translation with per user
  preferences
How does it work?

• GNU gettext backend and format used
• Translation templates extracted from
  source code

• CVS used to store/release translations
• User imports translation files in
  Drupal (which stores them in the DB)
Recognize the source

• t(‘Go to %page’, array(‘%page’ => $p));
• format_plural($count, ‘1 year’,
  ‘@count years’);
• Several special cases: permissions,
  watchdog type names, and so on
Contributed modules


• Autolocale / localized profile
• Internationalization module suite
• Localizer module suite
• XLIFF tools
Computer Aided
  Translation
Outside Drupal

• Content translation works in Drupal
• But professionals use different tools
  • Translation memories
  • Automated translation
  • Professional content review
CAT workflow
Drupal implementation
Demo
Drupal 6
Drupal 6 goes forward!

• New language subsystem
• Easy interface translation import
• Performance optimizations
• Content translation
• Textgroups API
Drupal 6 architecture



                            This was not
                        ready on time, so it
                          is not included.
Languages!

• English and native language names
• Writing direction (LTR or RTL)
• Weights
• Path prefix and subdomain setup and
  recognition
Right to left themes
• All CSS file additions are
  intercepted and RTL cascade files
  are searched for

• Most core themes have RTL
  support, full support expected in
  final release
Language detection


• Based on the IRI (domain, path)
• User preferences
• Browser settings
• Falls back on site default
Automated import

• Friendlier translation package format
• Batch API for tasks to run in multiple
  HTTP requests
• Install time import of interface
  translations
• Module/theme changes result in
  translation imports
Translatable JavaScript

• Drupal.t() and Drupal.formatPlural()
  to translate strings in JavaScript

• Works with on the fly string collection
  or preprocessing

• Also brings simple theming to
  JavaScript
Text groups API


• Multiple text groups possible to
  translate user defined content
• This remains a programming API for
  Drupal 6, not used in the core system
On-page interface
        translation

• Ability to collect all strings used to
  build the page

• Try localization client module for
  Drupal 6!

• Also useful for by-site optimization
Content language
• Any post can have a language
  associated, or can be neutral
• This is configurable per
  content type
• Does not mean content
  translation
Content translation

• Posts can be associated with each
  other, organized into translation sets

• Basic workflow supported to check for
  outdated translations

• Translation links, language switcher
  block

• Simple API for content/field types
Per-language aliases

• Path aliases can be language
  dependent
• Still fall back to default alias, if no
  specific alias defined
• Examples: ‘home’, ‘honlap’, ‘inicio’
Lower level changes

• Multilingual request
  handling made possible
• Emails are sent in the
  language of the user targeted
  (API also changed a lot)

• Log messages are stored in
  English, localized on display
More for hard-core people


 • Modify some site interface strings by
   adding an array to settings.php
 • No need for locale module, could be
   used to customize English sites
Still no way to translate
• Site settings
• Categories
• User defined menus
• Aggregator categories
• Profile field titles and category names
• Content type properties
Contributed modules


• i18n and localizer is here to stay
• Many more contributed modules
  can/should use the enhancements
And still...


There is a lot more to
  love in Drupal 6
  (You will hear about these a lot)
New kid on the block
Localization server

• Making interface translation for
  language groups a lot easier
• We are moving from CVS and project
  management to a web application
• Translation sharing, support for the
  new packaging format

• My presentation: 14h, Sun room
Try Drupal 6!

• Drupal 6 beta 1:
  http://drupal.org/drupal-6.0-beta1
• Nightly development snapshot:
  http://drupal.org/node/97368
• Report bugs at http://drupal.org/
  node/add/project_issue/drupal/bug
Read the thesis
• http://hojtsy.hu/files/
  GaborHojtsyThesis.pdf
• A summary of i18n related problems
• How Drupal 5, Joomla 1.0, TYPO3 4.1
  and Plone approach these problems

• Planning of the Drupal 6 solutions
• Not everything ended up implemented
  as documented there
Sponsored by


• Development Seed (infrastructure,
  Jose A. Reyero)
• Google Summer of Code (localization
  tools for Drupal 6)
Thanks!


All photos included made by myself in
Hungary, Bonn and Sankt Augustin.

More Related Content

What's hot

Reintroducing Web Technology
Reintroducing Web TechnologyReintroducing Web Technology
Reintroducing Web Technology
Isriya Paireepairit
 
Database software
Database softwareDatabase software
Database software
Aminul Islam
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPress
Matt Smith
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
Sasi Kumar
 
Claroline Traduction
Claroline TraductionClaroline Traduction
Claroline Traduction
Claroline
 
SEO for multilingual websites
SEO for multilingual websitesSEO for multilingual websites
SEO for multilingual websites
LingoHub
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
Amal Mohan N
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for ruby
LingoHub
 
Everything multilingual in Drupal 8
Everything multilingual in Drupal 8Everything multilingual in Drupal 8
Everything multilingual in Drupal 8
Gábor Hojtsy
 
QBASIC
QBASICQBASIC
QBASICnivi88
 
J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Touroscon2007
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
Gh-Mohammed Eldadah
 
Unit 1-introduction to scripts
Unit 1-introduction to scriptsUnit 1-introduction to scripts
Unit 1-introduction to scripts
sana mateen
 
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
Gábor Hojtsy
 
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)
Gábor Hojtsy
 
Php
PhpPhp
What is PHP?
What is PHP?What is PHP?
What is PHP?
audreys9327
 
Google Go! language
Google Go! languageGoogle Go! language
Google Go! language
André Mayer
 
Go Lang
Go LangGo Lang

What's hot (20)

Reintroducing Web Technology
Reintroducing Web TechnologyReintroducing Web Technology
Reintroducing Web Technology
 
Database software
Database softwareDatabase software
Database software
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPress
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
Claroline Traduction
Claroline TraductionClaroline Traduction
Claroline Traduction
 
SEO for multilingual websites
SEO for multilingual websitesSEO for multilingual websites
SEO for multilingual websites
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for ruby
 
Everything multilingual in Drupal 8
Everything multilingual in Drupal 8Everything multilingual in Drupal 8
Everything multilingual in Drupal 8
 
QBASIC
QBASICQBASIC
QBASIC
 
J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Tour
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
Unit 1-introduction to scripts
Unit 1-introduction to scriptsUnit 1-introduction to scripts
Unit 1-introduction to scripts
 
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
 
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)
 
Php
PhpPhp
Php
 
[submission] Final_Presentation
[submission] Final_Presentation[submission] Final_Presentation
[submission] Final_Presentation
 
What is PHP?
What is PHP?What is PHP?
What is PHP?
 
Google Go! language
Google Go! languageGoogle Go! language
Google Go! language
 
Go Lang
Go LangGo Lang
Go Lang
 

Viewers also liked

Drupal 6 Theming
Drupal 6 ThemingDrupal 6 Theming
Drupal 6 Theming
merlinofchaos
 
Mobile-izing Your Organization with Drupal: Acquia webinar
Mobile-izing Your Organization with Drupal: Acquia webinarMobile-izing Your Organization with Drupal: Acquia webinar
Mobile-izing Your Organization with Drupal: Acquia webinar
Tom Deryckere
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
Dipen Chaudhary
 
09 FóRky SáZka
09  FóRky  SáZka09  FóRky  SáZka
09 FóRky SáZkajedlickak07
 
Workstyles e Netstyles Sostenibili e Competitivi
Workstyles e Netstyles Sostenibili e CompetitiviWorkstyles e Netstyles Sostenibili e Competitivi
Workstyles e Netstyles Sostenibili e Competitivi
jexxon
 
09 FóRky ČIšTěNí Monitoru
09  FóRky ČIšTěNí Monitoru09  FóRky ČIšTěNí Monitoru
09 FóRky ČIšTěNí Monitorujedlickak07
 
No Es Mentira
No Es MentiraNo Es Mentira
AVANET Seminar - Digitale Collectie Nederland & EUscreen
AVANET Seminar - Digitale Collectie Nederland & EUscreenAVANET Seminar - Digitale Collectie Nederland & EUscreen
AVANET Seminar - Digitale Collectie Nederland & EUscreen
Geert Wissink
 
Droog Showroom Design - final version
Droog Showroom Design - final versionDroog Showroom Design - final version
Droog Showroom Design - final versionjin.fan
 
Sales Management For Extreme Sales Results
Sales Management For Extreme Sales ResultsSales Management For Extreme Sales Results
Sales Management For Extreme Sales ResultsCallidus Software
 
Web 2.0: How Emerging Non-Institutions Organize Knowledge
Web 2.0: How Emerging Non-Institutions Organize KnowledgeWeb 2.0: How Emerging Non-Institutions Organize Knowledge
Web 2.0: How Emerging Non-Institutions Organize Knowledge
jexxon
 
120406 aiesec presentation
120406 aiesec presentation120406 aiesec presentation
120406 aiesec presentation
Haishuo's Learning Studio
 
The Promise of Authority in Social Scholarship
The Promise of Authority in Social ScholarshipThe Promise of Authority in Social Scholarship
The Promise of Authority in Social Scholarship
lcohen
 
Hbd, Llc. Master Profile
Hbd, Llc.   Master ProfileHbd, Llc.   Master Profile
Hbd, Llc. Master Profile
tmcs1959
 
Marco Tullio Giordano, Digital Identity - part3
Marco Tullio Giordano, Digital Identity - part3Marco Tullio Giordano, Digital Identity - part3
Marco Tullio Giordano, Digital Identity - part3Andrea Rossetti
 
Vidusign presentation Slovenian
Vidusign presentation SlovenianVidusign presentation Slovenian
Vidusign presentation Slovenian
Joel Josephson
 
Surface Computing
Surface ComputingSurface Computing
Surface Computingrandyp311
 
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab Project
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab ProjectRegional Partnerships for Living Labs: the Case of Sicily and the MedLab Project
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab Project
jexxon
 

Viewers also liked (20)

Drupal 6 Theming
Drupal 6 ThemingDrupal 6 Theming
Drupal 6 Theming
 
Mobile-izing Your Organization with Drupal: Acquia webinar
Mobile-izing Your Organization with Drupal: Acquia webinarMobile-izing Your Organization with Drupal: Acquia webinar
Mobile-izing Your Organization with Drupal: Acquia webinar
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
 
she de franco
she de francoshe de franco
she de franco
 
09 FóRky SáZka
09  FóRky  SáZka09  FóRky  SáZka
09 FóRky SáZka
 
My Test
My TestMy Test
My Test
 
Workstyles e Netstyles Sostenibili e Competitivi
Workstyles e Netstyles Sostenibili e CompetitiviWorkstyles e Netstyles Sostenibili e Competitivi
Workstyles e Netstyles Sostenibili e Competitivi
 
09 FóRky ČIšTěNí Monitoru
09  FóRky ČIšTěNí Monitoru09  FóRky ČIšTěNí Monitoru
09 FóRky ČIšTěNí Monitoru
 
No Es Mentira
No Es MentiraNo Es Mentira
No Es Mentira
 
AVANET Seminar - Digitale Collectie Nederland & EUscreen
AVANET Seminar - Digitale Collectie Nederland & EUscreenAVANET Seminar - Digitale Collectie Nederland & EUscreen
AVANET Seminar - Digitale Collectie Nederland & EUscreen
 
Droog Showroom Design - final version
Droog Showroom Design - final versionDroog Showroom Design - final version
Droog Showroom Design - final version
 
Sales Management For Extreme Sales Results
Sales Management For Extreme Sales ResultsSales Management For Extreme Sales Results
Sales Management For Extreme Sales Results
 
Web 2.0: How Emerging Non-Institutions Organize Knowledge
Web 2.0: How Emerging Non-Institutions Organize KnowledgeWeb 2.0: How Emerging Non-Institutions Organize Knowledge
Web 2.0: How Emerging Non-Institutions Organize Knowledge
 
120406 aiesec presentation
120406 aiesec presentation120406 aiesec presentation
120406 aiesec presentation
 
The Promise of Authority in Social Scholarship
The Promise of Authority in Social ScholarshipThe Promise of Authority in Social Scholarship
The Promise of Authority in Social Scholarship
 
Hbd, Llc. Master Profile
Hbd, Llc.   Master ProfileHbd, Llc.   Master Profile
Hbd, Llc. Master Profile
 
Marco Tullio Giordano, Digital Identity - part3
Marco Tullio Giordano, Digital Identity - part3Marco Tullio Giordano, Digital Identity - part3
Marco Tullio Giordano, Digital Identity - part3
 
Vidusign presentation Slovenian
Vidusign presentation SlovenianVidusign presentation Slovenian
Vidusign presentation Slovenian
 
Surface Computing
Surface ComputingSurface Computing
Surface Computing
 
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab Project
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab ProjectRegional Partnerships for Living Labs: the Case of Sicily and the MedLab Project
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab Project
 

Similar to Barcelona Multilanguage

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"
Gábor Hojtsy
 
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
Scott Abel
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
Combell NV
 
Evergreen Docs Planning Session 2009
Evergreen Docs Planning Session 2009Evergreen Docs Planning Session 2009
Evergreen Docs Planning Session 2009
Evergreen ILS
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
Eugenio Minardi
 
International sites hreflang video slides
International sites hreflang video slidesInternational sites hreflang video slides
International sites hreflang video slidesDmitry Sergiets
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinneydpc
 
Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7
robinpuga
 
International sites hreflang
International sites hreflangInternational sites hreflang
International sites hreflang
Dmitry Sergiets
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
Gil Fink
 
Drupal
DrupalDrupal
Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)
Matt Smith
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1ADARSH BHATT
 
DDAY2014 - Localizing Drupal Commerce
DDAY2014 - Localizing Drupal CommerceDDAY2014 - Localizing Drupal Commerce
DDAY2014 - Localizing Drupal Commerce
DrupalDay
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
Pavan Kalyan
 
Multilingual website in Drupal 8
Multilingual website in Drupal 8Multilingual website in Drupal 8
Multilingual website in Drupal 8
valuebound
 
wcdk - Making your WordPress Multilingual
wcdk - Making your WordPress Multilingualwcdk - Making your WordPress Multilingual
wcdk - Making your WordPress Multilingual
Amit Kvint
 
What is the best programming language for your web product?
What is the best programming language for your web product?What is the best programming language for your web product?
What is the best programming language for your web product?
MobiDev
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
Lars Trieloff
 

Similar to Barcelona Multilanguage (20)

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"
 
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
 
Evergreen Docs Planning Session 2009
Evergreen Docs Planning Session 2009Evergreen Docs Planning Session 2009
Evergreen Docs Planning Session 2009
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
 
International sites hreflang video slides
International sites hreflang video slidesInternational sites hreflang video slides
International sites hreflang video slides
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinney
 
Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7
 
International sites hreflang
International sites hreflangInternational sites hreflang
International sites hreflang
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Drupal
DrupalDrupal
Drupal
 
Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1
 
DDAY2014 - Localizing Drupal Commerce
DDAY2014 - Localizing Drupal CommerceDDAY2014 - Localizing Drupal Commerce
DDAY2014 - Localizing Drupal Commerce
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
 
Multilingual website in Drupal 8
Multilingual website in Drupal 8Multilingual website in Drupal 8
Multilingual website in Drupal 8
 
wcdk - Making your WordPress Multilingual
wcdk - Making your WordPress Multilingualwcdk - Making your WordPress Multilingual
wcdk - Making your WordPress Multilingual
 
What is the best programming language for your web product?
What is the best programming language for your web product?What is the best programming language for your web product?
What is the best programming language for your web product?
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Barcelona Multilanguage

  • 1. Multilingual Drupal from 5 to 6 Gábor Hojtsy September 19., 2007.
  • 2. About me • Working with Open Source since 1999, was head of PHP.net and the PHP documentation • Developing with Drupal since 2003, multiple contributed modules, Hungarian translations • Drupal 6 core committer
  • 3. About you • Experienced Drupal site builders? • Who deals with multilingual issues? • Knowledge in both areas?
  • 5. Your target audience • A multilingual web site is available in multiple languages. It is not necessarily an international one. • An international web site is intended to be used internationally. It is not necessarily a multilingual one.
  • 6. Two terms Internationalization (i18n) is the design and development of a product, application or document content that enables easy localization for target groups that vary in culture, region or language (locale).
  • 7. Two terms Localization (L10n) is the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (locale).
  • 8. Confusions i18n L10n multilingual international
  • 10. Drupal “by design” • There is the built in interface, which is always served from code • You provide everything else (posts, menu items, admin defined blocks, and so on)
  • 11. Famous issues ๏ Default content type names are not translated ๏ Built-in, but modified menu items are neither ๏ The “Forums” vocabulary title is not translated
  • 13. Built into Drupal 5 • Translatable installer • Basic interface language list setup • Runtime interface translation with per user preferences
  • 14. How does it work? • GNU gettext backend and format used • Translation templates extracted from source code • CVS used to store/release translations • User imports translation files in Drupal (which stores them in the DB)
  • 15. Recognize the source • t(‘Go to %page’, array(‘%page’ => $p)); • format_plural($count, ‘1 year’, ‘@count years’); • Several special cases: permissions, watchdog type names, and so on
  • 16. Contributed modules • Autolocale / localized profile • Internationalization module suite • Localizer module suite • XLIFF tools
  • 17. Computer Aided Translation
  • 18. Outside Drupal • Content translation works in Drupal • But professionals use different tools • Translation memories • Automated translation • Professional content review
  • 21. Demo
  • 23. Drupal 6 goes forward! • New language subsystem • Easy interface translation import • Performance optimizations • Content translation • Textgroups API
  • 24. Drupal 6 architecture This was not ready on time, so it is not included.
  • 25. Languages! • English and native language names • Writing direction (LTR or RTL) • Weights • Path prefix and subdomain setup and recognition
  • 26. Right to left themes • All CSS file additions are intercepted and RTL cascade files are searched for • Most core themes have RTL support, full support expected in final release
  • 27. Language detection • Based on the IRI (domain, path) • User preferences • Browser settings • Falls back on site default
  • 28. Automated import • Friendlier translation package format • Batch API for tasks to run in multiple HTTP requests • Install time import of interface translations • Module/theme changes result in translation imports
  • 29. Translatable JavaScript • Drupal.t() and Drupal.formatPlural() to translate strings in JavaScript • Works with on the fly string collection or preprocessing • Also brings simple theming to JavaScript
  • 30. Text groups API • Multiple text groups possible to translate user defined content • This remains a programming API for Drupal 6, not used in the core system
  • 31. On-page interface translation • Ability to collect all strings used to build the page • Try localization client module for Drupal 6! • Also useful for by-site optimization
  • 32. Content language • Any post can have a language associated, or can be neutral • This is configurable per content type • Does not mean content translation
  • 33. Content translation • Posts can be associated with each other, organized into translation sets • Basic workflow supported to check for outdated translations • Translation links, language switcher block • Simple API for content/field types
  • 34. Per-language aliases • Path aliases can be language dependent • Still fall back to default alias, if no specific alias defined • Examples: ‘home’, ‘honlap’, ‘inicio’
  • 35. Lower level changes • Multilingual request handling made possible • Emails are sent in the language of the user targeted (API also changed a lot) • Log messages are stored in English, localized on display
  • 36. More for hard-core people • Modify some site interface strings by adding an array to settings.php • No need for locale module, could be used to customize English sites
  • 37. Still no way to translate • Site settings • Categories • User defined menus • Aggregator categories • Profile field titles and category names • Content type properties
  • 38. Contributed modules • i18n and localizer is here to stay • Many more contributed modules can/should use the enhancements
  • 39. And still... There is a lot more to love in Drupal 6 (You will hear about these a lot)
  • 40. New kid on the block
  • 41. Localization server • Making interface translation for language groups a lot easier • We are moving from CVS and project management to a web application • Translation sharing, support for the new packaging format • My presentation: 14h, Sun room
  • 42. Try Drupal 6! • Drupal 6 beta 1: http://drupal.org/drupal-6.0-beta1 • Nightly development snapshot: http://drupal.org/node/97368 • Report bugs at http://drupal.org/ node/add/project_issue/drupal/bug
  • 43. Read the thesis • http://hojtsy.hu/files/ GaborHojtsyThesis.pdf • A summary of i18n related problems • How Drupal 5, Joomla 1.0, TYPO3 4.1 and Plone approach these problems • Planning of the Drupal 6 solutions • Not everything ended up implemented as documented there
  • 44. Sponsored by • Development Seed (infrastructure, Jose A. Reyero) • Google Summer of Code (localization tools for Drupal 6)
  • 45. Thanks! All photos included made by myself in Hungary, Bonn and Sankt Augustin.