使用westwind全球化在ASP MVC中部署新的翻译

时间:2016-06-08 16:42:52

标签: asp.net-mvc globalization westwind westwind-globalization

我正在我的asp mvc应用程序中使用westwind globalization添加全球化,该应用已经在生产服务器上运行(Git,持续交付的TeamCity)。

如果流程如下,我想要实现的目标:

  • 全球化新视图(创建必要的翻译)
  • 将所有更改发送给Git
  • 获取翻译视图 - 无需担心在本地化面板中手动导入新翻译。

我想到的唯一解决方案是使用EF迁移(应用程序使用的是EF Code First):

  • 将“本地化”表添加到“代码优先”模型并创建迁移
  • 全局化新视图并创建(有些自动化)新迁移,将新记录插入Localizations表。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我最终得到了不同的解决方案: 我为DbRes.T方法创建了一个包装器,它创建了初始翻译。

编辑: 有关解决方案的更多细节。

我使用视图中使用的一些方法创建了一个静态类Translations。 第一次调用后,添加默认值。 其中一个看起来像那样:

public static string 
    Translate(string resourceSet, string key, string defaultEnglish)
    {
        var currentLang = GetValidCurrentCulture();

        var resourceValue = DbRes.TDefault(key, null, resourceSet, currentLang);
        if (resourceValue == null)
        {
            AddDefaultTranslations(resourceSet, key, defaultEnglish);
        }

        if (string.IsNullOrWhiteSpace(resourceValue))
        {
            return defaultEnglish;
        }

        return resourceValue;
    }