Локализация на бизнес-уровне - PullRequest
1 голос
/ 10 октября 2011

Мы пишем приложение ASP.NET MVC, и время от времени нам нужно добавлять строку в описание или примечание, которое не генерируется пользовательским интерфейсом, в запись базы данных.Например, если нам нужно отменить транзакцию, мы добавим слово «Реверс» к описанию исходной транзакции.

Как лучше всего локализовать эти строки, которые мы должны добавлять каждую сейчас?и опять?В веб-проекте мы используем файлы языковых ресурсов, поэтому все действительно заботится о .net Framework.Можете ли вы получить проект библиотеки классов (бизнес-уровень), чтобы воспользоваться преимуществами автоматической локализации, такой как веб-проект?

1 Ответ

1 голос
/ 11 октября 2011

То, что мы обычно делаем, это наличие дополнительных файлов ресурсов в фоновых проектах. Обычно они не становятся такими большими, поэтому я думаю, что это безопасно. Обычно вы можете получить доступ к этим ресурсам следующим образом:

string dummy = Properties.ResourceFileName.Reverse;

Если вы добавите файл ресурсов в Visual Studio, IDE позаботится о создании необходимого кода, чтобы это работало.

Для вашего примера я бы предложил вам такую ​​строку:

Reverse {0}

Затем замените {0} на фактическое описание транзакции. Таким образом, переводчик сможет передвигаться {0} до «Обратного», если этого требует конкретный язык. Это всего лишь пример, но лучшие практики предлагают нам избегать объединения локализуемых строк, так как они могут разрываться на разных языках. Пример:

string dummy = string.Format(Properties.ResourceFileName.Reverse, transactionDescription);
...