Sharepoint托管应用程序本地化以列出列

时间:2015-05-26 11:04:22

标签: sharepoint sharepoint-2013 sharepoint-apps

我创建了一个SharePoint托管应用和一个新列表。但我想通过资源文件显示其列表列显示名称。为此,我创建了一个新资源 从rigth点击功能> 添加要素资源,然后创建的密钥为 PersonName ,值为人名。 我在列表schema.xml

中写完后
<Field ID="{27912FBB-5063-4FF7-9829-B194DDBC7FEB}" Type="Text" Name="PersonName" DisplayName="$Resources:PersonName" Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="PersonName" MaxLength="255" />

但列表列似乎是

  

$资源:_FeatureId {54A6CD41-6DB3-45FF-9A2F-D496A13A871F},PERSONNAME;

我该如何解决?

1 个答案:

答案 0 :(得分:0)

我肯定已经很晚了,但我遇到了同样的问题,我想出来了。

您可能正在尝试使用列表的schema.xml内的资源键。

这是使用它的错误地方。而是复制整行:

<Field ID="{27912FBB-5063-4FF7-9829-B194DDBC7FEB}" Type="Text" Name="PersonName" DisplayName="$Resources:PersonName" Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="PersonName" MaxLength="255" />

列表定义所在列表的elements.xml内部。所以你的例子应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

<ListTemplate
    Name="UserList"
    Type="100"
    BaseType="0"
    OnQuickLaunch="TRUE"
    SecurityBits="11"
    Sequence="410"
    DisplayName="UserList"
    Description="My List Definition"
    Image="/_layouts/15/images/itgen.png"/>


  <Field ID="{27912FBB-5063-4FF7-9829-B194DDBC7FEB}" Type="Text" 
         Name="PersonName" DisplayName="$Resources:PersonName" 
         Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" 
         StaticName="PersonName" MaxLength="255" />
</Elements>

如果你仔细阅读,这也在msdn中记录: https://msdn.microsoft.com/en-us/library/office/fp179919.aspx#LocalizingAppWeb

搜索标题“本地化自定义列表的列名”,你应该找到它。