1

Я добавляю глобализацию, используя westwind globalization в моем asp mvc-приложении, которое уже запущено на производственном сервере (Git, TeamCity с непрерывной доставкой).Развертывание новых переводов на производство в ASP MVC с глобализацией Westwind

То, что я хочу достичь, если поток следующим образом:

  • глобализовать новый вид (создать необходимые переводы)
  • отправить все изменения в Git
  • получить переведенный вид - не опасаясь ручного импорта новые переводы в панели локализации.

Единственное решение, которое пришло мне в голову, чтобы использовать EF Миграции (приложение использует EF Code First):

  • добавить локализаций таблицу Код первой модели и создать миграции
  • глобализовать новый просматривать и создавать (некоторые из них автоматически) новую миграцию, которая вставляет новые записи в таблицу локализации.

Есть идеи?

+0

Я не уверен, что я что-то пропустил, но глобализация Westwind хранит строки в базе данных. Итак, ваша идея не напрямую переводить в live-db, а локально сначала, а затем переместить его, чтобы жить так или иначе? – Remy

+0

@Remy -yep, это была первоначальная идея, но у меня получилось другое решение. Просто создал оболочку для метода DbRes.T, которая создает перевод по умолчанию. – g36

ответ

0

Я закончил с различным решением: Я создал обертку для метода DbRes.T, который создает исходный перевод.

Редактировать: Подробнее о решении.

Я создал статический класс Переводы с несколькими методами, используемыми в представлениях. После добавления значений по умолчанию для первого вызова. Один из них выглядит как что-н:

общественности статической строки Перевести (строка ResourceSet, строка ключа, строка defaultEnglish) { вар 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; 
    } 
+0

Не могли бы вы рассказать об этом немного больше? Может быть интересно и для других людей, поскольку я видел эту проблему несколько раз. – Remy

+0

@Remy Я отредактировал и добавил дополнительную информацию. – g36

Смежные вопросы