我需要为员工信息创建存储,可能是1000~2000名员工。 员工信息将显示在网站上。
此外,我还需要分区(10~20)和位置(50~200)信息可维护。
因此,当我输入部门和职位的员工信息时,可以从下拉列表或任何可行的选择器中进行选择。
但是分工和职位的名称是多语种内容。
有人可以建议我采用合适的方式来构建这些信息存储吗?
这是我目前的计划:
为了实现多语言内容,我通过保留部门名称和位置名称的本地化字符串键来使用该概念。例如。 {$ AssistantSecretary $}
但是当我输入员工信息时,选择器已根据默认的文化设置进行翻译。最终我的默认文化是英国,所以我只能用英语获得部门名称和职位名称。
答案 0 :(得分:2)
为什么要将所有这些放入自定义表中?
您可以考虑将员工建模为内容(页面类型),将分部和位置建模为分类(通过类别)。
通过制作员工内容,您可以获得全面的多语言支持。类别名称可以使用本地化进行管理(Kentico 10中的编辑者可以访问,但早期版本中没有。)
请注意,除非您明确指定语言,否则使用本地化的翻译将使用当前用户语言。
例如:ResHelper.LocalizeString(divisionName, "de-de")
将返回德语翻译(如果可用),无论当前用户首选语言如何。
答案 1 :(得分:1)
我不是本地化Kentico内容的专家,但我更喜欢SoYuJe在自定义表格中存储数据的原始方式。
Marnix的方法存在一些困难 - 您在建模内容(本示例中的员工)时有正确的本地化功能,但原始要求最多需要2000名员工 - 有一些{ {3}}这可能会导致您在实施前应考虑的问题。
我们建议内容树中的每个项目(页面)最多包含1000个直接子页面。这是我们建议您从开发过程一开始就考虑的事项。
答案 2 :(得分:0)
您可以使用ResHelper.GetString(divisionName),当您在网站上切换语言时,返回的字符串将是当前语言。本地化将为安装到网站/实例的每种语言提供翻译选项。