У меня есть функция, использующая API-интерфейс SharePoint, поэтому метод SPUtility.GetLocalizedString доступен.
Я также определил номера языка uint 1033 (английский) и 1036 (французский) для использования в качестве одного из параметров.
[System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
$en = 1033
$fr = 1036
$str = "$Resources:docliblist"
$resx = "core"
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString($str, $resx, $en)
$locstr
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString ("$Resources:doclibList", "core", $fr)
$locstr
Когда я запускаю функцию, $ locstr пусто. Не ноль, просто пусто.
Кроме того, когда я использую функцию следующим образом:
$str = "$Resources:core, docliblist"
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString($str, $null, $en)
Я получаю возвращаемое значение 'docliblist'
Теперь, хотя я могу просто извлечь то, что мне нужно, из файла resx и поместить в свой собственный файл конфигурации, я озадачен тем, почему это не работает. Если у кого-нибудь есть совет, я буду признателен.
Спасибо.
* Edit
Какой смысл вам менять кавычки?