2017-02-13 2 views
2

Я получила MVC настройку сайта и готовы к использованию нескольких языков благодаря этой статье: http://www.ryadel.com/en/setup-a-multi-language-website-using-asp-net-mvc/Лучшая практика для разделения файлов ресурсы в MVC

Что является лучшей практикой, чтобы разделить мои файлы ресурсы? Должен ли я использовать один большой файл ресурсов на один язык или должен ли я иметь файл ресурсов на каждую страницу, которую я использую?

Любой комментарий ценится

ответ

1

Единственный ответ «это зависит». Если общее количество текстов невелико, то вам, вероятно, понадобится всего 1 файл resx для каждого языка. Если он становится слишком грязным/слишком большим, разделите его на логические единицы.

В прошлом я использовал 1 набор файлов для общих текстов (Submit, OK, Cancel, Login, Search, Error) и 1 набор файлов для текстов, специфичных для домена (Customer, Product, Basket, Sold out, Оплата). Первый набор файлов - это возможный кандидат повторного использования для других проектов.

+0

Хорошо спасибо. Я уже думал о том, чтобы разделить общие тексты с более конкретными. Похоже, я тогда думал в правильном направлении. – Kaizer

+0

Я не мог удержаться от аргументов для противоположного решения ;-) – Stefan

1

Отказ от ответственности: основываясь на своем опыте;

Короткого рассказ: использовать только один файл, он имеет меньше накладные расходы при работе с Невизуальной-студией, не-XML-переводчиков

я использовал для разделения форм, страниц и т.д. в нескольких файлы.

Сначала это кажется хорошим способом дать немного структуры этим файлам: одна страница, один файл.

Выгода заключается в том, что у вас нет большого файла, содержащего все ключи. У вас короткие файлы, и относительно легко обнаружить неиспользуемые ключи.

Но ...

Даже в крупных проектах, для меня это трудно управлять. Позволь мне объяснить;

Обычно я не выполняю все переводы самостоятельно. Конечно, я могу справиться со своим родным языком и с помощью проверки орфографии, мой английский не страшен. Но когда дело доходит до (для меня) иностранных языков, обычно другой человек будет делать переводы для меня. Этот человек не всегда имеет опыт работы с визуальной студией и не знает, как обращаться с любым форматом XML (как файлы resx).

Когда проект развивается, ключи приходят и уходят. Таким образом, синхронизация всех ключей во время разработки проектов не имеет наивысшего приоритета; недостающие клавиши по умолчанию будут использовать язык по умолчанию. Чтобы все ухудшилось, во время бета-версий или обновлений вы обнаружите, что будут предприняты некоторые усилия для выполнения некоторых начальных переводов, которые со временем изменятся или устареют.

Итак, как всегда: изменение наступит.

Теперь, чтобы управлять этими изменениями, если я использую отдельные файлы, мне нужно будет сделать следующее, чтобы получить переводы. Заметка; переводчик не обладает визуальной студией или xml-опытом.

для каждого файла

  • удалить все ключи от целевого языка (чтобы удалить устаревшие ключи, которые не были сохранены)
  • скопировать ключи, чтобы преуспеть
  • скопировать общий перевод на excel file
  • структурируйте это так, чтобы вы могли пропустить его обратно в целевые файлы resx.
  • отправьте файл переводчику и получите некоторую информацию ffee в ожидании ответа
  • скопировать перевод в каждый Resx файл

Тогда вы сделали.

Так, устают от всех копировать/вставить, я недавно сделал следующее:

Используйте префикс для целевой страницы; например, HOME_Title и поместить все в один файл.

Процесс перевода теперь сводится к следующему:

для одного (1) файл

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

Для меня это работает лучше, так как меня не волнует, насколько велик файл, и я на самом деле нахожу процесс перевода более структурированным. Переводчику может потребоваться больше времени, потому что у него больше ключей для обработки при незначительных изменениях. Но вы можете обработать этот префикс, если хотите. И, кроме того, иногда больше контекста приведет к лучшему переводу. Обычно переводчик имеет некоторое отношение к продукту.

Итак, для меня я бы поместил все это в один файл.

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