具有多语言内容的可维护数据

时间:2017-04-12 03:27:07

标签: kentico

我需要为员工信息创建存储,可能是1000~2000名员工。 员工信息将显示在网站上。

此外,我还需要分区(10~20)和位置(50~200)信息可维护。

因此,当我输入部门和职位的员工信息时,可以从下拉列表或任何可行的选择器中进行选择。

但是分工和职位的名称是多语种内容。

有人可以建议我采用合适的方式来构建这些信息存储吗?

这是我目前的计划:

  1. 员工:自定义模块
  2. 分部:自定义表
  3. 职位:自定义表
  4. 为了实现多语言内容,我通过保留部门名称和位置名称的本地化字符串键来使用该概念。例如。 {$ AssistantSecretary $}

    但是当我输入员工信息时,选择器已根据默认的文化设置进行翻译。最终我的默认文化是英国,所以我只能用英语获得部门名称和职位名称。

3 个答案:

答案 0 :(得分:2)

为什么要将所有这些放入自定义表中?

您可以考虑将员工建模为内容(页面类型),将分部和位置建模为分类(通过类别)。

通过制作员工内容,您可以获得全面的多语言支持。类别名称可以使用本地化进行管理(Kentico 10中的编辑者可以访问,但早期版本中没有。)

请注意,除非您明确指定语言,否则使用本地化的翻译将使用当前用户语言。

例如:ResHelper.LocalizeString(divisionName, "de-de")将返回德语翻译(如果可用),无论当前用户首选语言如何。

答案 1 :(得分:1)

我不是本地化Kentico内容的专家,但我更喜欢SoYuJe在自定义表格中存储数据的原始方式。

Marnix的方法存在一些困难 - 您在建模内容(本示例中的员工)时有正确的本地化功能,但原始要求最多需要2000名员工 - 有一些{ {3}}这可能会导致您在实施前应考虑的问题。

  

我们建议内容树中的每个项目(页面)最多包含1000个直接子页面。这是我们建议您从开发过程一开始就考虑的事项。

答案 2 :(得分:0)

您可以使用ResHelper.GetString(divisionName),当您在网站上切换语言时,返回的字符串将是当前语言。本地化将为安装到网站/实例的每种语言提供翻译选项。