Don’t Get Lost in Translation:   Building Multilingual Websites in Drupal 7Suzanne Kennedy @suzanne_kennedy evolvingweb.ca
Use Cases forMultilingual Websites
Questions to Ask• Is content symmetric across languages?• How is untranslated content treated?• Is language associated wit...
Symmetric Content
 Asymmetric Content
Half-Symmetric Content
Untranslated Content
Does Language = Region
Translation Workflow
Types of Multilingual Sites           Foreign language site:           •   Locale           Multilingual site           • ...
Our Use Case• Multilingual site with translation• Three langauges: French, English, German• Language = region• Some conten...
Types of Text to Translate
What Gets Translated?
Variables
Built-in Text Strings
User-Entered Text Settings
Content: Nodes
Content: Entities
Text Groups
Site-Wide Multilingual      Settings
Installing a LanguageConfiguration > Regional & language > Languages
Configuring a Language
Language Detection & Selection
Types of UI Text• Variables• Built-in UI Text (from modules and themes)• Text Settings added by the User
Variables
Selecting Variables
Translating Variables
Non-Text Variables
Built-in Text Strings
Translating Built-in Strings
Translating Built-in Strings
Translating Built-in Strings
User-entered Strings
User-entered Strings
Translating Content
Translating Content
Translating Content
Node Translation• New node for each translation• Nodes are mapped together• Uses the Content Translation module  (core)
Translating a Node
Field-Level Translation• Translation of fields instead of nodes• Entity Translation module (contrib)  provides UI• Fields a...
Example: Products
Example: Issues
Setting up Field Translation
Setting up Field Translation
Adding a Translation
Adding a Translation
Field Translation UI
Translating the Title
Translating the Title
Enabling Language Switcher
Comment Filtering
Comment Filtering
Translate Other Entities
Configure Entity Translation
Translate Users
Synchronize Translations
Views Translation Filters
Unfiltered View
Adding a Filter
Filtered Views
Translating Other Elements
Other Elements to Translate• Blocks• Field elements (i.e. help text, default values,  options)• Menu items• Taxonomy terms...
Blocks
Block Translation• Translate custom blocks• Uses the Block Translation module in the  i18n suite• Allows you to target blo...
Block Translation
Block Translation UI
Blocks Per Language
Field Translation  (translating field settings)
Field Translation• Translating field settings (label, help text,  default text)• Uses the Field Translation module in the i...
Field Translation
Field Translation
Menu Items
Menu Translation• Allows you to translate menu items OR  target a menu at a single language• Uses Menu Translation module ...
Menu TranslationMenu Options:• Fixed Language• Translate and LocalizeMenu items• Linked to nodes• Translate custom menu it...
Menu Translation
Menu Translation
Other Multilingual Modules
Localization Update
Localization Client
Translation Overview
Challenges• Choosing contributed modules• Translating custom elements (Webforms)• Multilingual audiences• Improve Translat...
What’s Next?
D8 Multilingual Initiative
Learn More
Resources / More InfoDocumentation on drupal.orghttp://drupal.org/documentation/multilingualMy Blog Post about D7 Multilin...
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Upcoming SlideShare
Loading in...5
×

Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10

4,169

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.

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

