我正在编写一个ASP.Net Core2.2WebApi,现在我收到了支持多种语言(de,en)来描述我们产品的请求。这个场景的最佳实践是什么?
我现在读了很多关于resx文件和这个文档的文章2次:https://learn.microsoft.com/de-de/aspnet/core/fundamentals/localization?view=aspnetcore-2.2,但是我也读了这个帖子(https://stackoverflow.com/a/10533904/11049948),它说我应该只为我的数据库中的描述包括多个列(针对每种语言)。
现在,最佳实践是什么?
澄清问题:
所谓产品是指通常的产品(比如衣服)。在前端(角),管理员应该能够编辑/创建产品=>产品是动态的。我还没有真正理解什么时候使用resx文件(只对静态内容使用,这里不是吗?)现在最好的做法是在Product中有这2列: Description_DE,Description_EN?我要用两种以上的语言做什么?
我希望这能澄清问题..。
发布于 2019-08-29 11:40:18
您可以创建一个用于描述产品的表(而不是varchar列)。
对于products表:
|--------------|----------------|------------------------|
|ProductId | DescriptionId |Price |
|--------------|----------------|------------------------|
| 1 | 20 | 150.00 |
| 2 | 20 | 370.00 |对于Description的新表
|--------------|------------|------------------------|
|DescriptionId | LanguageId |Label |
|------------- | -----------|------------------------|
| 20 | 1 | This is English bla bla|
| 20 | 2 | das ist en deutsch bla |Language也是一个表。
使用这种方法,您可以根据需要管理多种语言,当您想获取数据时,可以传递用户的languageId。
因此,如果您想了解产品1的详细信息:
SELECT * from product p
INNER JOIN Description d
ON p.descriptionId = d.descriptionId
WHERE p.podouctId = 1 and d.languageId = 2 -- DE Desciptionhttps://stackoverflow.com/questions/57708308
复制相似问题