Организация файлов .resx в приложении mvc 3 - PullRequest
1 голос
/ 22 ноября 2011

У меня вопрос по организации файлов .resx в приложении mvc3.До сих пор мне удалось сделать следующее:

  • Создание новой библиотеки классов в решении для ресурсов и добавление ресурсов для двух языков.Все работает нормально, когда у меня есть, например:

Resources.resx // язык по умолчанию Resources.en.resx // английский язык

Но я хочу иметь такую ​​организацию в своем классебиблиотека:

DefaultLanguage foder - Resources.resx

en папка - Resources.en.resx

Я хочу организовать ресурсы по папкам.Я думаю, что это больше подходит для людей, которые будут переводить сайт, а также более удобен в обслуживании.Когда я организую ресурсы таким образом, веб-страница возвращает ошибку ... не могу найти ошибку.Я что-то пропустил?Я знаю, что у вас не должно быть имени папки в пространстве имен, потому что это будет означать, что ссылка на ресурс в представлении зависит от имени папки, и это неверно.

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

Кстати: я проверяю в Интернете и не могу найти какие-либоподходящее решение.

Спасибо за ваши ответы!

1 Ответ

2 голосов
/ 22 ноября 2011

MVC3 использует управление ресурсами ASP.NET. См. Документация ASP.NET для получения подробной информации. Если вы хотите полагаться на поведение ASP.NET и генерировать строго типизированные классы, то вы должны хранить файл ресурсов из языка по умолчанию и другие файлы ресурсов для конкретного языка вместе.

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

На наших проектах у нас есть один ресурс (и его переводы) для каждого просмотра. Они находятся в папке Localization в проекте MVC3. Внутри мы сохраняем ту же древовидную структуру, что и в папке Views. Это более или менее аналогично организации локальных ресурсов ASP.NET. Общие строки хранятся в одном файле .resx в корне папки Localization. Это обеспечивает ремонтопригодность.

Чтобы люди, которые будут переводить, были довольны, вам нужно выбрать хороший инструмент для редактирования .resx.

...