SlideShare a Scribd company logo
Multilingual Drupal 7

    Drupal Camp ZP
About Me
Pavel Makhrinsky
Drupal Developer in Berlingske Media
http://drupal.org/user/773216

•
Multilingual types
• Localized
Single language site
• Multilingual site
Site with different content for different languages
• Multilingual site with translation
Site with translated content
•
Translatable items
                                 Strings
                                 Menus
                                 Content


Variables

                                 Entities
Configuration
• Core modules
    – Locale
    – Content translate
• Custom modules
    – i18n (Internalization)
    – l10n (Localization helper modules)
    – Entity translation
•
•
Language handling
Language detection
User interface translation



Locale
Locale: languages
  admin/config/regional/language
Locale: language detection
   admin/config/regional/language/configure
Locale: string translation
localize.drupal.org
Localization client
Localization server
Localization update

Community translations
localize.drupal.org
Translation update workflow
Language types
• Interface language
          – t()
          – format_plural()
• Content language *
          – Used for Field API
          – Used for content translation
• URL language *
          – l()
•
Not configurable by core
t(), format_plural()
Context



Translating strings
t(): variations
• t()
if your code will never run during the Drupal installation phase
• st()
if your code will only run during installation and never any other
time
• get_t()
if your code could run in either circumstance
t(): calling
Parameters
• $string
• $args
     – @argument – processed via check_plain()
     – %argument – processed via drupal_placeholder()
     – !argument – inserted as is.
• $options
     – context – context for string
     – langcode – language code, default current
         language
t(): examples
format_plural(): parameters
Parameters
• $count
• $singular
• $plural
• $args
      – @argument – processed via check_plain()
      – %argument – processed via drupal_placeholder()
      – !argument – inserted as is.
• $options
      – context – context for string
      – langcode – language code, default current language
format_plural(): russian
• Add configuration to .po file
"Plural-Forms: nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?" "(0):(((((n
%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));"

• Add translation
msgid "1 comment"
msgid_plural "@count comments"
msgstr[0] "@count комментарий"
msgstr[1] "@count комментария"
msgstr[2] "@count[2] комментариев"
format_plural(): examples
Context
• The way to describe string
• Works for
      –    t()
      –    format_plural()
      –    Drupal.t()
      –    Drupal.formatPlural()


             Drupal 6                      Drupal 7
                                               Представления
                  Представления    Views
   Views     ?                                 Просмотры
                  Просмотры
JavaScript
• Drupal.t()
1 // Drupal 7.10+
2 shortMay = Drupal.t('May');
3 longMay = Drupal.t('May', {}, {context: "Long month name"});
4
5 // Drupal 7.9-
6 shortMay = Drupal.t('May');
7 longMay = '.... not possible in JS ....';



• Drupal.formatPlural()
1 var n = 3
2 Drupal.formatPlural(n, '1 comment', '[@count] comments', {},
{context: "Tricky comments"});
Context: examples
Translating nodes
Translating fields

Translating content
Translation types
    Node translation            Field translation


Base                                                       ru
node                                               Title    en
 (ru)
                            Entity                         uk
               Node       (default language)

                (en)                                       ru

                                                   Body     en

Node                    Price              Photo
                                                           uk

 (uk)                   (und)              (und)
Node translation: configuration
                     Modules
• Modules:
     – Locale
     – Content translation
• Additional modules:
     – Internalization
     – Multilingual content
     – Multilingual select
     – Synchronize translations
     – Translation redirect
Node translation: configuration
           Content type
Node translation: configuration
      i18n: Multilingual content
Node translation: translation
Node translation: configuration
       i18n: Multilingual select
Node translation: configuration
       i18n: Multilingual select
Entity translation: configuration
                      Modules
• Modules:
     – Locale
     – Entity translation
• Additional modules:
     – Title
•
Entity translation: configuration
             Settings
Entity translation: configuration
           Node creation
