1

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

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

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

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

  • 将 Localizations 表添加到 Code First 模型并创建迁移
  • 全球化新视图并创建(以某种方式自动)新迁移,将新记录插入到 Localizations 表中。

任何想法?

4

1 回答 1

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;
    }
于 2016-06-13T16:52:39.903 回答