0

我正在使用 Umbraco v7.x。我的静态页面很少,需要以两种语言添加(en/da)。

我知道有两种翻译方法

1-复制文件夹并分配不同的文化和主机名,并根据语言添加字段数据。

2 - 使用字典项目。

但我的问题是客户希望在所有页面上都有自定义字段,这样他就可以更改静态页面数据而无需询问开发人员。因此,如果我使用第一种方法更改语言,也会更改此解决方案不需要的 URL。

其次,我使用字典而不是客户如何更改字段数据,因为他必须去字典项目并在那里进行任何更改。这不是问题,但需要格式化文本,如果我使用字典项,这是不可能的。

任何解决此问题的方法。

谢谢

4

1 回答 1

0

如果您想要一个 1:1 翻译的网站,我建议您使用Vorto(这意味着每条内容都有每种语言的翻译。对硬编码到模板中的文本使用字典项,但 Vorto 会包装您的属性编辑器,以便您可以在同一个节点中编辑每种语言。然后您可以使用Umbraco 附带的HasVortoValue()andGetVortoValue()而不是HasValue()andGetPropertyValue()方法。这将根据请求的文化返回正确的值。您还需要通过设置配置 Umbraco 以加载多语言内容主机名并将其与文化相关联。您可以在主节点的上下文菜单中选择“文化和主机名”,然后单击“添加域”(您需要先在“设置”部分添加语言) :

文化和主机名对话框

或者,如果您想为每种语言使用子文件夹而不是不同的域(例如,sitename.com/english 而不是english.sitename.com),您可以创建自定义内容查找器。我已经写了几篇关于如何在此处此处执行此操作的博客文章。

于 2016-08-16T14:02:50.820 回答