Live Chat Here!
Making SharePoint Discussions Multilingual
Posted by Martin Laplante on 15 December 2011 10:59 AM
Team discussions have complexities that require some thinking before making them multilingual. A team discussion is a specialized list that contains two different content types and three different views, with views applying to one content type only.
The desired end result is that the content types that you wish to be multilingual have the appropriate PointFire fields added, and that the views that you wish to be filtered have the language filter web part added to the view and activated. You may also wish to make use of IceFire’s machine translation web part for discussions (currently in beta) to allow users to translate the posts that were made in another language.
Discussions have 2 content types: “Discussion” and “Message”. The “Discussion” content type is what is created when a new discussion is started, and includes the initial post in the discussion. The “Message” content type is for each of the replies in the discussion. A given Team Discussion list can have any number of discussions and any number of messages. The Discussion content type behaves like a folder, in that Message items are hierarchically underneath a single Discussion item.
Discussions have 3 views: “Subject”, “Flat”, and “Threaded”. The “Subject” view is a familiar “AllItems” page and contains a list of all of the items of content type “Discussion” within the list. The Flat and the Threaded views are similar to each other for the purpose of this discussion, and show items of type “Message” that are underneath a given Discussion, as though Discussions were folders.
Effects of adding the Item Language field.
When a Discussion list is made multilingual using the Multilingual List Settings in the list ribbon, by default only the Discussion content type within that list will have the additional language field(s) appearing in its New form unless the configuration key PFMUIContentTypes in web.config has been set to TRUE. PointFire can still set and filter this field even if it does not appear on the New and Edit forms, but given how discussions are designed and used, that can be inconvenient for users.
The effect of adding the Item Language field to the default Discussion content type is to allow filtering of the list of discussions by language. This means that for each discussion, a language has to be declared, or more than one if the checkboxes option is used, and a language filter can be applied to discussions. For instance, you can have French-language discussions and make them invisible to people whose language is not French, by letting PointFire add the Item Language field to the Discussion content type, and by letting PointFire add and connect the language filter web part on the Subject view. You can also let PointFire add the language Variation fields, which can link a discussion in one language with one in another. This is only useful for allowing users to toggle from a Flat or Threaded view of a discussion in one language to the equivalent discussion in another language.
Adding the Item Language field to the Message content type lets you filter posts by language within a multilingual discussion. This means that for each post, a language must be declared, or more than one if the checkboxes option is used, and it is possible to filter out posts made in a different language. Please note that if you choose to add the Item Language field to this content type, it must have the same settings (single vs multiple value, default language, mandatory) as for the Discussion content type within the same list. If you have made discussions language-specific, or if you are using the machine translation feature, which can automatically detect the language of the message, there may be no need to add the Item Language field to this content type nor to filter its two views by language. There is typically no need to add the language Variation fields, which can link a post in one language with one in another, to the Message content type.
How to add the Item Language field to the list content types.
Once you have determined which content types require which language fields and which views require a language filter web part, follow this procedure to add them:
1) Add the Item Language field to the Discussion content type by using the Multilingual List Settings in the list ribbon of any of the three views. Please note: whatever the view, this will add the language field(s) to the Discussion content type only, not the Message content type unless PFMUIContentTypes is true. Even if you have determined that the Discussion content type does not need it, add it initially and delete it from the list content type later. The language filter web part will only be added to the view on which the ribbon menu is invoked; it may have to be added manually to the other views if needed.
2) If you need to add the Item Language field to the Message list content type, use the list ribbon menu to go to the List Settings. Scroll down to “Columns” and check that the “Item Language” column is used in the Discussion content type only and not in the Message content type. If so, scroll back up to “Content Types” and click on “Message”. Near the bottom of the List Content Type Information screen, find and click on “Add from existing site or list columns”. Within the List Columns you will see the Available Column named “Item Language”. Click “Add” to put it in the “Columns to add” box then click OK.
3) If you need to delete the Item Language field from the Discussion list content type, use the list ribbon menu to go to the List Settings. Scroll down to “Columns” and check that the “Item Language” column is used in the Discussion content type. If so, scroll back up to the Content Types section and click on “Discussion”. Click on “Item Language”, and then click “Remove”.
4) If you need to add and connect a Language Filter web part to one of the three views other than the one to which it was added in step 1, navigate to that view. Remember that Discussion view is only available at the top level of the list, while the other two views are only available within a discussion. Edit the page and add a Language Filter Web Part from the web part gallery if there is not already one on that page. When the filter is first added from the gallery, it is not connected, and will give a message to that effect. The filter has a clickable link that will automatically connect it to the list, or this can also be done manually by following the instructions in the user guide.