The ways
i18n
Usage of context

Menu
Internalization: Menu translation
Separate menus

  English                                         Russian

                Node                    Node
Node item       (en)                     (ru)    Node item




                            Link
Menu router               (home,                Menu router
   item                default pages)              item
One menu, content translation

Node item    Node item    Menu router
In English   In Russian      item




  Node         Node            Link
  (en)          (ru)         (home,
                          default pages)
One menu, entity translation
       Node item
                       Menu router
        Localized
                          item
    Language neutral



         Node               Link
         (en)             (home,
                       default pages)
Menu: adding context
 1 function multilingual_menu() {
 2   $items = array();
 3
 4   $items['yabadabadu'] = array(
 5      'page callback' => 'multilingual_yabadabadu_page',
 6      'access callback' => TRUE,
 7      'type' => MENU_NORMAL_ITEM,
 8      'menu_name' => 'main-menu',
 9
10      'title' => 'Ya-ba-da-ba-du !test',
11      'title callback' => 'multilingual_title_callback',
12      'title arguments' => array(),
13   );
14
15   return $items;
16 }

1 function multilingual_title_callback() {
2   return t('Overwritten !test',
3            array('!test' => 'ya-ba-da-ba-du'),
4            array('context' => 'Multilingual')
5   );
6 }
Menu: adding context
Blocks
Variables
Field properties

Miscellanious items
Block: Block languages
Variables: Variable translation
Field settings: Field translation
Localization update
Localization client
Translation overview

Useful Modules
Localization update
Localization client
Translation overview
Links
•   http://hojtsy.hu/files/Drupal7TranslationCheatSheetv2.pdf
•   http://hojtsy.hu/multilingual-drupal7
•   http://api.drupal.org/api/drupal/includes!common.inc/group/sanit
•   http://api.drupal.org/api/drupal/modules!field!field.multilingual.in
•
Questions?


  Pavel Makhrinsky
  Skype: gumanista

More Related Content

What's hot

The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09
Bastian Feder
 
Lithium Best
Lithium Best Lithium Best
Lithium Best
Richard McIntyre
 
The IoC Hydra - Dutch PHP Conference 2016
The IoC Hydra - Dutch PHP Conference 2016The IoC Hydra - Dutch PHP Conference 2016
The IoC Hydra - Dutch PHP Conference 2016
Kacper Gunia
 
PHP 5.3 Overview
PHP 5.3 OverviewPHP 5.3 Overview
PHP 5.3 Overview
jsmith92
 
Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3
José Lorenzo Rodríguez Urdaneta
 
Current state-of-php
Current state-of-phpCurrent state-of-php
Current state-of-php
Richard McIntyre
 
Quebec pdo
Quebec pdoQuebec pdo
Quebec pdo
Valentine Dianov
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5
Leonardo Proietti
 
Php course-in-navimumbai
Php course-in-navimumbaiPhp course-in-navimumbai
Php course-in-navimumbai
vibrantuser
 
Introduction to the Pods JSON API
Introduction to the Pods JSON APIIntroduction to the Pods JSON API
Introduction to the Pods JSON API
podsframework
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2
Hugo Hamon
 
Declarative Internal DSLs in Lua: A Game Changing Experience
Declarative Internal DSLs in Lua: A Game Changing ExperienceDeclarative Internal DSLs in Lua: A Game Changing Experience
Declarative Internal DSLs in Lua: A Game Changing Experience
Alexander Gladysh
 
Rich Model And Layered Architecture in SF2 Application
Rich Model And Layered Architecture in SF2 ApplicationRich Model And Layered Architecture in SF2 Application
Rich Model And Layered Architecture in SF2 Application
Kirill Chebunin
 
Apache Velocity 1.6
Apache Velocity 1.6Apache Velocity 1.6
Apache Velocity 1.6
Henning Schmiedehausen
 
