MVC4 локализация. Доступ к resx из вида
На мой взгляд, я хотел бы получить доступ к строкам ресурсов из определенного локального ресурса в этом файле. Так же, как вы знаете это из веб-форм:
(string)GetLocalResource("Title");
Безболезненно и гладко. Каркас обрабатывает, какой файл .resx получить из расширения кода информации о культуре (.en-EN.resx).
Это возможно в MVC4 с видом Razore? И как?
Я заметил, что я могу установитьCustom Tool
свойство в файле .resx дляPublicResXFileCodeGenerator
, Таким образом, я могу получить к нему доступ с точки зрения. Пример: я создал 2 файла ресурсов для index.cshtml на датском и английском языках. Как и в веб-формах. Вот что я хотел бы написать (Custom Tool Name
свойство установлено в «ViewResource»):
@ViewResource.Title
Bam. Если текущая культура датская, название будет «Forside», а если английское - «Home». Но вместо этого единственные варианты, которые мне дают, - это выбор конкретного файла. И из этого выберите желаемую строку:
@ViewResource.Index_cshtml_en-EN_resx.Title
Это не динамично. Поэтому я подумал, что смогу создать класс расширения, который каким-то образом заменит en-EN / da-DK. Но это действительно кажется относительно большой работой для чего-то такого «простого» и уже хорошо и легко интегрированного в веб-формы. Должен быть другой путь. Конечно, у команды MVC есть какой-то умный механизм для нас, как и все остальное :)