When we provision a TaxonomyFieldType using elements.xml we set the ShowField attribute to "Term1033" where the 1033 represents the LCID of the field to be displayed.

I am asking this as when variation sites are created, the displayed LCID continues to be 1033 rather than say 1036 for French. This causes issues in the ContentByQueryWebPart for rollups, and several others.

Is anyone aware of a way to modify the ShowField attribute using C#?

In an ideal world my site definition event receiver would update that property accordingly during site provisioning VIA variations however I can't see any decent property on the field that contains this value.

Variation Sites are modifying the ShowField attribute to the correct French equivalent.

However, the problem here is that English Labels are stored in a custom list for managed metadata fields rather than their French labels. I can verify this in SharePoint Manager Grid View. Has anyone experienced this before? The issue manifests in display / roll-up as they are merely displaying the contents of the field which is in English. I apologize for the misleading presumptuous initial question. I have validated that the TaxonomyItemEventReceiver is stapled to the list, am curious where the translation would occur. This is a custom Calendar list schema.

Any help would be appreciated. SharePoint 2010.

  • Did you actually added terms in all language variations? e.g. the same term must exist via labels in Term Store Management for each language and SharePoint will pick the proper label Jul 19, 2012 at 21:36
  • Yup - all configured - OOTB screens show the correct french label - when customized view form VIA elements.xml / Visual Studio in custom schema / wsp we see the problem.
    – thastark
    Jul 20, 2012 at 0:09
  • I should also add - I was hasty in assuming the ShowField attribute was not modified by variations feature - it was reset properly. Looking at disassembly this is an issue in the controls not checking the UI culture before reading the term set ...
    – thastark
    Jul 20, 2012 at 0:10
  • Also worth pointing out that English (source) labels are stored in the list items along with their GUIDs. The disassembly looks like this: TaxonomyFieldValue taxonomyFieldValue = new TaxonomyFieldValue(this.Field); taxonomyFieldValue.PopulateFromLabelGuidPair(this.webTaggingUI.Text); return (object) taxonomyFieldValue; ....... therefor, it would never show the French Term ... hence why a custom control is required to display the correct value ... hope this helps someone else ...
    – thastark
    Jul 20, 2012 at 0:18

2 Answers 2


I think the problem you address is not a problem of the field. For the Taxonomy Store you can also define a default and additional languages. Have you configured this. You need to define english and french label to all terms too.

  • Both French & English languages were added to term store and both French / English labels were created. I went a step further and changed my regional settings not to inherit from the current web in hopes that would have significance. No luck their either. OOTB Edit Form does show the French picker / French labels in List View. However this custom form is not displaying french. I'm building a custom control that looks up in Term Set. Will post solution in 8 hours as I can't answer my own question this quickly.
    – thastark
    Jul 20, 2012 at 0:07

As a final follow up to this - the issue was in the Timer Job - I noted an error after manually trying to sync the Taxonomy Hidden List (which only had English labels):

Exception occured while hidden list being updated: Microsoft.SharePoint.SPException: The changeToken refers to a time before the start of the current change log. at Microsoft.SharePoint.SPChangeCollection.GetChanges(SqlSession session) at Microsoft.SharePoint.SPChangeCollection.InitChangeCollection() at Microsoft.SharePoint.SPChangeCollection..ctor(SPContentDatabase db, SPChangeQuery query) at Microsoft.SharePoint.Administration.SPContentDatabase.GetChanges(SPChangeQuery query) at Microsoft.SharePoint.Taxonomy.UpdateHiddenListJobDefinition.CheckForSiteRestore(MetadataWebServiceApplicationProxy proxy, PartitionSettings proxySettings, Dictionary`2& databaseChangeTokens) at Microsoft.SharePoint.Taxonomy.UpdateHiddenListJobDefinition.ProcessProxy(MetadataWebServiceApplicationProxy proxy) at Microsoft.SharePoint.Taxonomy.UpdateHiddenListJobDefinition.Execute(Guid targetInstanceId)

I found this blog (http://blogs.msdn.com/b/joerg_sinemus/archive/2011/03/03/terms-and-how-to-update-taxonomyhiddenlist-when-the-timer-job-was-not-able-to-update.aspx?CommentPosted=true#commentmessage), noting a similar issue, so I decided what the hell ... may as well give it a shot ... and it worked ... however we have the March CU 2012 applied (http://support.microsoft.com/kb/2597150) which concerns me as I'm not sure this is an error that has been reported to MS.

Keep it in your back pocket for a rainy day - on the other hand I have a CQWP that supports MUI as long as you're displaying Managed Meta Data ... barf :)

Have a good one guys & thanks for your help.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.