Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at DrupalCon Denver

6,481 views

Published on

Multilingual site building with Drupal can be challenging. Depending on the type of site you’re building, the list of modules you’ll need and the configuration settings you’ll choose will vary greatly. Even a single project could include more than one method for translating menus, taxonomy terms, and content. Before you get started, you need to consider your audience, what type of content you have, and how all the pieces of your website will be translated.


In this session, we’ll walk you through the steps of creating a multilingual website for an international organization. This will give you an understanding of Drupal’s multilingual architecture and how translations are managed for different parts of Drupal. You’ll learn which modules to use for different use cases, and what to ask your client before you start the project. Whether you’re a site builder or a developer working on your first multilingual Drupal 7 site, this session will help you plan your next multilingual project and get started on the right foot.

Presentation by Suzanne Kennedy from Evolving Web and Florian Loretan from Wunderkraut.

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

No Downloads
Views
Total views
6,481
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at DrupalCon Denver

  1. 1. Site BuildingDon’t Get Lost in Translation:Multilingual Site Building with Drupal 7 Suzanne Kennedy and Florian Loretan
  2. 2. Suzanne Kennedy Florian LoretanCo-founder Co-founderEvolving Web in Montreal Wunderkraut in Munichevolvingweb.ca wunderkraut.com@suzanne_kennedy @floretan
  3. 3. Before you start• What kind of site are you building?• Planning your multilingual siteBuilding a Multilingual Site• Getting Set Up• Translating the UI• Translating Content• Translating Everything ElseWhat’s Next?• Challenges in Drupal 7 Multilingual• Learn More & Contribute
  4. 4. What Kind of Multilingual Site are You Building?
  5. 5. Foreign Language Site
  6. 6. Multilingual Site
  7. 7. Multilingual Site + Translation
  8. 8. Questions to AskBefore You Start
  9. 9. 1. What Language Support Are You Providing?
  10. 10. Souce: http://www.flickr.com/photos/caribb/89857146/ Source: http://www.lilith-ezine.com
  11. 11. Fully Symmetric ExperienceEnglish Polish
  12. 12. Asymmetric ExperienceFrench English
  13. 13. Mixed Language ExperienceFrench English
  14. 14. 2. Do You Want to Show Untranslated Content?
  15. 15. Showing Untranslated Content
  16. 16. Hiding Untranslated ContentFrench English
  17. 17. 3. Are language and region related?
  18. 18. Language = Region
  19. 19. 4. Who’s Doing the Translation?
  20. 20. Translation Workflow
  21. 21. Translating the Admin UI
  22. 22. 5. What’s the DefaultLanguage of the Site?
  23. 23. Default Language Language FallbackSite User
  24. 24. Default Language Language for Configuration StringsSite Admin
  25. 25. 6. How Will Language Affect the Design?
  26. 26. Space RequirementsEnglishFrench
  27. 27. Right-to-Left Languages
  28. 28. 7. What Type of Text are You Translating?
  29. 29. Different Types of Text
  30. 30. UI: Variables
  31. 31. UI: Text in Code
  32. 32. UI: User-Entered Strings
  33. 33. Content: Nodes
  34. 34. Content: Other Entities
  35. 35. Text Groups
  36. 36. Text Groups
  37. 37. Translation Checklist:UI Text Variables Text in Code User-Entered StringsContent Nodes Entities (comments, users, terms...) Text Groups (blocks, paths, menu items...)
  38. 38. Building YourMultilingual Website
  39. 39. STEP 1:Setting up Languages
  40. 40. Installing a LanguageConfiguration > Regional & language > Languages
  41. 41. Choosing a DefaultConfiguration > Regional & language > Languages
  42. 42. Detection and SelectionConfiguration > Regional & language > Languages > Detection and Selection
  43. 43. Detection and Selection example.com/fr/user
  44. 44. Detection and Selection example.com/user
  45. 45. STEP 2:Translating UI Text
  46. 46. Translating Variables
  47. 47. Translating VariablesConfiguration > Regional & language > Multilingual Settings > Variables
  48. 48. Translating Variables
  49. 49. Translating Variables
  50. 50. Translating Text from Code
  51. 51. Translating Text from CodeConfiguration > Regional & language > Translation Interface > Translate
  52. 52. Translating Text from Code
  53. 53. User-Entered Strings
  54. 54. User-Entered Strings
  55. 55. User-Entered StringsConfiguration > Regional & language > Translation Interface > Translate
  56. 56. User-Entered Strings
  57. 57. STEP 3:Translating Content
  58. 58. Translating Content
  59. 59. Settings per Content Type
  60. 60. Translating a Node
  61. 61. Field-Level Translation• Entity Translation module (contrib)• Translation of fields instead of nodes• Fields are translatable in core
  62. 62. $node->field_body[en][0][value]
  63. 63. Semantic structure
  64. 64. Setting up Field Translation
  65. 65. works for nodes users taxonomy terms comments ...
  66. 66. Translatability• Can be translated • Can’t be translated • All fields • Author• Additional • Promoted per-translation metadata • Creation date • Modification date • Title...
  67. 67. Title Module$node->title$term->name$term->description $node->field_title $term->field_name $term->field_description
  68. 68. Use field_title in views, not title
  69. 69. Language fallback
  70. 70. Combination with i18n• Enable • Disable • i18n_menu • i18n_select • i18n_fields • i18n_taxonomy
  71. 71. :-)
  72. 72. :-(integration with othermodules needs work
  73. 73. :-(revisioning
  74. 74. :-(menu items needs to be translated separately
  75. 75. :-) for many use cases,it’s still a lot better than the standard content translation
  76. 76. STEP 4:Translating Everything Else
  77. 77. Other Elements to Translate • Blocks • Field settings • Menu items • Paths
  78. 78. Translating Blocks
  79. 79. Translating Blocks• Block Translation module (i18n)• Make blocks translatable• Display blocks only in certain languages
  80. 80. Translating Blocks
  81. 81. Translating Blocks
  82. 82. Translating Blocks
  83. 83. Translating Field Settings
  84. 84. Translating Field Settings• Field Translation module (i18n)• Translate field settings• Only core field settings
  85. 85. Translating Field Settings
  86. 86. Translating Field Settings
  87. 87. Translating Menus
  88. 88. Translating Menu Items• Menu Translation module (i18n)• Menu per language• Translate or localize menu items
  89. 89. Translating Menu Items
  90. 90. Translating Menu Items Menu Link to a Node
  91. 91. Translating Menu ItemsMenu Link to a Single-Language Page i.e. Events View
  92. 92. Translating Menu Items Menu Link to a Generic Page i.e. Home Page
  93. 93. Translating Menu Items
  94. 94. Translating Menu Items
  95. 95. STEP 5:Extending Multilingual Functionality
  96. 96. Localization Updatedrupal.org/project/l10n_update
  97. 97. Localization Clienthttp://drupal.org/project/l10n_client
  98. 98. What’s Next?
  99. 99. Outstanding Challenges• Choosing contributed modules• Translating custom elements (Webforms)• Improve Translation UI• Out-sourced translation workflows• Keeping track of UI strings that require translation
  100. 100. Drupal 8 Multilingual Initiative
  101. 101. Learn More & Contribute• Entity Property Translation BoF Wed 11:45• Multilingual BoF Wed at 2:15• Config + Translation BoF Thurs at 9:00• D8MI Codesprint on Friday + Saturday
  102. 102. What did you think? Locate this session on the DrupalCon Denver websitehttp://denver2012.drupal.org/program Click the “Take the Survey” link. Thank You!

×