【问题标题】:How do I localize the names of menu items in Sitecore?如何本地化 Sitecore 中菜单项的名称?
【发布时间】:2012-12-06 21:54:05
【问题描述】:

我正在为 Sitecore 网站创建本地化版本(西班牙语和中文)。原始语言是英语。我已经学会了如何创建特定语言版本的页面。但我不知道如何更改导航项本身的名称。例如,当我预览我的西班牙语页面 (http://content.example.com/?sc_lang=es) 时,页面内容是西班牙语,但导航项本身(例如主页、关于、产品等)仍然是英文的。我在内容编辑器或页面编辑器中的什么地方解决了这个问题?

【问题讨论】:

    标签: sitecore sitecore6


    【解决方案1】:

    您需要修改主页功能区中项目的“显示名称”。请注意,这也会影响所选语言的项目 url。

    编辑:也许我的回答太快了,我可能过度阅读了某些内容,因为我的建议更改了 Url(如果您有设置“useDisplayName=true”,如 jammykam 更正)和名称特定语言的内容树中的项目。

    如果您在导航中显示的名称是基于项目名称的,那么可以按照我的建议进行操作,将显示项目的名称更改为当前语言,并使代码查看显示名称而不是项目名称。

    另一个选项是为菜单标题使用单独的字段,以防您希望您的标题与您的网址不同。

    【讨论】:

    • 这个解决方案对我有用。在内容编辑器中,我选择节点,选择语言/版本(即右上角的标志图标),然后选择主页 --> 重命名 --> 显示名称选项。这有点令人困惑,因为 Sitecore 也临时更改了节点(在左侧的导航树中),但它不会影响 URL(在我的情况下,它保持为英文)。感谢您的帮助!
    【解决方案2】:

    当您说导航项本身仍然是英文时,您是什么意思?例如,在页面顶部运行的菜单?

    如果是这样,那么您需要确定这些项目在内容树中的位置,然后添加相关语言版本/翻译,并确保它们不是“共享”内容。

    @Martijn,我相信它只会影响 URL,是您在配置中的 linkManager 设置中设置了“useDisplayName=true”。

    【讨论】:

      【解决方案3】:

      我们通常会在基本内容模板中添加一个名为 MenuTitle 的字段,然后指示我们的导航控件从该字段中读取数据

      【讨论】:

        【解决方案4】:

        对于菜单,我们通常为页面标题和页面导航标题使用不同的字段。这允许作者为菜单指定较短的版本。

        一旦你有了它,你只需要确保你在你的标题控件中构建代码来找到菜单链接的目标项目(我假设它是一个通用链接,或者其他一些项目引用)并拉动目标项目的导航标题。

        当代码执行此操作时,它应该会根据当前语言自动提取该目标项的版本,这意味着您将获得正确语言的导航标题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-02
          • 2015-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-25
          • 1970-01-01
          相关资源
          最近更新 更多