2014-11-19 3 views
0

У меня есть проект библиотеки классов с ресурсами .resx для локализованных строк. Скажем, проект имеет два файла:Ресурсы глобализации ASP.NET

Strings.resx 
Strings.en-GB.resx 

Как я могу перечислить, который культуры (по умолчанию "en-US" в Strings.resx и "en-GB" в Strings.en-GB) доступны?

Другими словами, я хочу получить IEnumerable, который возвращает «en-US» и «en-GB».

Примечание: БЕЗ чтения файлов .resx из файловой системы. :)

ответ

0

Если вы создаете приложение со встроенными файлами resx, оно, как правило, генерирует спутниковые сборки в подпапках вашего выходного каталога сборки. Имена подпапок будут соответствовать спецификатору культуры (например, «en-GB»).

Основные файлы resx будут встроены в основную сборку. Вы можете использовать атрибут NeutralResourcesLanguage, чтобы указать, к какой культуре вы использовали в этих ресурсах:

[assembly: NeutralResourcesLanguage("en-US")] 

Во время выполнения вы можете затем:

  • Получить атрибут NeutralResourcesLanguage, чтобы получить культуру нейтральных ресурсов ,

  • Перечислите подкаталоги папки, содержащей основную сборку, чтобы найти ресурсы спутника.

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