Doctrine fixtures
Doctrine fixturesDoctrine fixtures
Doctrine fixtures
Bill Chang
 
Forget about index.php and build you applications around HTTP!
Forget about index.php and build you applications around HTTP!Forget about index.php and build you applications around HTTP!
Forget about index.php and build you applications around HTTP!
Kacper Gunia
 
Undercover Pods / WP Functions
Undercover Pods / WP FunctionsUndercover Pods / WP Functions
Undercover Pods / WP Functions
podsframework
 
SPL: The Missing Link in Development
SPL: The Missing Link in DevelopmentSPL: The Missing Link in Development
SPL: The Missing Link in Development
jsmith92
 
Drupal 8: Entities
Drupal 8: EntitiesDrupal 8: Entities
Drupal 8: Entities
drubb
 
PHP Language Trivia
PHP Language TriviaPHP Language Trivia
PHP Language Trivia
Nikita Popov
 

What's hot (20)

The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09
 
Lithium Best
Lithium Best Lithium Best
Lithium Best
 
The IoC Hydra - Dutch PHP Conference 2016
The IoC Hydra - Dutch PHP Conference 2016The IoC Hydra - Dutch PHP Conference 2016
The IoC Hydra - Dutch PHP Conference 2016
 
PHP 5.3 Overview
PHP 5.3 OverviewPHP 5.3 Overview
PHP 5.3 Overview
 
Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3
 
Current state-of-php
Current state-of-phpCurrent state-of-php
Current state-of-php
 
Quebec pdo
Quebec pdoQuebec pdo
Quebec pdo
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5
 
Php course-in-navimumbai
Php course-in-navimumbaiPhp course-in-navimumbai
Php course-in-navimumbai
 
Introduction to the Pods JSON API
Introduction to the Pods JSON APIIntroduction to the Pods JSON API
Introduction to the Pods JSON API
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2
 
Declarative Internal DSLs in Lua: A Game Changing Experience
Declarative Internal DSLs in Lua: A Game Changing ExperienceDeclarative Internal DSLs in Lua: A Game Changing Experience
Declarative Internal DSLs in Lua: A Game Changing Experience
 
Rich Model And Layered Architecture in SF2 Application
Rich Model And Layered Architecture in SF2 ApplicationRich Model And Layered Architecture in SF2 Application
Rich Model And Layered Architecture in SF2 Application
 
Apache Velocity 1.6
Apache Velocity 1.6Apache Velocity 1.6
Apache Velocity 1.6
 
Doctrine fixtures
Doctrine fixturesDoctrine fixtures
Doctrine fixtures
 
Forget about index.php and build you applications around HTTP!
Forget about index.php and build you applications around HTTP!Forget about index.php and build you applications around HTTP!
Forget about index.php and build you applications around HTTP!
 
Undercover Pods / WP Functions
Undercover Pods / WP FunctionsUndercover Pods / WP Functions
Undercover Pods / WP Functions
 
SPL: The Missing Link in Development
SPL: The Missing Link in DevelopmentSPL: The Missing Link in Development
SPL: The Missing Link in Development
 
Drupal 8: Entities
Drupal 8: EntitiesDrupal 8: Entities
Drupal 8: Entities
 
PHP Language Trivia
PHP Language TriviaPHP Language Trivia
PHP Language Trivia
 

Viewers also liked

Survival
SurvivalSurvival
Survival
Phaik Leng Oh
 
Photography Presentation
Photography PresentationPhotography Presentation
Photography Presentation
btecmediasdc
 
IAP&IAB Cash Testing
IAP&IAB Cash TestingIAP&IAB Cash Testing
IAP&IAB Cash TestingIssis Tsai
 
Revistă bibliografică: Suveranitatea, Independență, Democrație și Libertate
Revistă bibliografică: Suveranitatea, Independență, Democrație și LibertateRevistă bibliografică: Suveranitatea, Independență, Democrație și Libertate
Revistă bibliografică: Suveranitatea, Independență, Democrație și Libertate
Tatiana Dontu
 
