我想将我的资源存储为与.NET的.resources(特别是.po)不同的文件格式,因此我使用自定义资源阅读器编写了一个自定义资源集来检索它们。我使用CreateFileBasedResourceManager静态方法创建了一个ResourceManager,该方法创建了一个管理器的新实例,该实例使用指定的资源集(我在我的案例中编写的自定义资源集),使用Name.culture.resources从特定目录中的文件中检索资源集。文件名。
但是,我想更改文件名约定。我注意到为了这个目的,有一个可覆盖的GetResourceFileName方法。但是使用反射器我注意到CreateFileBasedResourceManager使用的构造函数是私有的,否则不可能设置“使用文件而不是程序集”标志。
有没有办法解决这个问题,而无需重新实现整个InternalGetResourceSet方法?
非常感谢!
答案 0 :(得分:1)
Mono有一个很好的小实用程序可以帮助它,它叫做Msgfmt,它可以用来从.po文件目录创建.resources文件。
Msgfmt.exe -iMessages.es.po -oMessages.es.resources
我偶然发现了一篇有趣的文章@ http://weblogs.manas.com.ar/spalladino/2009/10/01/using-gnu-gettext-for-i18n-in-c-and-asp-net/帮助了我,它也可能对你有所帮助..
它是一种不同的方法,但它对我有用!