动态添加文件以进行本地化C#

Cod*_*323 6 .net c# wpf resx

我需要帮助本地化我的Wpf .net 3.5应用程序.我将只向我的客户提供exe文件,他将为他的用户创建设置.我的客户希望自己添加文件以进行本地化.

本地化的一般方法是为每种语言创建.resx文件,并在CurrentUICulture中设置语言.但是既然,他不能使用resgen工具来创建资源文件,我想知道让他以txt,excel,xml格式添加文件以进行本地化的最佳方法.

PS:通过流阅读和分配密钥是唯一的方法吗?

sra*_*sra 4

如果您无法使用 resgen 工具,则最简单的方法是使用键值对的简单文本文件。如果你只使用简单的字符串,你应该使用这个。按照默认约定命名它们,并使用名称中的语言来识别要加载的正确文件,并自己编写一个自定义resourceManager,在启动时或按需加载这些文件到字典中以访问它们。

编辑:

我对此进行了更详细的介绍......

我将创建一个资源管理器,它具有所有使用的资源文件的静态访问器,其中只有后备资源是静态类型的。我猜您的语言是在启动时定义的,因此只需将后备文件和定义的语言文件分别加载到字典中,并且两个字典都以该资源类型的静态类型加载。使用 GetString("name", Culture) 加载字符串。您可以在资源字典中查找区域性,如果缺少一个键,则回退到静态键。

编辑二:

您可以使用 .Net 库之一压缩文本文件,以防止任何人打开和更改内容。为了提高安全性,您还可以向 zip 添加密码。因此,您最终会得到较小的文件,并且能够使用任何 ZIP 程序修改文件。当然,您还应该更改文件扩展名。

希望这可以帮助