Создание переключателя языков - только 2 языка - ASP.NET MVC

Приложение ASP.NET MVC было близко к завершению, после чего было решено, что ему нужен переключатель языка. Это будут просто два языка: английский и японский. Они должны иметь возможность переключаться между двумя, но если один не выбран, он должен выбрать тот, который является языком браузера по умолчанию.

Мне интересно, каким будет лучшее решение в этом случае.

First thought, маршруты! Поэтому я меняю маршруты, чтобы иметь/{l} в конце каждого маршрута, и по умолчаниюl = "", Затем в моем BaseController (каждый контроллер основан на нем), я проверяю переменную l в маршруте. Каждое действие возвращает представление на основе языка.

Я хотел просто иметь возможность взломать / ja-jp в конце URL, и это показало бы представление на японском языке. Похоже, что это не совсем правильно. Затем я был очень плох в своих взглядах и вручную кодировал ссылки ... Я не мог заставить помощника сначала выводить нужные ссылки ... и у меня появилась плохая привычка вручную кодировать их. Таким образом, мне придется заново перекодировать каждую ссылку - чтобы взломать языковую переменную в конце.

Second thought... хорошо, используйте jQuery, чтобы добавить языковую переменную ко всем ссылкам якоря. Это кажется чрезмерно неуклюжим и трудным в определенных ситуациях, когда ссылки скрыты до тех пор, пока они не понадобятся и т. Д.

Итак ... на данный момент я решил просто сделать все, что нужно. Какой самый элегантный способ переключения между двумя языками - без использования файлов ресурсов? Я просто хочу, чтобы действие выбирало между двумя представлениями, основанными на языке.

Переписываю ли я каждую ссылку, чтобы использовать Html-помощник, а затем заставляю работать маршруты? Тогда в BaseController просто установите язык на английский, если их значение не имеет?

Любой совет высоко ценится, спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос