In this post I will present the different ways that SharePoint can handle translation.
There are different elements that can be translated, we can split them in 5 categories:
1. User interface: it includes the default texts displayed in the SharePoint interface. It can be for instance the Site Actions options, the texts displayed on the site setting or list setting pages. It also includes default column names like “Title”, “Modified By”, etc.
2. Terms: the terms are defined in Term Sets and can be used in Managed Metadata columns
3. Custom Titles: these texts are defined by advanced users when configuring the site.
- List and library titles
- Field names
- Content Type names
4. Content: they are the values filled by the end-user when writing a page or completing a form.
5. Custom Developments: it includes all customizations made by code: webparts, forms, workflows, timers, etc.
1. User Interface
The texts are automatically translated by SharePoint itself. Language displayed depends on the current user configuration. Any user can change it from its personal profile page. If not defined, it will use by default the language set in the browser regional settings. More information here
Important note: After you have created a site, you cannot change its default user interface language.
Terms are automatically translated by SharePoint itself in the same way the UI is translated.
3. Custom Titles
Option 1: to change custom field or list names, a user must connect to the site with the desired language and translate all field and list titles. Original language won’t be affected. This has to be done for all the secondary languages. This is the default way SharePoint handle this kind of translation. An option permits to export the translation and import them again, hence the initial work can be done on a different environment.
Option 2: alternatively, resource expressions in XML definitions can be used for columns, content types, and lists. In this case the site definition and the resource files containing the translation must be deployed as a SharePoint solution.
Option 3: site and columns name can be updated programmatically
For page content, you can use variations. Variations are based on the duplication of some content (pages and site structure). It has been designed for websites translation, by allowing co-existences of sites in different languages (root, /ES, /FR, etc.). The variation feature automates the copy of pages when they are created, so a translator can modify the duplicated content in the other languages’ sites. For more information, please read this official overview from Microsoft
The SharePoint 2013 Translation Services (machine translation and manual translation) is based on variations, in order to automatically traduce pages duplicated in different languages. Other content can also be translated. It uses a Microsoft Cloud service, so the infrastructure impact can be high.
5. Custom Developments
Custom solutions translations should rely on resources files. An alternative is to use existing term set and/or a custom translation list containing the texts used in the solution with their translation for each language.
There is a free Microsoft widget for translation: Translator Web Widget
A third-party tool: Multilingual Translator for SharePoint Cost (5,000 $ approx)