В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Если Вы используете механизмы представления по умолчанию, то локальные ресурсы работают в представлениях. Однако, если необходимо захватить строки ресурса в рамках действия контроллера, Вы не можете получить локальные ресурсы и иметь для использования глобальных ресурсов.
Это имеет смысл, когда Вы думаете об этом, потому что локальные ресурсы локальны для aspx страницы и в контроллере, Вы даже не выбрали свое представление.
Я нашел этот ресурс быть очень услужлив
обертка вокруг 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")
единственная проблема, которую я нашел, состоит в том, что контроллеры не имеют доступа к локальным строкам ресурса.
Да снабжают, все еще лучший способ поддерживать несколько языков в среде.NET. Поскольку они легки к ссылке и еще легче добавить новые языки.
Site.resx
Site.en.resx
Site.en-US.resx
Site.fr.resx
etc...
, Таким образом, Вы правы все еще, используют файлы ресурсов.
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