开发者

Extend C# file based resource manager

I want to store my resources in a different file format than NET's .resources (in particular, .po), so I wrote a custom resource set with a custom resource reader to retrieve them. I created a ResourceManager using the CreateFileBasedResourceManager static method which creates a new instance of the manager that retrieves resource sets from files in a specific dir, using the specified resource set (the custom one I wrote in my case), using Name.culture.resources filenames.

However, I would like to change the filename convention. I noticed there is an overridable GetResourceFileName method for precisely that purpose. But using reflector I noticed that the constructor used by CreateFileBasedResourceManager i开发者_StackOverflow社区s private, and it is impossible to set the "use files instead of assemblies" flag otherwise.

Is there any way to go around this, without needing to reimplement the whole InternalGetResourceSet method?

Thanks a lot!


Mono has good little utility that helps with this, its called Msgfmt, which can be used to create .resources files out of .po files directory.

Msgfmt.exe -iMessages.es.po -oMessages.es.resources

I came across an interesting article @ http://weblogs.manas.com.ar/spalladino/2009/10/01/using-gnu-gettext-for-i18n-in-c-and-asp-net/ which helped me and it might well help you too..

Its a different approach but it worked for me!

  • ref: http://www.mono-project.com/I18nGettext
  • ref: http://www.mono-project.com/I18N_with_Mono.Unix
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