SQL Server 中维护的多语言 WebForms
这个问题是针对那些对我想要完成的事情有经验的人提出的。
目标:
我有一个在 ASP.NET 上开发的带有多个英文下拉列表的网络表单。
- 用户 1:选择所需的选项,然后将英文值提交到 SQL Server 数据库。
- 用户 2:然后选择用于查看表单的可打印版本的语言。然后,英语值会被翻译为所选的打印语言(可能通过一些 XML 文件来实现可扩展性)。
使用 XML 文件进行翻译是一种好方法,还是更好的解决方案?
- 如果这是一个好方法,那么关于如何实施它有什么建议吗?
- 如果这是一个不好的方法,最好的方法是什么?
This question is for someone hopefully with experience in what I'm trying to accomplish.
GOAL:
I have a webform with several drop-down-lists, in English, developed on ASP.NET.
- User 1: Select their desired options, then submits the English values to the SQL Server database.
- User 2: Then chooses a language in which to view a printable version of the form. The English values then get translated to the selected language for printing (presumably via some XML files for extensibility).
Is using XML files for translation a good approach, or is their a better solution?
- If this is a good approach, any suggestions on how to implement it?
- If this is a bad approach, what is the best way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设每个下拉列表中的项目都是唯一的。我认为你只需要 3 张桌子。
至于语言环境,我会使用文化代码而不是单独的表。每个 HttpRequest 都带有一个设置为用户浏览器语言的文化信息。类似于“en-US”。在表中使用此代码可以让您有效地选择正确的语言。
Assuming items are unique for each dropdown. I think you need only 3 tables.
As for the locale i would a culturecode instead of separate table. Eeach HttpRequest comes with a cultureinfo that is set to the user's browser language. something like 'en-US'. Using this code in your table with let you effectivly select the right language.
我建议你这样做:
这样有4个表
,每个下拉项都有一个唯一的ID(DropdownItemID)。您联接表 1、2、5 以获取所选语言环境的下拉项的本地化文本,但下拉项中的值在所有语言中保持相同。这更具可维护性和可扩展性。
I would suggest you to do it this way:
Have 4 tables
this way, you have a unique id to each dropdownitem (DropdownItemID). you join tables 1, 2, 5 to get localized text for dropdown item for the selected locale, but the dropdownitemid remain same in all languages. This is far more maintainable, and extensible.