首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >翻译Visual项目

翻译Visual项目
EN

Stack Overflow用户
提问于 2013-06-18 13:26:04
回答 1查看 4.1K关注 0票数 1

我有一个用我的母语(hun)用Visual 2012用c#编写的大型项目。

我想把它翻译成英语。

当然,如果我得到匈牙利语文本,我可以翻译它,所以重点不是如何翻译一篇文章,而是如何使整个翻译更容易。我不需要软件来改变语言在运行时,它也是可以的,如果我得到一个不同的项目与不同的语言。一种方法是完成整个项目并更改所有标签,但这是一项很大的工作,因为我修改了整个项目,所以我不得不重新做一遍。

我编写了另一个程序,它可以找到标记为“.”的标签。在项目文件(如'Form1.cs‘等)中,我可以翻译这些文件。这有很多错误。例如,Visual分割长文本,所以我分离了这些字符串,所以在完成整个翻译之后,仍然需要做大量的工作。

另一个想法是用数组替换所有的字符串,比如代替写"Cancel“、写t201或类似的东西,然后我只能翻译t变量。但这也是大量的工作,如果我在文本中包含一个变量,就会有一个问题。

举个例子,在匈牙利语中,我可能会写“2 masodperc maradt”,但我应该把它翻译成“剩余的秒:2”,或者类似的东西。然后我必须考虑包含的变量。

那么,您认为最简单的方法是进行翻译,其他程序员是如何做到这一点的?

为了获得更好的效果,TotalCommander在一秒钟内改变了语言,而不需要重新启动或其他任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 13:53:12

.Net中正在使用resx文件进行构建。

  • 您可以找到简短的介绍这里
  • 关于程序员stackexchange的更多信息
  • MSDN是相当广泛的,它的文档有关这个主题,它是一个很好的阅读。MSDN

有很多工具可以帮助基于.Net本地化的翻译,但是您也可以直接在VS中完成。

  • 也许ResXManager是你的品味

能够动态更改翻译的.Net应用程序通常使用定制的国际化,例如加载文本文件和刷新GUI。

如果您想自己做类似的事情,请注意,您还必须调整控件的大小,以使文本适合。

对于您的问题,可以使用类似的string.Format。

  1. 向您的项目添加一个resx文件,如Localized.resx
  2. 添加字符串属性"CountText“,其值为{0}文本文本。
  3. 添加第二个resx Localized.en.resx
  4. 添加字符串属性"CountText“和值文本{0}。转到Localized.en.resx
  5. 当您将进度写入GUI时,请使用string.Format(Localized.CountText,myCount);
  6. 切换程序语言,如第一个链接所示。
  7. .Net自动加载语言的相应资源。

要了解所有的可能性,特别是使用VS进行翻译,您确实应该阅读MSDN库文章。如果你错过了什么,翻译就会变得很麻烦。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17170102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档