No Downloads
Views
Total Views
4,169
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • Intro: Multilingual websites are complicated, and a great deal of the complication comes from the fact that there are lots of different models for building a multilingual website.\n\nThink about how many multilingual websites you've experienced. Maybe the website is completely multilingual, but comments are in English only. Maybe you switch the language of the site and half the content disappears. Maybe all the translations are out-of-date all the time. Maybe the blog only gets updated in one language.\n\nMaybe the structure of menus and blocks are identical in all languages, or maybe they're different.\n\nMaybe you're dealing with a very international website, where language is tied  to a country and things like time zones and local legal constraints.\n\nMaybe the content in each language is completely different, with no language switcher.\n
  • \n
  • Everything is identical in all languages.\n\nThe menu are perfectly symmetrical. \n\nEach taxonomy term has a translation\n\nContent isn't published until it's been translated into the other six languages.\n\nEven all the paths have to be translated.\n
  • Is the content symmetric across languages? \n\nWill content get updated in all languages at the same time?\n\nAre the menu structures the same, or different?\n
  • Community website. \n\nTranslation are contributed one by one.\n
  • If there is no translation, do you show untranslated content?\n\nIn some cases yes: for example multilingual audiences (Node One). Comments that have value even if they're in a different language.\n
  • In some cases, language = location. You want to show particular content/settings based on language.\n\nIn these cases, switching the language of the site might also trigger location-based changes. For example, the default timezone might be different. Legal messages, etc. might also change.\n\nFor Travelocity website, the default language was associated with a domain. But for other websites, you would want to only offer that language.\n
  • What language do the translators speak?\n\nAre translators entering content through the UI, or \nare translations done separated and put into Drupal via a script or separate administrator?\n
  • Today, we're going to talk about multilingual sites with translation. But \n\nLayers of multilingual websites:\n\nLocale:\nInstall languages\nTranslate user interface strings\nFlag nodes with a language\nLanguage switcher\nLots more (date handling, RTL, user's preferred language, field titles)\nLanguage negotiation\n\nContent Translation:\nAssociates a set of node translations\nProvides a 'translate' tab for nodes\nFlags translations that are out-of-date\n\ni18n:\nVariables (site title, slogan)\nBlocks, Menus, Taxonomy Terms\nContent\nField Data (help text, default text)\nPaths\nExtra Features for Node Translation\nContent Selection\n\n\nAnd later on in this presentation, I'll also talk about the Entity Translation module.\n
  • \n
  • \n
  • User Interface Strings\n(Text strings in code) \nGreen link: see top Brasil hotels\n\nUser-entered settings\nSite Slogan: (Variable)\n\nContent:\nThe article text, image, title\n\nSettings entered by Users\n(i.e. settings like the block titles)\n\nContent\nNodes, Entities\n\nTextgroups\nMenu Items\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Installing + Configuring Language \n\nLanguage configuration page, under 'Regional and language'.\n\nChoosing a default language is really important. Changing this can cause problems.\n\nWhat language fallback will be used (what language will untranslated content appear in?) \n
  • Installing + Configuring Language \n\nLanguage configuration page, under 'Regional and language'.\n\nChoosing a default language is really important. Changing this can cause problems.\n\nWhat language fallback will be used (what language will untranslated content appear in?) \n
  • Language negotiation is provided by the locale module to detect which language the site should display.\n\nSo for a community site like the one we're talking about, you might choose:\n\nURL\nUser\nBrowser\n\nURL first, means the user can always override the language by using, say, the language switcher.\n\nSecond, User. So when the user logs in, the user's language will be selected.\n\nThird, browser. So if the user arrives at the homepage for the first time, doesn't have an account or a selected language, the browser lang will be chosen.\n
  • \n
  • \n
  • Frontpage might need to be a multilingual variable, if it points to a node in a particular language.\n
  • Multilingual variables are provided by the i18n module. \n\nVariables are Drupal settings in the systems table.\n\nAll multilingual sites will have some multilingual variables, but only a selection of them.\n\nYou can see that this config page provides very granular control for which are enabled.\n\nAfter you've selected which variables need to be multilingual, you need to go and add the variables for each language through the UI.\n
  • All multilingual sites will have some multilingual variables, but only a selection of them.\n\nYou can see that this config page provides very granular control for which are enabled.\n\nAfter you've selected which variables need to be multilingual, you need to go and add the variables for each language through the UI.\n
  • Example: The name of the site should always be translated (I think). So a simple website like Evolving Web's brochure site would have just a couple multilingual variables (title, slogan, frontpage is a common one).\n\nFor our use case: Our German contributors and members are generally located in Europe,  so we can set the default time zone for these users to be CET (Central European Time).\n\nWe should turn on translation for the 'Time zone for new users' variable.\n\nUseful for some sites, not others.\n
  • \n
  • The translate interface UI allows you to translate text groups, built-in text strings.\n
  • The translate interface UI allows you to translate text groups, built-in text strings.\n
  • The translate interface UI allows you to translate text groups, built-in text strings.\n
  • \n
  • \n
  • \n
  • In Drupal 7, there are two methods of content translation. Translation at the node level is provided by the Content Translation module and translation at the field level is provided by the Entity Translation module. \n
  • You can translate different types of content differently, because the method of translation is selected on a per content type basis.\n
  • \n
  • Targets different audiences\n\nDifferent set of comments\n\nDifferent menu structure (maybe in one language there is a flat menu structure, and in other languages there is a hierarchy)\n
  • In Drupal 7, there are two methods of content translation. Translation at the node level is provided by the Content Translation module and translation at the field level is provided by the Entity Translation module. You can translate different types of content differently, because the method of translation is selected on a per content type basis.\n
  • In Drupal 7, there are two methods of content translation. Translation at the node level is provided by the Content Translation module and translation at the field level is provided by the Entity Translation module. You can translate different types of content differently, because the method of translation is selected on a per content type basis.\n
  • Non-symmetric meus\n
  • For some types of content, this node-per-language model is really hard to work with.\n\nSome types of content have language-independent features that we don't want to duplicate by creating multiple nodes.\n
  • If the content itself should be language independent, and only particular fields should be translated (i.e. description, etc.). \n\nThis is particularly useful when you really only want 1 node (i.e. an event that has to be scheuled and has sign-upd data around it, a node that receives votes, a node that gets put in a particular order). Also useful for content where we have thousands and thousands of nodes\n\nRather than syncing all of this data and storing for each node, just store it once and translate fields as necessary.\n\nNote: Need to deal with title translation separately, since the title is not a field.\n\nNote: Things like 'taxonomy terms' as fields, if you mark them as 'allow users to translate this field', doesn't replace i18n taxonomy translation. Just allows the user to select different terms per language, not to localize terms.\n\nProducts\nIssues\nGroups\n
  • If the content itself should be language independent, and only particular fields should be translated (i.e. description, etc.). \n\nThis is particularly useful when you really only want 1 node (i.e. an event that has to be scheuled and has sign-upd data around it, a node that receives votes, a node that gets put in a particular order). Also useful for content where we have thousands and thousands of nodes\n\nRather than syncing all of this data and storing for each node, just store it once and translate fields as necessary.\n\nNote: Need to deal with title translation separately, since the title is not a field.\n\nNote: Things like 'taxonomy terms' as fields, if you mark them as 'allow users to translate this field', doesn't replace i18n taxonomy translation. Just allows the user to select different terms per language, not to localize terms.\n\nProducts\nIssues\nGroups\n
  • Language Independent:\nDate\nSign-ups (Flags)\nEvent Type (Taxonomy)\n\nTranslated:\nTitle\nBody\n
  • Language Independent:\nDate\nSign-ups (Flags)\nEvent Type (Taxonomy)\n\nTranslated:\nTitle\nBody\n
  • If the content itself should be language neutral, and only particular fields should be translated (i.e. description, etc.). \n\nThis is particularly useful when you really only want 1 node (i.e. an event that has to be scheuled and has sign-upd data around it, a node that receives votes, a node that gets put in a particular order). Also useful for content where we have thousands and thousands of nodes\n\nRather than syncing all of this data and storing for each node, just store it once and translate fields as necessary.\n\nNote: Need to deal with title translation separately, since the title is not a field.\n\nNote: Things like 'taxonomy terms' as fields, if you mark them as 'allow users to translate this field', doesn't replace i18n taxonomy translation. Just allows the user to select different terms per language, not to localize terms.\n
  • If the content itself should be language neutral, and only particular fields should be translated (i.e. description, etc.). \n\nThis is particularly useful when you really only want 1 node (i.e. an event that has to be scheuled and has sign-upd data around it, a node that receives votes, a node that gets put in a particular order). Also useful for content where we have thousands and thousands of nodes\n\nRather than syncing all of this data and storing for each node, just store it once and translate fields as necessary.\n\nNote: Need to deal with title translation separately, since the title is not a field.\n\nNote: Things like 'taxonomy terms' as fields, if you mark them as 'allow users to translate this field', doesn't replace i18n taxonomy translation. Just allows the user to select different terms per language, not to localize terms.\n
  • If the content itself should be language neutral, and only particular fields should be translated (i.e. description, etc.). \n\nThis is particularly useful when you really only want 1 node (i.e. an event that has to be scheuled and has sign-upd data around it, a node that receives votes, a node that gets put in a particular order). Also useful for content where we have thousands and thousands of nodes\n\nRather than syncing all of this data and storing for each node, just store it once and translate fields as necessary.\n\nNote: Need to deal with title translation separately, since the title is not a field.\n\nNote: Things like 'taxonomy terms' as fields, if you mark them as 'allow users to translate this field', doesn't replace i18n taxonomy translation. Just allows the user to select different terms per language, not to localize terms.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Unchecking this setting allows you to display comments in all languages for nodes with entity translation.\n
  • Unchecking this setting allows you to display comments in all languages for nodes with entity translation.\n
  • You can configure which of these entities has entity translation enabled.\n
  • You can configure which of these entities has entity translation enabled.\n
  • For example, if you make users translatable entities, you can translate them via a translate tab.\n
  • Synchronize Translations is a submodule of the Internationalization module (i18n). This module allows you to synchronize certain fields across languages when translating nodes with the Content Translation module. While it provides some of the same results, it works very differently from the entity translation module. A node is still created in each language, but when a synchronized field is updated in one language, all the node translations are updated to use the same field.\n\nWhen using Drupal 6, this provided a good way to deal with situations when node elements needed to be the same across languages (i.e. author, taxonomy terms, etc). However, it doesn't resolve problems like synchronizing the status of a node (when using the Flag module) or synchronizing a list of signups for an event content type.\nFor Drupal 7, Synchronize translations is useful for situations when you want to maintain two separate nodes (for example, because you want the nodes to appear in different places in the menu), but you still want to synchronize certain fields.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n\nUses textgroups\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • \n
  • Still doeesn't work with the contxt module, since that alters how blocks are rendered.\n\nImproved UI in Drupal 7!\n\nSee Save + Translate, takes you directly to a page where you can add translations of the block.\n\nBlock translation UI in the block management interface, rather than interface translation UI.\n\nMultilingual settings on a per block basis, so you can be granular about how blocks are configured.\n
  • Still doeesn't work with the contxt module, since that alters how blocks are rendered.\n\nImproved UI in Drupal 7!\n\nSee Save + Translate, takes you directly to a page where you can add translations of the block.\n\nBlock translation UI in the block management interface, rather than interface translation UI.\n\nMultilingual settings on a per block basis, so you can be granular about how blocks are configured.\n
  • If a block needs to appear for some languages of the site and not others, you can make the block  'Make this block translatable', and then flag it to appear only in the relevant languages.\n\nFor example, the first block on this page 'Aidez-nous a traduire le site web' is targeted at French and German users, so I've only selected those languages for that block.\n\nThe second block only targets French users, so I didn't make it translatable, and set it to only display in French. \n\nThe final block appears in all languages and is translatable.\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • \n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n\nUses textgroups\n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n\nUses textgroups\n
  • Only fields can be translated using Entity Translation. Unfortunately, not everything on a node is a field.\n\nFor example, the title is node field.\n\nLuckily, for field, there's a contributed module called 'Title' that allows you to convert the title to a field.\n\nFor other elements, like menu items, author. These are still not fields. This is why you would want to use content translation for nodes for which these need to be different per language.\n
  • \n
  • \n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n\nUses textgroups\n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n\nUses textgroups\n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n
  • \n
  • \n
  • \n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n
  • New UI for translation of certain text groups (for blocks, menus, taxonomy)\n
  • The Drupal 8 Multilingual Initiative, let by Gábor Hojtsy, aims to move the features provided by the Entity Translation module into core. Work is underway to improve other aspects of Drupal's language capabilities for Drupal 8.\nMeanwhile with Drupal 7, we have more options for translating content than ever before. The Entity Translation module provides an elegant solution for translation on the field level, while Content Translation still gives us the option of translating nodes. While all these options might be confusing, they allow us to build more sophisticated multilingual sites in Drupal than ever before.\n
  • If you're interested in learning more about multilingual site building, I encourage you to vote for this session that Florian Loretan and I have put together for DrupalCon Denver.\nEven if you're not attending the camp, it'd be great to have a session on this at the North American conference so we can get more organizations using Drupal's multilingual features and seeing Drupal as a great framework for creating multilingual site infrastructure.\n
  • \n
  • Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10

    1. 1. Don’t Get Lost in Translation: Building Multilingual Websites in Drupal 7Suzanne Kennedy @suzanne_kennedy evolvingweb.ca
    2. 2. Use Cases forMultilingual Websites
    3. 3. Questions to Ask• Is content symmetric across languages?• How is untranslated content treated?• Is language associated with location/region?• How will the content/UI be translated?• What is the default language of the site?
    4. 4. Symmetric Content
    5. 5.  Asymmetric Content
    6. 6. Half-Symmetric Content
    7. 7. Untranslated Content
    8. 8. Does Language = Region
    9. 9. Translation Workflow
    10. 10. Types of Multilingual Sites Foreign language site: • Locale Multilingual site • Internationalization (i18n)  Multilingual site with translation: • Content Translation (Nodes) • Entity Translation (Fields)
    11. 11. Our Use Case• Multilingual site with translation• Three langauges: French, English, German• Language = region• Some content is symmetric, some isn’t
    12. 12. Types of Text to Translate
    13. 13. What Gets Translated?
    14. 14. Variables
    15. 15. Built-in Text Strings
    16. 16. User-Entered Text Settings
    17. 17. Content: Nodes
    18. 18. Content: Entities
    19. 19. Text Groups
    20. 20. Site-Wide Multilingual Settings
    21. 21. Installing a LanguageConfiguration > Regional & language > Languages
    22. 22. Configuring a Language
    23. 23. Language Detection & Selection
    24. 24. Types of UI Text• Variables• Built-in UI Text (from modules and themes)• Text Settings added by the User
    25. 25. Variables
    26. 26. Selecting Variables
    27. 27. Translating Variables
    28. 28. Non-Text Variables
    29. 29. Built-in Text Strings
    30. 30. Translating Built-in Strings
    31. 31. Translating Built-in Strings
    32. 32. Translating Built-in Strings
    33. 33. User-entered Strings
    34. 34. User-entered Strings
    35. 35. Translating Content
    36. 36. Translating Content
    37. 37. Translating Content
    38. 38. Node Translation• New node for each translation• Nodes are mapped together• Uses the Content Translation module (core)
    39. 39. Translating a Node
    40. 40. Field-Level Translation• Translation of fields instead of nodes• Entity Translation module (contrib) provides UI• Fields are translatable in core
    41. 41. Example: Products
    42. 42. Example: Issues
    43. 43. Setting up Field Translation
    44. 44. Setting up Field Translation
    45. 45. Adding a Translation
    46. 46. Adding a Translation
    47. 47. Field Translation UI
    48. 48. Translating the Title
    49. 49. Translating the Title
    50. 50. Enabling Language Switcher
    51. 51. Comment Filtering
    52. 52. Comment Filtering
    53. 53. Translate Other Entities
    54. 54. Configure Entity Translation
    55. 55. Translate Users
    56. 56. Synchronize Translations
    57. 57. Views Translation Filters
    58. 58. Unfiltered View
    59. 59. Adding a Filter
    60. 60. Filtered Views
    61. 61. Translating Other Elements
    62. 62. Other Elements to Translate• Blocks• Field elements (i.e. help text, default values, options)• Menu items• Taxonomy terms• Paths
    63. 63. Blocks
    64. 64. Block Translation• Translate custom blocks• Uses the Block Translation module in the i18n suite• Allows you to target blocks for certain languages
    65. 65. Block Translation
    66. 66. Block Translation UI
    67. 67. Blocks Per Language
    68. 68. Field Translation (translating field settings)
    69. 69. Field Translation• Translating field settings (label, help text, default text)• Uses the Field Translation module in the i18n suite• Only translates core field settings (not date fields, file fields, etc.)
    70. 70. Field Translation
    71. 71. Field Translation
    72. 72. Menu Items
    73. 73. Menu Translation• Allows you to translate menu items OR target a menu at a single language• Uses Menu Translation module in the i18n suite
    74. 74. Menu TranslationMenu Options:• Fixed Language• Translate and LocalizeMenu items• Linked to nodes• Translate custom menu items
    75. 75. Menu Translation
    76. 76. Menu Translation
    77. 77. Other Multilingual Modules
    78. 78. Localization Update
    79. 79. Localization Client
    80. 80. Translation Overview
    81. 81. Challenges• Choosing contributed modules• Translating custom elements (Webforms)• Multilingual audiences• Improve Translation UI• Out-sourced translation workflows• Keeping track of UI strings to translate
    82. 82. What’s Next?
    83. 83. D8 Multilingual Initiative
    84. 84. Learn More
    85. 85. Resources / More InfoDocumentation on drupal.orghttp://drupal.org/documentation/multilingualMy Blog Post about D7 Multilingualhttp://evolvingweb.ca/story/drupal-7-multilingual-whats-new-i18nhttp://evolvingweb.ca/story/content-translation-drupal-7Gabor Hojtsys Posts about Multilingual D7http://hojtsy.hu/blog/2011-jan-19/drupal-7039s-new-multilingual-systems-part-1-basicsPresentation at DrupalCon Londonhttp://london2011.drupal.org/conference/sessions/multilingual-drupal-solutions-use-cases-and-modulesDrupal 8 Multilingual Initiative (with Video)http://drupal.org/node/1260534

    ×