Visually impaired
Visually impairedVisually impaired
Visually impaired
Cachelle
 
Techpetually speaking: How Tech is Transforming the Pet Industry
Techpetually speaking: How Tech is Transforming the Pet IndustryTechpetually speaking: How Tech is Transforming the Pet Industry
Techpetually speaking: How Tech is Transforming the Pet Industry
BarkWorld Expo
 
Tajuk sejarah spm 2012
Tajuk sejarah spm 2012Tajuk sejarah spm 2012
Tajuk sejarah spm 2012eppy25
 
Hoja de vida corporativa
Hoja de vida corporativaHoja de vida corporativa
Hoja de vida corporativa
STEPHI05
 
Asic pd
Asic pdAsic pd
Asic pd
kbipeen
 
множественное число существительных
множественное число существительныхмножественное число существительных
множественное число существительных
5555rok
 
Mnozhestvennoe chislo
Mnozhestvennoe chisloMnozhestvennoe chislo
Mnozhestvennoe chislo
Ksenia Evglevskaya
 
Морфология древнерусского языка
Морфология древнерусского языкаМорфология древнерусского языка
Морфология древнерусского языка
ozlmgouru
 
plurals
pluralsplurals
plurals
Ecem Bıter
 
Baking & Pastry - Bread Making Process
Baking & Pastry -  Bread Making ProcessBaking & Pastry -  Bread Making Process
Baking & Pastry - Bread Making Process
Phaik Leng Oh
 
Presentation.ai
Presentation.aiPresentation.ai
Presentation.ai
Yashwanth Reddy
 
Bahasa Malaysia Kertas 1(Teknik Menjawab)
Bahasa Malaysia Kertas 1(Teknik Menjawab)Bahasa Malaysia Kertas 1(Teknik Menjawab)
Bahasa Malaysia Kertas 1(Teknik Menjawab)
C.K.Peng
 
A Basic Modern Russian Grammar
A Basic Modern Russian Grammar A Basic Modern Russian Grammar
A Basic Modern Russian Grammar
Mahmoud
 
Singular & Plural Nouns
Singular & Plural NounsSingular & Plural Nouns
Singular & Plural Nouns
Nanthini Satgunasingam
 
Singular and plural nouns ppt
Singular and plural nouns pptSingular and plural nouns ppt
Singular and plural nouns ppt
Learning Tree
 

Viewers also liked (19)

Survival
SurvivalSurvival
Survival
 
Photography Presentation
Photography PresentationPhotography Presentation
Photography Presentation
 
IAP&IAB Cash Testing
IAP&IAB Cash TestingIAP&IAB Cash Testing
IAP&IAB Cash Testing
 
Revistă bibliografică: Suveranitatea, Independență, Democrație și Libertate
Revistă bibliografică: Suveranitatea, Independență, Democrație și LibertateRevistă bibliografică: Suveranitatea, Independență, Democrație și Libertate
Revistă bibliografică: Suveranitatea, Independență, Democrație și Libertate
 
Visually impaired
Visually impairedVisually impaired
Visually impaired
 
Techpetually speaking: How Tech is Transforming the Pet Industry
Techpetually speaking: How Tech is Transforming the Pet IndustryTechpetually speaking: How Tech is Transforming the Pet Industry
Techpetually speaking: How Tech is Transforming the Pet Industry
 
Tajuk sejarah spm 2012
Tajuk sejarah spm 2012Tajuk sejarah spm 2012
Tajuk sejarah spm 2012
 
Hoja de vida corporativa
Hoja de vida corporativaHoja de vida corporativa
Hoja de vida corporativa
 
Asic pd
Asic pdAsic pd
Asic pd
 
множественное число существительных
множественное число существительныхмножественное число существительных
множественное число существительных
 
