.NET Core中ResxResourceWriter的替代方案

11

我需要在我的 .NET Core 应用程序中创建资源文件 (resx-files)。到目前为止,我通常使用 System.Windows.Forms 中的 ResxResourceWriter 来完成这个任务。 有没有什么建议可以在 .NET Core 中处理这个任务?

除了我们现有的软件,它有基于一些二进制文件的本地化方法,新软件应该从现有的昂贵翻译中受益,并且当术语被添加到二进制文件时甚至具有某些翻译同步。

当然,您可以使用 XmlSerialization。问题是,是否存在一种正式的方法来创建/管理 .NET Core 中的 Resx 文件。


几乎总是一个错误,该类旨在实现您自己的Visual Studio设计器。但在.NETCore中,您永远不应该这样做。使用普通的XML序列化或者最小的努力来描述为什么您认为需要它。 - Hans Passant
我想做类似的事情,我想要一个自定义的IStringLocalizer,可以自动将翻译附加到resx文件中。如果能够使用资源编写器而不是自定义XML序列化来完成这个操作,那就太好了。 - span
你找到解决方案了吗? - Vijay Nirmal
随着WinForms的开源,人们可以修改原始源代码以删除特定于Windows的依赖项。https://github.com/dotnet/winforms/blob/master/src/System.Windows.Forms/src/System/Resources/ResXResourceReader.cs - farlee2121
2个回答

10

0
我碰巧有一个具备完整.resx支持的库。你可以找到通常的ResXResourceReader、ResXResourceWriter或ResXResourceSet类。我解决了原始WinForms版本的许多安全问题,同时你可以强制实现完全兼容性。
我还引入了许多新功能,例如,我的ResXResourceSet可以扩展,并且还有几种新类型,比如ResXResourceManager,它可以像常规的ResourceManager一样工作,但直接在.resx文件上工作,并且支持在运行时添加新资源。
我已经将其提供给了.NET代码库,所以也许会在某个时候进行迁移。在那之前,您可以从NuGet获取它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接