0

我必须将全球化(阿拉伯语)添加到我的英语 ASP.NET 应用程序中。

获取有关要在 Visual Studio 中完成的更改的信息非常容易,但获取有关要遵循的一般线路(服务器、数据库等)的信息,特别是要在我的 SQL Server 数据库中进行的更改,却不是那么容易。我需要复制数据库吗?也许是桌子?

该应用程序是一个学习管理系统:用户观看 Flash 电影,然后进行考试,然后写评论和反馈。表格是用户、组织、演示、电影、反馈和历史记录,以及更多安全性。

我们的想法是尽可能保留一台服务器,但允许重复数据库(我不知道这是否是一个可接受的解决方案)。

我应该如何进行?

非常感谢您的帮助,非常感谢您的帮助。

4

2 回答 2

0

我不知道你有什么样的应用程序,但如果可行的话,我建议你将本地化问题完全远离数据层。当然,如果您的应用以内容为中心(例如电子商务网站),这是不可行的。但是,如果您的数据库仅包含一些特定于语言的内容,例如国家/地区名称(例如),那么您可以删除这些并将本地化责任转移到应用程序层(为了与此示例保持一致,请将数据库中的国家/地区名称替换为ISO 代码,并让应用程序的表示层将这些代码转换为国家名称)。

这是因为本地化应用程序可能取决于 .NET Framework 和 Visual Studio 为您提供的本地化支持(资源文件、附属程序集、语言回退),并且许多工具将有助于该过程。但是,在数据库层,您只能自己做所有事情。

于 2012-05-04T13:47:59.703 回答
0

对于 Web 应用程序,有几种方法可以处理本地化,但您最终会得到资源文件 (.resx)。

在数据库方面,决定您是否只支持 2 种语言,在这种情况下,您可以避免重复文本字段,或者是否有其他语言的可能性,在这种情况下,您需要一个单独的表对于文本值,与语言键连接。

例如:

table something
  pk id,
  string data, 
  etc

table something_resx
  pk id,
  fk something_id
  fk lang
  string text

然后你会有一个像这样的查询

从某事物中选择数据、文本在 s.id = r.something_id 上加入 something_resx r 其中 lang = lang_key

于 2012-05-04T11:44:02.510 回答