SQL Server 中维护的多语言 WebForms

发布于 2024-11-29 20:50:55 字数 378 浏览 0 评论 0原文

这个问题是针对那些对我想要完成的事情有经验的人提出的。

目标

我有一个在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

離殇 2024-12-06 20:50:55

假设每个下拉列表中的项目都是唯一的。我认为你只需要 3 张桌子。

* for the dropdowns (dropdownid, name)
* for the dropdown items (dropdownitemid, dropdownid)
* for the translated items. (id, dropdownitemid, text, culturecode)

至于语言环境,我会使用文化代码而不是单独的表。每个 HttpRequest 都带有一个设置为用户浏览器语言的文化信息。类似于“en-US”。在表中使用此代码可以让您有效地选择正确的语言。

Assuming items are unique for each dropdown. I think you need only 3 tables.

* for the dropdowns (dropdownid, name)
* for the dropdown items (dropdownitemid, dropdownid)
* for the translated items. (id, dropdownitemid, text, culturecode)

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.

追风人 2024-12-06 20:50:55

我建议你这样做:

这样有4个表

1) Dropdown (DropdownID, DropdownName, etc)
2) DropdownItems (DropdownItemID, DropDownItemName)
3) Dropdown_DropdownItems (DropdownID, DropdownItemID)
4) Locales (localeID, LocaleName)
5) DropdownItems_Locales(DropdownItemID, LocaleId, LocalText)

,每个下拉项都有一个唯一的ID(DropdownItemID)。您联接表 1、2、5 以获取所选语言环境的下拉项的本地化文本,但下拉项中的值在所有语言中保持相同。这更具可维护性和可扩展性。

I would suggest you to do it this way:

Have 4 tables

1) Dropdown (DropdownID, DropdownName, etc)
2) DropdownItems (DropdownItemID, DropDownItemName)
3) Dropdown_DropdownItems (DropdownID, DropdownItemID)
4) Locales (localeID, LocaleName)
5) DropdownItems_Locales(DropdownItemID, LocaleId, LocalText)

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文