多语言网站的列表视图Web部件中的自定义列不会使用自定义语言标签。保留默认语言

时间:2014-05-06 21:17:13

标签: sharepoint sharepoint-2010 sharepoint-designer

到目前为止,我有一个相当独特的问题。我们正在运行多语言SharePoint 2010环境,其中英语为默认语言,法语为辅助语言。我们已经将站点设置为差异关系,但我正在讨论的问题也发生在变体之外。

我们在变体之外(但在集合中)创建了一个两个站点必须共享的库。通过Designer创建了列表视图Web部件,以添加到每个站点以提供列表的快速视图。如果我们在libary中并切换到法语,然后更新列标签,它将记住设置(因为资源文件)并在语言来回翻转时进行维护。它不起作用的地方是变体中的网络部分或语言不同的地方。

如果语言不同,则开箱即用的列可以查找,但自定义列(所有站点列不是库\列列)仍保留为英文标签。如果在变体内或外部浏览器语言发生变化,则无关紧要。它总是回归英语。它并没有使用列表本身使用的相同资源文件。

我创建了一个自定义视图,并根据https://sharepoint.stackexchange.com/questions/50004/how-to-change-column-title-for-a-view-but-not-modify-the-list使用xslt对其进行了修改,但这仅在列表中有效,并且未在列表视图中出现。

我无法成为遇到它的第一个,要么我没有正确执行我的搜索,也没有人记录过此修复程序,或者这是我们无法解决的问题OOTB工具。另一方面,解决方案必须通过OOTB或少量客户端更改来完成。我无法启动Visual Studio,因为他们正在试用Office 365并且已经放置了一个"没有自定义代码"移民授权(这对我来说真的很难。我喜欢我的代码; P)。

提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

好的,我想出了一个解决方案。我在页面上编辑了Web部件的XSLT。我做了以下事情:

  1. 在Site Ccollection中创建变体
  2. 在变体之外创建库。
  3. 添加库所需的所有列。在继续之前,所有列都非常重要。
  4. 创建法语和英语视图。
  5. 通过设计师创建列表视图Web部件。
  6. 将列表视图Web部件添加到每个站点,选择要使用的相应视图。
  7. 在SharePoint Designer 2010中编辑页面。
  8. 将光标放在要修改的列中。
  9. 单击功能区上列表视图工具中的“设计”。
  10. 然后单击“自定义XSLT”并选择“自定义项”。选择此选项,否则您将生成 LOT 不必要的XSL代码。
  11. 您正在寻找类似于以下内容的作品:

    <xsl:with-param name="fieldtitle">
      <xsl:value-of select="@DisplayName"/>
    </xsl:with-param>
    
  12. 通过键入所需的实际列名来修改它。你应该得到这样的东西:

    <xsl:with-param name="fieldtitle">
      New Column Name.
    </xsl:with-param>
    
  13. 现在,仅对于此页面,该列将被重命名。

  14. 有一些警告:

    1. 似乎不适用于发布门户。我认为这与SP在这种情况下如何存储页面有关。在发布门户中,您只能修改无法修改内容的页面布局。
    2. 如果添加其他列,则需要重复XSLT修改
    3. 无论如何,我希望这有助于解决与我有相同问题或需要的任何其他人。