【问题标题】:Umbraco 7 Working with languages/DictionaryUmbraco 7 使用语言/字典
【发布时间】:2015-04-07 09:54:14
【问题描述】:

我们的项目终于到了可以添加翻译的地步。我似乎无法弄清楚如何在 Umbraco 7 中实际使用语言。我在后端添加了一种语言和一些字典项,但是如何在我的代码中选择给定的语言?

是否有任何帮助程序可以在 API 中获取翻译?像 DictionaryHelper.Translate("Answers","da-DK"); ?还是类似的?有没有办法在启动控制器中设置语言等,并且总是从字典中获取该语言?

提前致谢。 乔纳斯。

【问题讨论】:

    标签: c# dictionary translation umbraco7


    【解决方案1】:

    首先,您必须在“设置”>“语言”下创建语言。

    下一步是在每个节点上设置语言,或者只是在顶部节点上。因此,假设您的内容树如下所示:"

    然后右键单击“da”并选择“文化和主机名”。为此节点选择“da-DK”。所有子节点(和“da”节点)现在都将使用丹麦语。

    所以现在很容易在 razor 和 c# 代码中获取字典项。在剃须刀中:

    @Umbraco.GetDictionaryValue("Answers")
    

    【讨论】:

    • 谢谢莫顿。让我们假设我没有节点,而是一个带有 Angular 的静态页面来表示前端。我将如何以编程方式设置字典的语言?
    • 你可以使用 GetDictionaryItemByKey our.umbraco.org/Documentation/Reference/Management-v6/Services/… 它会给你一个包含所选项目的iso代码的列表。
    • 谢谢莫顿。最后一个问题,如果您不介意,我有一个自定义部分,其中树应该根据登录的用户权限而有所不同,但由于它存储在缓存的 tree.config 中,除非我更新 BIN 文件夹,否则它不会应用更改。你知道清除 tree.config 的任何编程方式吗?
    • @Jonasm hm 我不确定这是正确的做法。 Tree.config 应该尽可能长时间地被缓存。我认为您应该更深入地进行权限测试。因此,所有用户共享同一个部分,然后您控制该部分中的权限。然后,您将向正确的用户隐藏/显示正确的节点。
    • 嗨,莫滕,谢谢您的回答。实际上,这就是我想要做的。你介意看看这里,我在其中提交了一个包含更多详细信息的堆栈:stackoverflow.com/questions/29509288/… - 谢谢 :)
    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多