asp.net-mvc - учебник - контроллер asp net mvc




Несколько языков в приложении ASP.NET MVC? (4)

Каков наилучший способ поддержки нескольких языков интерфейса в приложении ASP.NET MVC? Я видел, как люди используют файлы ресурсов для других приложений. Это все еще лучший способ?


Да, ресурсы по-прежнему являются лучшим способом поддержки нескольких языков в среде .NET. Потому что на них легко ссылаться и еще проще добавлять новые языки.

Site.resx
Site.en.resx
Site.en-US.resx
Site.fr.resx
etc...

Таким образом, вы правы по-прежнему использовать файлы ресурсов.


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

Это имеет смысл, когда вы думаете об этом, потому что локальные ресурсы являются локальными для страницы aspx, а в контроллере вы даже не выбрали свое представление.


Проект Orchard использует метод ярлыков «T» для выполнения всех переводов строк внутри страницы. Таким образом, вы увидите теги с @T («Строка для перевода»).

Я намерен посмотреть, как это реализовано за кулисами, и потенциально использовать его в будущих проектах. Краткое имя делает код чище, так как он будет использоваться много .

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

Смотрите http://orchardproject.net для получения дополнительной информации.


Это еще один вариант, и у вас будет доступ к CurrentUICulture в контроллере:

Проверьте MVC3-multi-language





multilingual