I have a site column in my site collection whose title I change / translate with following PowerShell statement:
$w = Get-SPWeb "URL to the site collection"
$f = $w.Fields.GetFieldByInternalName("InternalFieldName")
foreach ($c in $w.SupportedUICultures)
{
$f.TitleResource.SetValueForUICulture($c, "Title for $($c.Name)")
}
$f.Update() /* or */ $f.TitleResource.Update()
That works pretty fine for all alternate languages but the default language.
Suppose there is a root web with a default language en-US and two alternate languages de-DE and tr-TR. Further suppose the field f
has a title of "Default Title" in all three languages. After running the script the field f
has the title "Title for de-DE" when German is selected as the language in the UI. In analogy f
has the title "Title for tr-TR" when the user selects Turkish as the language. If the default language is selcted the title is shown as "Default Title".
Suppose that de-DE is the default language then the title of f
is "Default Title", "Title for en-US", and "Title for tr-TR".
So the resource for the default language was not changed. Why?