2017-01-19 3 views
1

Привет всем Я участвую в проекте локализации. Мы работаем с областями, и нам нужно создать файл ресурсов для поддерживаемых языков. Структура по умолчанию (Resources/Controllers/controllername.culture.resx) работает правильно, как документы Microsoft. Мы хотели бы знать структуру каталогов для зон отдыха. Мы искали некоторые документы, но мы не нашли их. Thx всемЛокализация основных областей Asp.net

+0

Добро пожаловать в «Переполнение стека», пожалуйста, уделите некоторое время, чтобы после [Тур переполнения стека] (http://stackoverflow.com/tour) и прочитать о [Как задать хороший вопрос?] (Http: // stackoverflow .com/help/how-to-ask) Также предоставьте нам соответствующий код, который вы написали для своего вопроса (вы также можете прочитать [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve)) –

ответ

1

файлы ресурсы для C# объектов (не просмотры) Решаются на namespace они находятся. Они относительно ResourcePath набора во время инициализации локализации MVC.

Допустим, вы установили ResourcesPath в ваших к "Ресурсы"

services.AddLocalization(s => s.ResourcesPath = "Resources");

и у вас есть HomeControllerбез площади так:

namespace WebApp.Controllers 
{ 
    public class HomeController : Controller 
    { 
    ... 
    } 
} 

тогда ваши файлы ресурсов в папка Resources>Controllers>HomeController.{culture}.resx будет поднята.

В случае контроллера в области вы можете изменить в другое пространство имен, как это:

namespace WebApp.Admin.Controllers 
{ 
    [Area("admin")] 
    public class HomeController : Controller 
    { 
    ... 
    } 
} 

Обратите внимание, что это HomeController из админки.

В этом случае ваши файлы ресурсов для этого конкретного контроллера может жить в папке:

Resources>Admin>Controllers>HomeController.{culture}.resx

ИЛИ может иметь это именование:
Admin.Controllers.HomeController.{culture}.resx

Это работает в ASP.NET Core 1.1.0. Я обновил проект AspNetCore.Identity.Localization с областью.

0

Если вы используете районы, просто поставить вас controllername.culture.resx в Controllers каталоге (где именно controllername.cs есть, не создать каталог «ресурсы» в любом месте).

Предлагаю вам протестировать простую форму resx (controllername.resx). Если это работает, вы можете продлить его controllername.culture.resx

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