我有一个使用SharePoint API的函数,因此公开了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文件中取出我需要的东西并放入我自己的配置文件中,但我很困惑为什么这不起作用。如果有人有任何建议我会很感激。
感谢。
*编辑
更改引号有什么意义?
答案 0 :(得分:3)
如果$Resources
不是powershell变量,则需要转义'$'
。试试这种方式:
$str = "`$Resources:docliblist"