早上好,
我有兴趣开发一个支持外部GUI翻译文件的应用程序,以便用户根据需要添加。我想过使用.NET内置的本地化方法,但我认为这样我就无法在构建应用程序之后分发带有翻译的孤立文件(可以吗?)。
在C#中使用外部文件实现本地化的更好方法是什么?
非常感谢。
答案 0 :(得分:6)
我见过很多人为.net实现自己的本地化系统,但就个人而言,我会留在内置的结构中。
现在,您可以添加其他.resx文件,然后重新编译应用程序。但我想这不是你想要的?
或者您可以实现自己的资源提供程序,例如从数据库中获取所有本地化字符串。
例:
http://msdn.microsoft.com/en-us/library/aa905797.aspx#exaspnet20rpm_topic4
答案 1 :(得分:3)
您可以毫无问题地使用.NET本地化。
在您成功本地化yopur应用程序文件后,在您的应用程序文件夹中将包含用于本地化版本的程序集资源的子文件夹。因此,在将新语言添加到本地化后,您可以从新添加的本地化文件夹中将这些新DLL分发给您的castomers。
干杯;)
答案 2 :(得分:1)
如果您以后不想重新编译文件,可以使用以下内容。
示例xml:
<doc>
<loc name="English">
<form name = "main">
<okButton>OK</okButton>
....
</form>
<form name = "about">
<lblAuthorName>Author's name: </lblAuthorName>
....
</form>
</loc>
<loc name="Ukrainian">
<form name = "main">
<okButton>Добре</okButton>
....
</form>
</loc>
</doc>