Локализация в ASP.NET 5 MVC 6

Уже существует 7-я бета-версия ASP.NET 5, в которой, как говорят, реализованы функции локализации. Как я могу использовать локализацию для написания многоязычных приложений в asp.net 5 mvc 6 с Visual Studio 2015? Есть ли какой-нибудь рабочий пример проекта для бета-версии 7? Я уже поискал и нашел много примеров, но они больше не работают, потому что с тех пор код был изменен. Могу ли я по-прежнему использовать файлы .resx (потому что Visual Studio больше не создает файлы Designer.cs автоматически) или есть ли какие-либо новые или альтернативные методы, которые они предлагают?


person GiDar    schedule 07.09.2015    source источник
comment
см. также: stackoverflow.com/questions/31721395/   -  person Muhammad Rehan Saeed    schedule 08.09.2015


Ответы (1)


Beta 7 представила локализацию, так что она действительно новая. Я написал краткое описание всего это новое в моем блоге. Есть много нового, поэтому, если вам нужны функции, я рекомендую прочитать это.

Фактически, вы все еще можете использовать Resx, но вы должны понимать, что разрешение по умолчанию таково, что движок пытается найти файл resx, который соответствует представлению.

Например, если у вас есть HomeController и действие с именем Locpage, вам необходимо иметь Views.Home.Locpage.cshtml.en-GB.resx для поддержки локали en-GB. Однако самое приятное то, что вам больше не нужен файл resx :-). Вы можете просто реализовать свою собственную реализацию IStringLocalizer и IStringLocalizerFactory, и она будет работать. Вы можете увидеть код для этого в моем блоге выше.

Если вам нужен рабочий образец, лучше всего прямо сейчас их GitHub, так что это прямо здесь: https://github.com/aspnet/Mvc/tree/dev/samples/LocalizationSample.Web.

person Anže Vodovnik    schedule 22.09.2015
comment
Спасибо за ответ, однозначно полезно. У меня есть другой вопрос: могу ли я поделиться файлом ресурсов для всех / нескольких представлений? - person GiDar; 24.09.2015
comment
Хм, из коробки, не думаю. Но вы можете написать свой собственный Factory / Provider, который сможет это сделать - вы просто создадите необходимый запасной вариант. - person Anže Vodovnik; 27.09.2015
comment
@GiDar вы нашли решение для использования одного файла ресурсов для нескольких / всех представлений? - person daniel; 09.11.2015
comment
@zoidbergi еще ничего не пробовал, но я думаю, что написать собственный поставщик было бы хорошим выбором. - person GiDar; 14.11.2015