October 12, 2017
In my recent posts I have talked about what Sitecore provides now out-of-the-box to support Language Fallback, an overview of Language Fallback and Enforce Version Presence concepts, and the How Tos for enabling Fallback and configuring it.
That isn't all that you need to know, though! It may be easy to 'turn on', but there are key decisions you need to make, and many questions should have been popping up in your head as you read my posts.
Before digging into the questions, there are a few key definitions you need to keep in mind.
Internationalization: Designing your web presence to ensure it meets the needs of users in all of your countries, including language translations. It means equally considering needs for Globalization and Localization.
Globalization: Companies want a global solution that provides a consistent look and brand. The same message should be sent around the globe and they want to manage this centrally and easily.
Localization: Providing the flexibility to customize content, products and message to a locale, while keeping the overarching global strategy in mind.
These definitions seem straightforward enough, but if your company (or client) is a multinational organization where these definitions matter, then you know making decisions around these is in no way easy! Often there are different groups in your organization with critical goals that are directly in conflict with one another (what corporate wants is different than what the division in Germany wants!).
It is important to understand all of the best practices and strategies that should be discussed during planning, so that the right questions are asked and facts gathered that will enable you to architect and configure a multilingual multi-national Sitecore solution that fits YOUR needs.
Not getting this right, the first time will result in costly re-architecture and difficult course correction. Consider scalability, reuse, legal requirements, and how content authors will need to use the platform efficiently and easily.
Listed here are the questions I like to have answered before beginning any new solution that will require a multilingual or multi-country site strategy.
- Will there be one site node for all countries, or should one or more countries have their own site node?
- Does content need to be shared across countries?
- What are the cookie law requirements?
- Are there data storage laws that must be adhered to?
- Does the country or region have rules about which languages can be displayed?
- Do you intend to have country-specific domains?
- How will the language be represented in the url?
- Is there already a live site and is language present in the url?
- Should users be routed to (or notified of) a version of the site specific to their country?
- Will a translation service provider be used?
- Does the provider include a Sitecore connector?
Sitecore Content Strategy
- What content should be shared across all languages (consider media, data, modules, and pages)?
- Should language fallback be used?
- Will all sites in the Sitecore instance follow the same chain of fallback?
- Should Item-level or Field-level fallback be used?
- Which templates and/or fields should be turned on for fallback?
- Will it be easier for content authors to have other language versions added for them automatically, and then remove versions they do not want, or vice versa?
- If the site is being viewed for a specific language, is it okay if text in a different language (fallback language) appears?
- Should you turn on Enforce Version Presence?
- What types of content (which templates) should Enforce Version Presence?
- Should all pages in the site appear regardless of whether a version of the page exists in the current language?
- Will content authors like to specify if a page should not exist in a specific language?
- If a page does not exist in a language version, should end users see a 404 page?
- Will media/files also need to be language versioned?
- How many different languages will be incorporated now? In the future?
- How much content may need to be language versioned?
- What implications will the amount of content have on publishing and indexing the site?
- Is there any static / hard-coded text in the code, or is it all managed out of Sitecore?
- Are standard values being used anywhere?
The answers to these questions will provide the direction you will need to architect the right Sitecore implementation for your specific needs. How do you apply those answers to your strategy though? What would someone who has done this often recommend? Myself and Verndale have gone through this many times and have seen different scenarios play out, including long-term repercussions, and can provide some advice and best practices to follow. I'll talk about those in my next post.
No model set
at Glass.Mapper.Sc.GlassHtml.MakeEditable[T](Expression`1 field, Expression`1 standardOutput, T model, Object parameters, Context context, Database database, TextWriter writer) in c:\TeamCity\buildAgent\work\8567e2ba106d3992\Source\Glass.Mapper.Sc\GlassHtml.cs:line 589