扩展基于C#文件的资源管理器

San*_*ino 11 c# resourcemanager

我想以不同于.NET的.resources(特别是.po)的文件格式存储我的资源,所以我用自定义资源阅读器编写了一个自定义资源集来检索它们.我使用CreateFileBasedResourceManager静态方法创建了一个ResourceManager,该方法创建了一个管理器的新实例,该实例使用指定的资源集(我在我的案例中编写的自定义资源集),使用Name.culture.resources从特定目录中的文件中检索资源集.文件名.

但是,我想更改文件名约定.我注意到为了这个目的,有一个可覆盖的GetResourceFileName方法.但是使用反射器我注意到CreateFileBasedResourceManager使用的构造函数是私有的,否则不可能设置"使用文件而不是程序集"标志.

有没有办法解决这个问题,而无需重新实现整个InternalGetResourceSet方法?

非常感谢!

小智 1

Mono 有一个很好的小实用程序可以帮助解决此问题,它称为 Msgfmt,可用于从 .po 文件目录创建 .resources 文件。

Msgfmt.exe -iMessages.es.po -oMessages.es.resources
Run Code Online (Sandbox Code Playgroud)

我发现了一篇有趣的文章@ http://weblogs.manas.com.ar/spalladino/2009/10/01/using-gnu-gettext-for-i18n-in-c-and-asp-net/这对我有帮助它也可能对你有帮助..

这是一种不同的方法,但对我有用!

  • 感谢您提供文章链接...但作者实际上是我自己:P (3认同)