Ответ 1
Вы локализуете его так же, как любое другое приложение, подобное этому:
- Создайте папку, назовите ее, например. Ресурсы
- Щелкните правой кнопкой мыши папку и добавьте класс... выберите файл ресурсов. Назовите это всем, что вам нравится, например. Strings.resx
- В свойствах файла измените Custom Tool на
PublicResXFileCodeGenerator
- Заполните файл ресурсов с помощью пар ключей и значений перевода (это будет перевод по умолчанию)
- Создайте другие ресурсы с именем культуры, для которой они предназначены в этом формате: {name}.de.resx, например. Strings.de.resx
- (Это для Razor), откройте файл web.config в папке Views и добавьте его в /configuration/system.web.webPages.razor/pages/namespaces: < add namespace = "Resources" / > (предполагается, что ресурсы - это имя папки, в которой были созданы ресурсы, и вы не изменили пространство имен по умолчанию на самих файлах resouce). Этот шаг означает, что вам не нужно полностью квалифицировать классы ресурсов в своих представлениях каждый раз, когда вы хотите ссылаться на перевод.
-
Используйте переводы вместо текста в своих представлениях, например, со следующим кодом:
@Strings.MyString
Строки будут автоматически переведены в представление в зависимости от CultureInfo.CurrentCulture, но это автоматически не устанавливается для вас.
Вам нужно будет изменить CurrentCulture
(возможно, в Application_BeginRequest
). Как вы это делаете, зависит от вас, это может быть значение маршрута, которое задает его, или вы можете прочитать язык браузера пользователя.
Вы можете найти список предпочтительных для пользователя языков (по порядку) в HttpContext.Current.Request.UserLanguages
.