代码之家  ›  专栏  ›  技术社区  ›  Sandor Drieënhuizen

重写程序集中特定资源文件的非特定语言

  •  3
  • Sandor Drieënhuizen  · 技术社区  · 15 年前

    我有一个包含多个资源文件的程序集。它们中的大多数都有中性语言“nl”(荷兰语,在程序集上指定为中性语言),所以我没有在它们的文件名中指定“nl”。

    但是,我将在一些其他资源文件中使用英语字符串(它们是内部错误消息),我将永远不会提供它们的荷兰语翻译。

    如果将这些资源文件命名为“errors.en.resx”,则不会生成任何设计器类(中断生成),因为没有“errors.resx”。这很烦人,因为现在我必须将“en”字符串放入“nl”隐含的资源文件中,我真的不想将这些字符串转换为“nl”或提供空字符串来满足编译器的要求。

    是否有方法重写特定资源文件上的非特定语言,或者有“errors.en.resx”生成设计器类?

    1 回复  |  直到 15 年前
        1
  •  3
  •   João Angelo    15 年前

    如果不转换字符串,请考虑在静态类中使用常量(如果其他程序集未引用这些常量)。

    如果在多个程序集之间重用字符串,请考虑将其指定为 static readonly 因为这将允许其他程序集加载字符串的新版本,而无需重新生成它们。对于这个场景,您甚至可以更进一步,只使用 get 访问器,它依次使用 private static readonly 字段。

    推荐文章