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

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

69
задан Erik Funkenbusch 22 September 2012 в 19:38
поделиться

4 ответа

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

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

42
ответ дан Haacked 24 November 2019 в 13:55
поделиться

Я нашел этот ресурс быть очень услужлив

обертка вокруг HttpContext. Текущий. GetGlobalResourceString и HttpContext. Текущий. GetLocalResourceString, который позволяет Вам называть ресурсы как это...

// default global resource
Html.Resource("GlobalResource, ResourceName")

// global resource with optional arguments for formatting
Html.Resource("GlobalResource, ResourceName", "foo", "bar")

// default local resource
Html.Resource("ResourceName")

// local resource with optional arguments for formatting
Html.Resource("ResourceName", "foo", "bar")

единственная проблема, которую я нашел, состоит в том, что контроллеры не имеют доступа к локальным строкам ресурса.

22
ответ дан buræquete 24 November 2019 в 13:55
поделиться

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

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

, Таким образом, Вы правы все еще, используют файлы ресурсов.

3
ответ дан Nick Berardi 24 November 2019 в 13:55
поделиться

Some of the other solutions mentioned as answer do not work for the released version of MVC (they worked with previous versions of alpha/beta).

Here is a good article describing a way to implement localization that will be strongly-typed and will not break the unit testing of controllers and views: localization guide for MVC v1

1
ответ дан 24 November 2019 в 13:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: