【问题标题】:Complex Localization with MVC ASP.NET使用 MVC ASP.NET 进行复杂的本地化
【发布时间】:2011-07-19 11:35:20
【问题描述】:

我们目前为我们的网站设置了一个 Web 表单,并希望慢慢将其转换为 MVC。目前,我们将翻译存储在数据库中。我们的翻译表包含每种语言的列和一种标题。我们可以用(主键)识别翻译

但是当我们实际上可能有不同的客户对同一段文本想要不同的词时,情况会变得更加复杂。

例如人们会希望它阅读 - 交付成本 下一个可能希望它为 - 交货价格

然后我们有第二个 CustomTranslation 数据表,它与翻译相同,但其中还有一个客户 ID 号。如果用户登录并寻找翻译的标识为“DeliveryCost”,它将检查 CustomTranslation 表中是否有记录,它将在标准翻译表中使用该记录。

然后它将选择用户想要的适当语言。

基本上,我需要能够根据用户设置翻译我们的网站。以及他们为之工作的公司(我们的客户)

本地化的一般方法使用资源文件,但我们需要真正将它们保存在数据库中。这会产生第二个问题,即当您尝试声明属性显示名称和验证消息时,它们还需要具有不同文本和/或翻译的能力,但通常它需要一个我们不会拥有的静态字段。

解决这个复杂的本地化问题的最佳方法是什么?

提前致谢。史蒂夫

【问题讨论】:

    标签: model-view-controller localization translation


    【解决方案1】:

    问题 1 - 在数据库中拥有资源
    使用this article 中使用的方法将标准资源扩展到数据库中。

    问题 2 - 为每位客户定制本地化
    没问题,标准的 .net 方法支持包括区域或客户在内的本地化,只需使用即 en-US、en-US-Customer1、en-US-Customer2 等。

    【讨论】:

    • 有趣的是拥有 en-US-Customer1 和 en-US。如果 eu-US-Customer1 缺少翻译,它会退回到 en-US?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多