繁体   English   中英

.NET中的外部翻译

[英]External Translations in .NET

早上好,

我对开发一种应用程序感兴趣,该应用程序支持用户根据需要添加外部GUI转换文件。 我考虑过使用.NET内置的本地化方法,但是我认为通过这种方式,在构建应用程序后,我无法分发带有翻译的隔离文件(可以吗?)。

使用C#中的外部文件实现本地化的更好方法是什么?

非常感谢你。

我见过很多人为.net实现自己的本地化系统,但就我个人而言,我会坚持使用内置结构。

现在,您只需添加其他.resx文件,然后再重新编译该应用程序即可。 但是我想这不是你想要的吗?

或者,您可以实现自己的资源提供程序,例如从数据库获取所有本地化字符串。

例:
http://msdn.microsoft.com/zh-CN/library/aa905797.aspx#exaspnet20rpm_topic4

您可以使用.NET本地化而没有任何问题。

成功地对yopur应用程序文件进行本地化之后,您的应用程序文件夹中将包含子文件夹,这些子文件夹用于您对程序集资源进行本地化的版本。 因此,在将新语言添加到本地化之后,您可以将这些新的DLL从文件夹中分解为您的Castomer,以用于新添加的本地化。

干杯;)

如果您不希望以后重新编译文件,则可以使用以下方法。

  1. 使用相同的键和不同的值在不同的位置创建多个xml文件。 或制作一个大文件。 将该文件的路径保存在应用设置中的某个位置(或在构建过程中嵌入)
  2. 在表单上使用默认语言构建您的应用程序(例如,英语)
  3. 在启动(或首次启动)时,要求用户指定要使用的语言。
  4. 在构造函数中的每个窗体/窗口上(在InitializeComponent()调用之后),将窗体上的文本替换为XML中的值。

范例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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM