Tuesday, July 17, 2012

Multilingual term sets (SharePoint Server 2010)


Microsoft SharePoint Server 2010 lets you define and use managed metadata in multiple languages. This is done by distinguishing the term itself from the words that represent the term.

A label is a word or a phrase that represents a term. A term can have multiple labels. For example, a term set that represents the days of the week would contain seven terms. One term might have the labels “Sunday”, “dimanche”, and “domingo”. Regardless of which label a person uses when applying the term to an item, SharePoint Server recognizes it as the same term. You can configure SharePoint Server to use the label that is appropriate for the language in which a user views the site when it displays terms.


Defining Terms

Before you can define term sets in multiple languages, you must perform the following actions:

  1. Install the SharePoint Server language pack for each language that you want to support.

The language packs can be downloaded from here. The language of your choice can be selected before downloading the pack. Once the installer is over, it would automatically open the SharePoint configuration wizard again. The config wizard should run in its default settings.

  1. From the Term Store Management Tool, add each language to the list of working languages for the term store.
  2. Select one language to be the default language for the term store.

In each language, you can associate multiple labels with a term. One label in each language is the default label for the language. Use the other labels for synonyms or abbreviations.

Within the Term Store Management Tool you can display the hierarchy of term sets and terms in any of the working languages. If a term does not have a label in the display language, the label in the default language of the term store is displayed. Term sets can also have a name in each language. If there is no name for the term set in the display language, the name in the default language is displayed.

By default, the terms in a term set are sorted according to the default sort order for the language. In many languages, this is alphabetical order. Using the default sort order often makes it easier for the user to find the correct term. However, in some cases there is a more appropriate order for the term set that is independent of language. A term set that represents clothingsizes is an example of a case in which using the default sort order for the language would not necessarily be natural. In these cases, you can specify a custom sort order for the term set. The custom sort order is used for all languages.


Using Terms (Tagging)

If SharePoint Server language packs are installed on the server, a farm administrator must specify a default language when creating a site collection. The site collection owner can then specify additional languages that the site collection will support. If a site collection supports multiple languages, users can change the display language when they browse to any page in the site collection. When a user changes the display language of a page, the new display language becomes the user's preferred language for the whole site collection.


Because the preferred language is stored in a cookie, the preferred language is associated with the user's computer. If a user views a site collection from multiple computers, the user may have a different preferred language on each computer.

When a user enters a term (for example, to provide a value for a managed metadata column that is bound to a term set), the user is presented with a list of options. These options are the labels in the user's preferred language for the terms in the term set. When a user types an enterprise keyword (for example, to add a social tag to a Web page), the suggestions that are displayed are the terms whose labels in the user's preferred language match what the user has typed. When a user enters a term or an enterprise keyword, if no label exists in the user's preferred language, the label in the default language for the term store is used.

When a user selects a term, instead of recording the label, SharePoint Server records an identifier that represents the term, and the language in which the term was selected. Because SharePoint Server does not simply record the label that a user selected, it can identify terms regardless of the language in which the terms were entered.


How the Terms are displayed

For each site collection, SharePoint Server maintains a cache of all of the terms that can be used within the site collection. Each entry in the cache contains:

· The identifier of the term.

· The text to display for the term in each language that is supported by the term store. For each language, the text is either:

· The default label of the term in the language, if such a label exists, or

· The default label of the term in the term store's default language, if a label does not exist in the language.

When displaying a term, SharePoint Server uses the term's identifier and the user's preferred language to obtain the text to display from the cache.


When a user enters a term, SharePoint Server uses the term store to display suggested terms and to validate the user's entry. SharePoint Server uses the cache only to display the terms that have been added to items.

Because SharePoint Server uses an identifier for a term, instead of a label, it can support the following multilingual scenarios:

· SharePoint Server displays terms in the user's preferred language, regardless of the language in which the term was entered.

· Tag clouds reflect the use of a term, regardless of the language in which the term was entered.

Changes made to the term store are propagated to each site collection's cache under the control of a timer job. There might be a delay between updating a term's label and the new label being displayed on the pages of a site collection.



As you plan how your SharePoint Server solution will use managed metadata in multiple languages, consider the following suggestions:

· If your SharePoint Server solution requires managed metadata in multiple languages, use the functionality described in this article. It is usually simpler to have a single term set that represents a concept, and then define labels for the terms in the term set in multiple languages, than to create a separate term set for each language.

· If you add a new working language to a term store, do so during a period when your SharePoint Server solution is not heavily used, such as at night. When you add a new working language, the next time that the timer job runs, SharePoint Server updates each site collection's cache and adds the text to display in the new language to every term in the cache. This may affect performance temporarily.

· Although you can import term sets, you can only import one label for each term. If you do not want to define labels in each language by using the Term Store Management Tool, consider using another program such as Microsoft Excel to create a file that contains the terms and term sets, and writing a custom program to import the data into the term store. For more information about how to write a custom program that manipulates managed metadata, see the SharePoint 2010 SDK (http://go.microsoft.com/fwlink/p/?LinkId=190760&clcid=0x409).

· If your solution includes more than one term store, consider making each term store support the same set of working languages.


For more detailed information, check:


Nothing but SharePoint

1. Install Language Pack

Ask your IT Pro to install the language packs on your farm. The language packs can be downloadedfrom here. The language of your choice can be selected before downloading the pack. Once the installer is over, it would automatically open the SharePoint configuration wizard again. The config wizard should run in its default settings.

For demo purposes I am using the Dutch language pack on Server 2008 OS. Unlike Server 2008, on Windows 7 you need to individually download the OS language files (Grr…? Check Google on how to download these for win 7. Otherwise I strongly suggest using Server OS, see my article for this.)

2. Create Managed Metadata Service

In Central Admin > Application Management> Manage Service Applications

o Create a new managed metadata service instance if it is not already created. Name it Metadata Service.

Mulit Lingual Metadata

Mulit Lingual Metadata

Mulit Lingual Metadata

Note that while creating this service instance, you can configure a centralized location where all the content types will be syndicated. Go ahead and mention the full path of that site collection where you would like to store all the content types of your organization. For ease of demo I suggest using the same path as in the image above.

o Once the service is created a new entry will be added to the Service Application page. Click on the empty space before the text ‘Managed Metadata Service connection’ (don’t click on the service name, it would open the entry). This will select the particular row. Once selected click on ‘Properties’ in the ribbon above. A new modal box will open. Go ahead and make sure the box‘Consume Content Types from …’ is selected.

Mulit Lingual Metadata

o Once done, go to the service application page and click on the service instance link. It will take you to the screen below…

Mulit Lingual Metadata

In the Working languages box select Dutch. This will enable us to specify different language texts for every metadata terms ( i.e. Dutch names for Monday, Tuesday…etc)

o Start creating the Term Store, Term Group and Term… (FYI, each Term Store can have, at the max, 1 million terms. Every Term Group can hold 1000 Term sets and there can be 1000 terms per Term set.)

Mulit Lingual Metadata

For Term group you can specify the Group Managers as well as the contributors for terms in this group. This is called Taxonomy. Only selected people can contribute to the terms in the group. The cousin of Taxonomy is Folksonomy wherein every user can contribute ( i.e. something like ‘Like’ and ‘Dislike’ on YouTube). Folksonomy can be enabled by selecting ‘Submission Policy’ to open while creating the term set as shown in the figure below.

Mulit Lingual Metadata

o Next comes the Terms, the actual values which shall be used while tagging the contents. While creating the Terms you can also specify the Synonymous. Therefore, in case a user falsely types in ‘Mon’ or ‘Mond’, SharePoint will automatically set it to correct to 'Monday'.

Mulit Lingual Metadata

o Configure the terms in Dutch

Ok now comes the interesting part. To satisfy the manger’s requirement for being able to create a Content type which was created in theU.S. to be used in the Brussels office, we need to provide the Dutch equivalent of days …

Go back to the Terms on the left panel and select one. Notice that the right hand side of the window has a language drop down. Select Dutch and provide the Dutch for Monday in the Label field as shown in the figure below

Mulit Lingual Metadata

Go ahead and provide the labels for each day. For demo I am using two days in a week.. Monday and Tuesday as terms ( yes I know…I am lazy )

3. Content type Syndication

Let’s now go to our Content type hub and create a content type in which one of the columns will contain the information about the day of the week. Unlike the previous version of SharePoint, there is a metadata column now available which will pull the information from the instance of the Metadata service we created in step 2.

Open the browser and go to the site collection specified as hub in figure 2.

Create a new content type ‘Day Of Weak ContentType

Mulit Lingual Metadata

o Add a new column to this content type by clicking the ‘Add from new site column’ link on the settings page. Name the column as ‘Day Name’ and set it to type Metadata.

Mulit Lingual Metadata

Mulit Lingual Metadata

For the possible value of this column, select the Term Group

Mulit Lingual Metadata

o Publish content type

Go to the Content Type settings and click on ‘Manage Publishing for this content type’.

Mulit Lingual Metadata

This will take you to another screen as shown below. Select Publish and press enter.

Mulit Lingual Metadata

Note: If you do not see this link in the setting, please activate the ‘Content Type Syndication Hub’ feature in the site collection feature gallery

Mulit Lingual Metadata

4.Create consuming Site Collection

With the meat of the work past us, now is the time to satiate ourselves with this splendid feature.

Create a new site collection from the Central Admin. In the site collection screen select “Dutch” as the language (so that day names should appear in Dutch and not English)

Mulit Lingual Metadata

Go to the site content type gallery and you will find the Days Of Week content type listed. You can modify the content type if you wish, but the changes won’t be reflected back to the hub.

Note: There are two scheduled jobs which a) published the content type from hub and b) pushed these published content types to the consuming site collection. In case you do not find the new content type in the consuming site collection, go to Central Admin > Monitoring > Review Job Status and run the Content Type hub and Content Type subscriber jobs. You may need to wait for half an hour before the jobs are executed and the content type appears in the consuming site collection

Mulit Lingual Metadata

Create a new list and add the content type to the list. (Make sure you have enabled Allow content Type checkbox in the Advanced Settings link of the page for add content type to be enabled in the content settings page.)

Mulit Lingual Metadata

Now the real thing…go ahead create a new item in the list and you can see the metadata column showing the predefined days name in Dutch…

Mulit Lingual Metadata

Mulit Lingual Metadata


Although the content type and metadata are available in a centralized location that does not mean each and every site content type/metadata should be defined there. The rule of thumb is to create only those items in the centralized hub which are to be used all across the organization’s IT footprint or at least which shall be used in more than one site collection.

For example, for a marketing site of an organization to syndicate a marketing content type and corresponding metadata is not really a good choice since it won’t be used anywhere... Just create the metadata/content type inside the site collection itself….

No comments:

Post a Comment