在运行时添加语言

时间:2012-10-08 06:45:50

标签: c# winforms multilingual

我有一个多语言的Windows应用程序,它在resx文件中使用标准的.net本地化。

现在我有一个请求,要求用户创建自己最初不支持的语言文件,并将其添加到应用程序中,而无需重新编译它。

实现这一目标的最佳方法是什么?

我正在考虑将这些语言转移到数据库,然后创建另一个将翻译添加到数据库的工具,但是如果可以动态添加resx文件,则宁愿保留当前的方法。

3 个答案:

答案 0 :(得分:1)

您可以使用的一个选项是将翻译保存在XML文件中。这样,用户就可以将自己的XML文件放入存在翻译的文件夹中。

答案 1 :(得分:1)

这正是我不使用.NET本地化而是编写自己的原因。

我将翻译存储在与EXE分开的文件中,具有基于Windows窗体的翻译GUI,我可以将其嵌入任何应用程序(并在其上进行WPF克隆),并允许用户在不重新启动的情况下切换语言申请。

我不明白为什么有人会想要它有什么不同以及为什么微软创建了这样一个糟糕且有限的系统。

不幸的是,我现在无法发布我的系统,但我希望我能尽快发布。

答案 2 :(得分:0)

您可以将翻译写入.resx文件,只需将该文件的位置添加到数据库中,然后当您想翻译某个标签时,只需转到数据库查看该文件的位置,然后从中读取。我不确定它是如何适合本地化的lib ...