ASP.NET 全球化资源

本文关键字:资源 全球化 NET ASP | 更新日期: 2023-09-27 18:30:58

>我有一个类库项目,其中包含用于本地化字符串的 .resx 资源。假设项目有两个文件:

Strings.resx
Strings.en-GB.resx

如何枚举哪些区域性(Strings.resx 中的默认"en-US"Strings.en-GB中的"en-GB")可用?

换句话说,我想得到一个返回"en-US"和"en-GB"的IEnumerable。

注意:无需从文件系统读取 .resx 文件。 :)

ASP.NET 全球化资源

如果使用嵌入的 resx 文件生成应用程序,它通常会在生成输出目录的子文件夹中生成附属程序集。子文件夹名称将与区域性说明符相对应(例如"en-GB")。

主 resx 文件将嵌入到主程序集中。 可以使用 NeutralResourcesLanguage 属性来指示在这些资源中使用的区域性:

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

在运行时,您可以:

    检索中性资源
  • 语言属性以获取中性资源的区域性。

  • 枚举包含主程序集的文件夹的子目录以查找附属资源。