2016-04-18 4 views
3

Как узнать язык пользователя на Asp.Net MVC? Например; Если кто-то вошел на сайт United Kingtom, веб-сайт откроется на английском языке. Еще кто-то вошел на сайт в Турции, сайт откроется турецким языком.Как узнать язык пользователя на Asp.Net MVC?

+3

Это называется «культурами», есть некоторые ответы уже об этом. Позвольте мне найти его для вас. http://stackoverflow.com/questions/1560796/set-culture-in-an-asp-net-mvc-app –

+0

Возможный дубликат [Установить культуру в приложении ASP.Net MVC] (http: // stackoverflow. com/questions/1560796/set-culture-in-as-asp-net-mvc-app) –

ответ

1

Вам нужно несколько вещей, установленных в приложении:

  1. средство для предварительного обнаружения культуры пользователя (это лучше всего работает путем отображения IP-адреса через GeoIP поиска в страну и ее официального языка , или, менее рекомендуется, используя настройки языка браузера пользователя)

  2. Интернационализация и локализация веб-сайта.

  3. Некоторые средства для переопределения обнаруженного языка.


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


MaxMind предлагает free databases с поддержкой кода и образцов, а также веб-сервисы (не бесплатно) для отображения IP-к страна.

Что касается локализации вы можете сделать одну из двух вещей:

а. использовать ресурсы RESX, указанные в .cshtml views b. использовать различные .cshtml взгляды для каждого языка

Есть several materials для этого Hanselman's blog post является хорошим началом, для поиска отдыха «asp.net MVC локализации»

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

+0

Я считаю, что язык отображения на IP-адрес настолько хорош. Что, если британский турист в Турции откроет сайт? Заголовок Accept-Language является хорошим моментом для определения культуры пользовательского интерфейса по умолчанию. По крайней мере, есть вероятность, что пользователь привык к этому. И еще один хороший вариант - позволить пользователю выбрать локаль и сохранить ее в файле cookie – Chizh

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