11

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

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

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

非常感谢!

4

1 回答 1

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/它帮助了我它也可能对您有所帮助..

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

于 2011-02-08T22:55:15.600 回答