Ресурсы или база данных для ресурсов глобализации - PullRequest
3 голосов
/ 10 мая 2011

Я пытался заставить специфичные для культуры ресурсы работать в приложении asv.net mvc 3.

Если у меня есть LanguageResources.resx и LanguageResources.en-UK.resx в моей папке App_GlobalResources, тогдаЯ получаю сообщение об ошибке «Пространство имен« Ресурсы »уже содержит определение« LanguageResources »»

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

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

Кто-нибудь еще принял такое решение или имеет какие-либо прямые знания по вопросам производительности, связанным с использованием базы данных для специфичных для культуры строк?

Кто-нибудь еще отказался от ресурсов?

1 Ответ

1 голос
/ 16 мая 2011

Должен признать, я пытался воспроизвести ваш дефект, и мне это удалось.Похоже, Visual Studio генерирует дополнительный класс, когда вы добавляете что-то .en-UK.resx.Странный.Это не должно позволять вам добавлять что-либо подобное в первую очередь, потому что такой культуры нет.

Как решить проблему?Просто добавьте LanguageResources.en-GB.resx и delete
LanguageResources.en-GB.resx.Это помогает.

Я бы не использовал базу данных для хранения языковых ресурсов, если только они не меняются очень часто или не должны вводиться конечными пользователями (т. Е. Существуют какие-то шаблоны).
Использование базы данныхВредит локализуемости и требует больших усилий.Трудно правильно спроектировать (я видел много ошибок в этой области).Не идите по этому пути, если вы действительно не должны.

...