Mnozhestvennoe chislo
Mnozhestvennoe chisloMnozhestvennoe chislo
Mnozhestvennoe chislo
 
Морфология древнерусского языка
Морфология древнерусского языкаМорфология древнерусского языка
Морфология древнерусского языка
 
plurals
pluralsplurals
plurals
 
Baking & Pastry - Bread Making Process
Baking & Pastry -  Bread Making ProcessBaking & Pastry -  Bread Making Process
Baking & Pastry - Bread Making Process
 
Presentation.ai
Presentation.aiPresentation.ai
Presentation.ai
 
Bahasa Malaysia Kertas 1(Teknik Menjawab)
Bahasa Malaysia Kertas 1(Teknik Menjawab)Bahasa Malaysia Kertas 1(Teknik Menjawab)
Bahasa Malaysia Kertas 1(Teknik Menjawab)
 
A Basic Modern Russian Grammar
A Basic Modern Russian Grammar A Basic Modern Russian Grammar
A Basic Modern Russian Grammar
 
Singular & Plural Nouns
Singular & Plural NounsSingular & Plural Nouns
Singular & Plural Nouns
 
Singular and plural nouns ppt
Singular and plural nouns pptSingular and plural nouns ppt
Singular and plural nouns ppt
 

Similar to Multilingual drupal 7

Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon MunichMultilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
Suzanne Dergacheva
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Suzanne Dergacheva
 
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...
Suzanne Dergacheva
 
Drupal entity translation
Drupal entity translationDrupal entity translation
Drupal entity translation
Grigory Naumovets
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
gdigugli
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
guest3a6661
 
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
camp_drupal_ua
 
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
camp_drupal_ua
 
i18n for Plugin and Theme Developers, Global WordPress Translation Day 3
i18n for Plugin and Theme Developers, Global WordPress Translation Day 3i18n for Plugin and Theme Developers, Global WordPress Translation Day 3
i18n for Plugin and Theme Developers, Global WordPress Translation Day 3
Sergey Biryukov
 
Drupal7 multilingual
Drupal7 multilingualDrupal7 multilingual
Drupal7 multilingual
Grigory Naumovets
 
PIL - A Platform Independent Language
PIL - A Platform Independent LanguagePIL - A Platform Independent Language
PIL - A Platform Independent Language
zefhemel
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applications
account inactive
 
Php
PhpPhp
i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016
Sergey Biryukov
 
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
Jeffrey McGuire
 
Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8
Acquia
 
TI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific LanguagesTI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific Languages
Eelco Visser
 
Drupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire WorldDrupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire World
Christian López Espínola
 
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
 
Drupal 8 multilingual APIs
Drupal 8 multilingual APIsDrupal 8 multilingual APIs
Drupal 8 multilingual APIs
Gábor Hojtsy
 

Similar to Multilingual drupal 7 (20)

Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon MunichMultilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012
 
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...
 
Drupal entity translation
Drupal entity translationDrupal entity translation
Drupal entity translation
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
 
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
 
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
 
i18n for Plugin and Theme Developers, Global WordPress Translation Day 3
i18n for Plugin and Theme Developers, Global WordPress Translation Day 3i18n for Plugin and Theme Developers, Global WordPress Translation Day 3
i18n for Plugin and Theme Developers, Global WordPress Translation Day 3
 
Drupal7 multilingual
Drupal7 multilingualDrupal7 multilingual
Drupal7 multilingual
 
PIL - A Platform Independent Language
PIL - A Platform Independent LanguagePIL - A Platform Independent Language
PIL - A Platform Independent Language
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applications
 
Php
PhpPhp
Php
 
i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016
 
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
 
Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8
 
TI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific LanguagesTI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific Languages
 
Drupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire WorldDrupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire World
 
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)
 
Drupal 8 multilingual APIs
Drupal 8 multilingual APIsDrupal 8 multilingual APIs
Drupal 8 multilingual APIs
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 

Multilingual drupal 7