Multilingual solutions                            Florian Loretan                            Co-Founder                   ...
Sponsors                        Генеральный спонсор     Организатор Серебряный спонсор   Серебряный спонсор Бронзовый спон...
Suzanne Kennedy   Florian Loretan
Before you start                           • What kind of site are you building?                           • Planning your...
What Kind of Multilingual                     Site are You Building?Wednesday, June 13, 2012
Foreign Language SiteWednesday, June 13, 2012
Multilingual SiteWednesday, June 13, 2012
Multilingual Site + TranslationWednesday, June 13, 2012
Questions to Ask                           Before You StartWednesday, June 13, 2012
1. What Language Support                      Are You Providing?Wednesday, June 13, 2012
ouce: http://www.flickr.com/photos/caribb/89857146/   Source: http://www.lilith-ezine.com
Fully Symmetric ExperienceEnglish                    Polish
Asymmetric ExperienceFrench                           English
Mixed Language ExperienceFrench                  English
2. Do You Want to Show                        Untranslated Content?Wednesday, June 13, 2012
Showing Untranslated ContentWednesday, June 13, 2012
Hiding Untranslated ContentFrench                     English
3. Are language and region                             related?Wednesday, June 13, 2012
Language = RegionWednesday, June 13, 2012
4. Who’s Doing the                              Translation?Wednesday, June 13, 2012
Translation WorkflowWednesday, June 13, 2012
Translating the Admin UIWednesday, June 13, 2012
5. Default Language of the                               Site?Wednesday, June 13, 2012
Default Language                 Content Language FallbackSite User
Default LanguageSite Builder     Language used User-entered Strings
6. How Will Language Affect                  the Design?Wednesday, June 13, 2012
Space Requirements        English         FrenchWednesday, June 13, 2012
Right-to-Left LanguagesWednesday, June 13, 2012
7. What Type of Text are                               You Translating?Wednesday, June 13, 2012
Different Types of TextWednesday, June 13, 2012
UI: VariablesWednesday, June 13, 2012
UI: Text in CodeWednesday, June 13, 2012
UI: User-Entered StringsWednesday, June 13, 2012
Content: NodesWednesday, June 13, 2012
Content: Other EntitiesWednesday, June 13, 2012
Text GroupsWednesday, June 13, 2012
Text GroupsWednesday, June 13, 2012
Translation Checklist:      UI Text                    Variables                    Text in Code                      User...
Building Your                           Multilingual WebsiteWednesday, June 13, 2012
STEP 1:                           Setting up LanguagesWednesday, June 13, 2012
Installing a Language                           Configuration > Regional & language > LanguagesWednesday, June 13, 2012
Configuring a LanguageWednesday, June 13, 2012
Choosing a Default                           Configuration > Regional & language > LanguagesWednesday, June 13, 2012
Detection and Selection             Configuration > Regional & language > Languages > Detection and SelectionWednesday, Ju...
Detection and Selection                                example.com/fr/userWednesday, June 13, 2012
Detection and Selection                                 example.com/userWednesday, June 13, 2012
STEP 2:                           Translating UI TextWednesday, June 13, 2012
Translating VariablesWednesday, June 13, 2012
Translating Variables                 Configuration > Regional & language > Multilingual Settings > VariablesWednesday, Ju...
Translating VariablesWednesday, June 13, 2012
Translating VariablesWednesday, June 13, 2012
Translating Text from CodeWednesday, June 13, 2012
Translating Text from Code                  Configuration > Regional & language > Translation Interface > TranslateWednesd...
Translating Text from CodeWednesday, June 13, 2012
User-Entered StringsWednesday, June 13, 2012
User-Entered StringsWednesday, June 13, 2012
User-Entered Strings                  Configuration > Regional & language > Translation Interface > TranslateWednesday, Ju...
User-Entered StringsWednesday, June 13, 2012
STEP 3:                           Translating ContentWednesday, June 13, 2012
Translating ContentWednesday, June 13, 2012
Settings per Content TypeWednesday, June 13, 2012
Node Translation                       • Content Translation module (core)                       • New node for each trans...
Translating a NodeWednesday, June 13, 2012
Field-Level Translation                      • Entity Translation module (contrib)                      • Translation of f...
$node->field_body[en][0][value]Wednesday, June 13, 2012
Semantic structureWednesday, June 13, 2012
Setting up Field TranslationWednesday, June 13, 2012
works for                                   nodes                                    users                           taxon...
Translatability• Can be translated   • Can’t be translated • All fields           • Author• Additional           • Promoted...
Title Module              $node->title              $term->name               $term->description                          ...
Use field_title in                           views, not titleWednesday, June 13, 2012
Language fallbackWednesday, June 13, 2012
Combination with i18n               • Enable               • Disable                • i18n_menu            • i18n_select  ...
:-)Wednesday, June 13, 2012
:-(            integration with other modules                      needs workWednesday, June 13, 2012
:-(                           revisioningWednesday, June 13, 2012
:-(                           menu items needs to be                            translated separatelyWednesday, June 13, 2...
:-)                           for many use cases,               it’s still a lot better than the standard                 ...
Adding a TranslationWednesday, June 13, 2012
Comments per LanguageWednesday, June 13, 2012
STEP 4:                Translating Everything ElseWednesday, June 13, 2012
Other Elements to Translate                    • Blocks                     • Field settings                     • Taxonom...
Translating Field SettingsWednesday, June 13, 2012
Translating Field Settings                      • Field Translation module (i18n)                      • Translate field s...
Translating Field SettingsWednesday, June 13, 2012
Translating Field SettingsWednesday, June 13, 2012
Translating MenusWednesday, June 13, 2012
Translating Menu Items                      • Menu Translation module (i18n)                      • Menu per language ORWe...
Translating Menu ItemsWednesday, June 13, 2012
Translating Menu Items                                Menu Link to a NodeWednesday, June 13, 2012
Translating Menu Items                           Menu Link to a Single-Language Page                                    i....
Translating Menu Items                              Menu Link to a Generic Page                                   i.e. Hom...
Translating Menu ItemsWednesday, June 13, 2012
Translating Menu ItemsWednesday, June 13, 2012
STEP 5:                           Extending Multilingual                               FunctionalityWednesday, June 13, 2012
Localization Update                               localize.drupal.orgWednesday, June 13, 2012
Localization ClientWednesday, June 13, 2012
Drupal 8                • Clean Up               • Entity translation               • Symphony localization componentWedne...
Спасибо за внимание                                      Florian Lorétan                                      Co-Founder  ...
Sponsors                        Генеральный спонсор     Организатор Серебряный спонсор   Серебряный спонсор Бронзовый спон...
Upcoming SlideShare
Loading in...5
×

Multilingual solutions florian loretan

555

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
555
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Multilingual solutions florian loretan

  1. 1. Multilingual solutions Florian Loretan Co-Founder Wunderkraut florian.loretan@wunderkraut.comWednesday, June 13, 2012
  2. 2. Sponsors Генеральный спонсор Организатор Серебряный спонсор Серебряный спонсор Бронзовый спонсор Бронзовый спонсор
  3. 3. Suzanne Kennedy Florian Loretan
  4. 4. Before you start • What kind of site are you building? • Planning your multilingual site Building a Multilingual Site • Getting Set Up • Translating the UI • Translating Content • Translating Everything Else What’s Next? • Challenges in Drupal 7 Multilingual • Learn More & ContributeWednesday, June 13, 2012
  5. 5. What Kind of Multilingual Site are You Building?Wednesday, June 13, 2012
  6. 6. Foreign Language SiteWednesday, June 13, 2012
  7. 7. Multilingual SiteWednesday, June 13, 2012
  8. 8. Multilingual Site + TranslationWednesday, June 13, 2012
  9. 9. Questions to Ask Before You StartWednesday, June 13, 2012
  10. 10. 1. What Language Support Are You Providing?Wednesday, June 13, 2012
  11. 11. ouce: http://www.flickr.com/photos/caribb/89857146/ Source: http://www.lilith-ezine.com
  12. 12. Fully Symmetric ExperienceEnglish Polish
  13. 13. Asymmetric ExperienceFrench English
  14. 14. Mixed Language ExperienceFrench English
  15. 15. 2. Do You Want to Show Untranslated Content?Wednesday, June 13, 2012
  16. 16. Showing Untranslated ContentWednesday, June 13, 2012
  17. 17. Hiding Untranslated ContentFrench English
  18. 18. 3. Are language and region related?Wednesday, June 13, 2012
  19. 19. Language = RegionWednesday, June 13, 2012
  20. 20. 4. Who’s Doing the Translation?Wednesday, June 13, 2012
  21. 21. Translation WorkflowWednesday, June 13, 2012
  22. 22. Translating the Admin UIWednesday, June 13, 2012
  23. 23. 5. Default Language of the Site?Wednesday, June 13, 2012
  24. 24. Default Language Content Language FallbackSite User
  25. 25. Default LanguageSite Builder Language used User-entered Strings
  26. 26. 6. How Will Language Affect the Design?Wednesday, June 13, 2012
  27. 27. Space Requirements English FrenchWednesday, June 13, 2012
  28. 28. Right-to-Left LanguagesWednesday, June 13, 2012
  29. 29. 7. What Type of Text are You Translating?Wednesday, June 13, 2012
  30. 30. Different Types of TextWednesday, June 13, 2012
  31. 31. UI: VariablesWednesday, June 13, 2012
  32. 32. UI: Text in CodeWednesday, June 13, 2012
  33. 33. UI: User-Entered StringsWednesday, June 13, 2012
  34. 34. Content: NodesWednesday, June 13, 2012
  35. 35. Content: Other EntitiesWednesday, June 13, 2012
  36. 36. Text GroupsWednesday, June 13, 2012
  37. 37. Text GroupsWednesday, June 13, 2012
  38. 38. Translation Checklist: UI Text Variables Text in Code User-Entered Strings Content Nodes Entities (comments, users, terms...) Text Groups (blocks, paths, menu items...)Wednesday, June 13, 2012
  39. 39. Building Your Multilingual WebsiteWednesday, June 13, 2012
  40. 40. STEP 1: Setting up LanguagesWednesday, June 13, 2012
  41. 41. Installing a Language Configuration > Regional & language > LanguagesWednesday, June 13, 2012
  42. 42. Configuring a LanguageWednesday, June 13, 2012
  43. 43. Choosing a Default Configuration > Regional & language > LanguagesWednesday, June 13, 2012
  44. 44. Detection and Selection Configuration > Regional & language > Languages > Detection and SelectionWednesday, June 13, 2012
  45. 45. Detection and Selection example.com/fr/userWednesday, June 13, 2012
  46. 46. Detection and Selection example.com/userWednesday, June 13, 2012
  47. 47. STEP 2: Translating UI TextWednesday, June 13, 2012
  48. 48. Translating VariablesWednesday, June 13, 2012
  49. 49. Translating Variables Configuration > Regional & language > Multilingual Settings > VariablesWednesday, June 13, 2012
  50. 50. Translating VariablesWednesday, June 13, 2012
  51. 51. Translating VariablesWednesday, June 13, 2012
  52. 52. Translating Text from CodeWednesday, June 13, 2012
  53. 53. Translating Text from Code Configuration > Regional & language > Translation Interface > TranslateWednesday, June 13, 2012
  54. 54. Translating Text from CodeWednesday, June 13, 2012
  55. 55. User-Entered StringsWednesday, June 13, 2012
  56. 56. User-Entered StringsWednesday, June 13, 2012
  57. 57. User-Entered Strings Configuration > Regional & language > Translation Interface > TranslateWednesday, June 13, 2012
  58. 58. User-Entered StringsWednesday, June 13, 2012
  59. 59. STEP 3: Translating ContentWednesday, June 13, 2012
  60. 60. Translating ContentWednesday, June 13, 2012
  61. 61. Settings per Content TypeWednesday, June 13, 2012
  62. 62. Node Translation • Content Translation module (core) • New node for each translation • Nodes are mapped togetherWednesday, June 13, 2012
  63. 63. Translating a NodeWednesday, June 13, 2012
  64. 64. Field-Level Translation • Entity Translation module (contrib) • Translation of fields instead of nodesWednesday, June 13, 2012
  65. 65. $node->field_body[en][0][value]Wednesday, June 13, 2012
  66. 66. Semantic structureWednesday, June 13, 2012
  67. 67. Setting up Field TranslationWednesday, June 13, 2012
  68. 68. works for nodes users taxonomy terms comments ...Wednesday, June 13, 2012
  69. 69. Translatability• Can be translated • Can’t be translated • All fields • Author• Additional • Promoted per-translation metadata • • Creation date • Modification date
  70. 70. Title Module $node->title $term->name $term->description $node->field_title $term->field_name $term->field_descriptionWednesday, June 13, 2012
  71. 71. Use field_title in views, not titleWednesday, June 13, 2012
  72. 72. Language fallbackWednesday, June 13, 2012
  73. 73. Combination with i18n • Enable • Disable • i18n_menu • i18n_select • i18n_fields • i18n_taxonomyWednesday, June 13, 2012
  74. 74. :-)Wednesday, June 13, 2012
  75. 75. :-( integration with other modules needs workWednesday, June 13, 2012
  76. 76. :-( revisioningWednesday, June 13, 2012
  77. 77. :-( menu items needs to be translated separatelyWednesday, June 13, 2012
  78. 78. :-) for many use cases, it’s still a lot better than the standard content translationWednesday, June 13, 2012
  79. 79. Adding a TranslationWednesday, June 13, 2012
  80. 80. Comments per LanguageWednesday, June 13, 2012
  81. 81. STEP 4: Translating Everything ElseWednesday, June 13, 2012
  82. 82. Other Elements to Translate • Blocks • Field settings • Taxonomy terms • Menu items • PathsWednesday, June 13, 2012
  83. 83. Translating Field SettingsWednesday, June 13, 2012
  84. 84. Translating Field Settings • Field Translation module (i18n) • Translate field settings • Only core field settingsWednesday, June 13, 2012
  85. 85. Translating Field SettingsWednesday, June 13, 2012
  86. 86. Translating Field SettingsWednesday, June 13, 2012
  87. 87. Translating MenusWednesday, June 13, 2012
  88. 88. Translating Menu Items • Menu Translation module (i18n) • Menu per language ORWednesday, June 13, 2012
  89. 89. Translating Menu ItemsWednesday, June 13, 2012
  90. 90. Translating Menu Items Menu Link to a NodeWednesday, June 13, 2012
  91. 91. Translating Menu Items Menu Link to a Single-Language Page i.e. Events ViewWednesday, June 13, 2012
  92. 92. Translating Menu Items Menu Link to a Generic Page i.e. Home PageWednesday, June 13, 2012
  93. 93. Translating Menu ItemsWednesday, June 13, 2012
  94. 94. Translating Menu ItemsWednesday, June 13, 2012
  95. 95. STEP 5: Extending Multilingual FunctionalityWednesday, June 13, 2012
  96. 96. Localization Update localize.drupal.orgWednesday, June 13, 2012
  97. 97. Localization ClientWednesday, June 13, 2012
  98. 98. Drupal 8 • Clean Up • Entity translation • Symphony localization componentWednesday, June 13, 2012
  99. 99. Спасибо за внимание Florian Lorétan Co-Founder Wunderkraut florian.loretan@wunderkraut.comWednesday, June 13, 2012
  100. 100. Sponsors Генеральный спонсор Организатор Серебряный спонсор Серебряный спонсор Бронзовый спонсор Бронзовый спонсор
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×