2013-11-13 5 views
0

У меня есть действие под названием index, которое возвращает представление, и я определил 3 вида: index.cshtml, index.fr.cshtml и index.sv.cshtml, каждый из которых содержит мою страницу на другом языке. Я ожидал, что мое приложение автоматически найдет эти представления и будет обслуживать их в соответствии с настройками предпочтений браузера, но, похоже, это не так.Интернационализация с несколькими видами

Есть ли какой-то переключатель, который я должен включить, чтобы сделать эту работу? Я добавил <globalization uiCulture="auto" culture="auto" /> в <system.web> разделе моего web.config

ТИА - е

ответ

0

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

Вы можете решить, как далеко вы продвигаетесь с глобализацией: javascript/urls/tekst. Ключ состоит в том, чтобы использовать ресурсы и поставить пару значений ключа. Посмотрите на http://channel9.msdn.com/Events/aspConf/aspConf/How-To-Achieve-World-Ready-Domination-In-ASP-NET-MVC-4

+1

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

0

Index.mode.cshtml предназначен для режима отображения браузера ViewEngine.

Для локализации вам необходимо создать пользовательский ViewEngine. Here is one for WebForm. Просто измените его на свои нужды и наследуйте от RazorViewEngine вместо WebFormViewEngine.

+0

Вы можете создать настраиваемый режим отображения для языков, но я не рекомендую его, так как его текущая цель - классификация браузера. – LostInComputer

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