2sxc中的多语言应用程序-一些想法

时间:2019-02-13 21:34:28

标签: dotnetnuke 2sxc

我有使用一种语言的2sxc应用程序。 现在,我需要将其转变为所有级别的多语言应用程序:模型,控制器和视图。

2sxc资源负责最基本的视图内容。但这只是应用程序的1%。

如何在数据库/实体/表中正确使用两种语言?

一种(出色的)方法是为每种语言创建一个“镜像” /副本实体,并在视图中使用一个简单的if子句(如果lang是A,则使用entstuffA,否则使用entstuffB)。由于字段名称相同,因此不再需要更改。

我认为正确的方法是复制所需的字段。假设我有一个实体Animals,其字段为animalID和animalName。在多语言应用程序中,这将更改为animalID,animalName_EN,animalName_PT。但是,这将是使用视图的噩梦。对于每一次对animalName的调用,我都需要指定lang是一个还是另一个。

一个不错的技巧是对每种语言使用数据库中的查询,但是将字段名称从animalName_EN更改为animalName。视图和控制器将仅使用该字段的单个版本,并且不需要进行其他更改。但是我想这是不可能的,对吧?

问题是,如何在表中正确使用多种语言而又不会在视图和控制器中造成噩梦?

1 个答案:

答案 0 :(得分:1)

什么都不做! 2sxc会自动为您完成!认真的-这是没有道理的。只需在2sxc中启用其他语言(在apps-management中),所有实体立即都是100%多语言的。

这里是旧说明(屏幕截图非常旧),但是原理仍然相同:https://2sxc.org/en/Discover/Multiple-Languages