Website Translation for Microsoft SharePoint

February 18, 2013

SharePoint is a Microsoft platform launched in 2001 and designed
primarily to handle intranet documentation management tasks. Over
time SharePoint functionality has been extended to handle not only
intranet but also internet related content management tasks and
content localization becomes a very important requirement to handle
clients' needs all over the world.

SharePoint language packs

In order to enable SharePoint multilingual features, the first
step is to download and install the language pack of the target
languages from the Microsoft
Download Center:

Language packs allow the creation of multilingual websites
without need for a separate instance of SharePoint platform to be
installed per language. By installing a language pack on a web
server, administrators can create websites based on the
language-specific templates which include the localized strings.
Thus, deployment of a multilingual SharePoint website is made easy
by deploying the multilingual website from one SharePoint
platform.

How SharePoint handles multiple languages

By default, SharePoint uses the default language of the
installed SharePoint version but administrators can set a different
language for a website and the platform can recognize the selected
language by its ID.

In SharePoint 2013, even if a language pack for a target
language, such as Arabic, is installed and selected some
user-interface items are not displayed in that language (e.g.
warnings, errors, dialogs, etc.). For these types of elements,
SharePoint depends on other technologies to handle them such as
.NET Framework, ASP.NET, SQL SERVER, among others.

Localizing SharePoint features using Microsoft Visual
Studio

A multilingual SharePoint solution should cover different areas
of the platform such as Features, WebParts, ASPX interface pages
and functional code because all of these items are providing output
for users. SharePoint uses the Resources File, which is a
repository to store localized strings in different languages
following a standard naming convention (for example: base name such
as SiteResource.resx and a culture-specific code
such as se-SE).

Furthermore, in SharePoint Resource Files should be
found in a specific location based on usage. The following are the
available locations to store Resource files:

1. \Template\Features\<Feature
Name>\Resources\

2. \Resources\

3. \Config\Resources\

4. <Virtual Directory>\App_GlobalResources\

SharePoint Features can be localized in visual
studio by selecting the Feature Resource, then select
Add Resource Feature, then select Culture:

Once done, a resource file will be created for that feature. You
can then open the resource files, add Keys and from the
Manifest you can add the Key Values.

To add new Culture, the above steps should be repeated again for
the new one. It is not possible to copy the resx
file and rename it like the case in asp.net
websites.

SharePoint WebParts can be localized using the
following steps:

- Add anew Mapped
Folder to the solution and from next screen select the
Resource Folder

- Finally add your localized strings
into the new Resource File you just created:

SharePoint ASPX pages are localized by setting
a specific Resource File within the page and then point
the page to the correct file to retrieve the localized content
using the following structure: <%Resources: Resource
file name, Resource Key %>. In order to able to use
the the resource file in the above expression, the
resx file should be located at the
App_GlobalResources folder of the application.

SharePoint Custom Code can be localized by
accessing the Global resource files using syntax listed below and
by setting the method parameters such as Resource and
Key Names.

SharePoint localization best practices

In addition to the techniques used above, there are a number of
best practices that can be employed to optimize the content
localization process.

- Prior to developing a multilingual
Sharepoint website, establish a clear design vision to facilitate
the localization process. Specifically, determine what needs to be
set up in the Sharepoint Features architecture and flowchart a best
localization approach (for example: using Global Resource
Files or a local resource).

Further Information on Localization Resources

Globalization Partners International (GPI) frequently assists
customers with multilingual website design, development and
deployment. A suite of globalization tools developed by GPI can
empower you to achieve your multilingual project goals: you can
explore them under the
Translation Tools. GPI also offers translation
services and internationalization, and can evaluate
your application. Consider partnering with GPI prior to localizing
or translating your application: this will help you avoid many
mistakes and save considerable time and money on your localization
projects.

Comments

Ayman El Badawy - Manager, Technical Delivery - Global Software PracticeAyman is a native Arabic speaker with extensive expertise in
Arabic software and website localization. He is a Microsoft Certified professional (MCP) since 2001 and earned several certificates including MCSD, MCAD, MCTS and MCPD. He has over 12 years’ experience in software / websites engineering using Microsoft Programming tools including C#, ASP.NET, SQL Server, Visual Studio and other tools such as HTML, JavaScript, XML, Ajax and others.