当前位置: 首页 > 编程语言 > C#

如何本地化数据库驱动的网站Share

时间:2023-04-10 19:04:41 C#

HowYouLocalizeaDatabase-DrivenWebsiteresx文件。但是大多数系统不能依赖于此,因为它们是数据库驱动的。那么你如何解决这个问题呢?是否有内置的.NET方式,或者您是否在SQL中创建转换表并全部手动完成?如果您必须在大多数站点上执行此操作,是否有任何理由甚至使用resx本地化方式?这方面的一个例子是我的网站上有一个常见问题解答列表,我将此列表保存在数据库中,以便我可以轻松添加/删除更多内容,但是通过将其放入数据库中,我无法添加信息被翻译成多种语言。在我看来,本地化动态内容(例如您的常见问题解答)应该在数据库中完成。根据您的问题的存储方式,我可能会创建一个“区域设置”列,并在从数据库中选择常见问题解答问题时使用它。当您开始本地化大量表格时,我不确定这是否会很好地扩展。对于静态内容(例如表单字段标签、静态文本、图标等),您应该能够使用基于文件的资源。但如果您真的想要,创建一个可以处理此问题的自定义资源提供程序实现似乎并不难。以下是一些相关链接:对于数据模型中的给定项目,将描述部分拆分为具有区域设置标识列(LCID)的本地化表。所以Product表将不包含产品描述或名称,而只包含其硬性值和快速值(ProductId、EAN、NumberInStock、NextStockData、IsActive、IsPublished)等。ProductDescription然后包含ProductId、Name、Description、LCID我住在加拿大所以多语言是一个大问题。我见过两种方法。第一个选项是将特定记录的所有本地化数据存储在不同的表中,通过主键链接到原始表和区域设置。第二个选项与第一个选项类似,不同之处在于对于每个语言环境,都有一个不同的表,其中语言环境作为表名的后缀。选项A.Item(ItemID,...)ItemLocal(ItemID,LocaleID,...)选项B.Item(ItemID,...)Item_ENUS(ItemID,...)Item_ENGB(ItemID,...)Item_FR(ItemID,....)我认为最接近的第三个选项,如果数据库本身支持它会很棒,将所有本地值存储在同一个字段中。如果该字段设置为varchar-multilocal,则必须通过传递指定语言的参数来访问它。据我所知不存在这样的事情,但我认为这会让事情变得更容易、更流畅。目前,翻译无法自动完成。最好的方法是让人工翻译并使用Nick的方法来显示正确的语言。我们混合使用RESX文件,Kibbee响应选项A。我们创建了一个简单的工具来在线管理RESX文件:http://blog.lavablast.com/post/2008/02/RESX-file-Web-Editor.aspx以上就是C#学习教程:数据库驱动网站如何本地化分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: