翻译Visual Studio项目

本文关键字:项目 Studio Visual 翻译 | 更新日期: 2023-09-27 18:19:03

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

我想把它翻译成英语。

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

我写了另一个程序,它在项目文件中找到标有"…"的标签(如"Form1.cs"等),我可以翻译这些。这里面有很多错误。例如,Visual Studio拆分长文本,所以我把这些字符串分开,所以在整个翻译之后仍然有很多工作要做。

另一个想法是用数组替换所有的字符串,比如不写"Cancel",写t[201]或者类似的东西,然后我可以只翻译t变量。但这也有很多工作,如果我在文本中包含一个变量,会有一个问题。

例如,在匈牙利语中,我可能会写'2 masodperc maradt',但我应该把它翻译成'Remaining seconds: 2',或者类似的东西。然后我要注意包含的变量。

那么你认为翻译最简单的方法是什么,其他程序员是怎么做的呢?

例如TotalCommander在一秒钟内改变语言,而不需要重新启动或做任何事情。

翻译Visual Studio项目

在。net中有一个使用resx文件的构建方法。

  • 您可以在这里找到简短的介绍

  • 关于程序员stackexchange的更多信息

  • MSDN是相当广泛的关于这个主题的文档,这是一个很好的阅读。MSDN

有很多工具可以帮助你在。net本地化的基础上进行翻译,但你也可以直接在VS中完成。

  • 也许你喜欢ResXManager

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

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

对于#count text text和#count text text的问题,您可以使用string。格式。

  1. 添加一个resx文件到你的项目,如Localized.resx
  2. 添加一个字符串属性"CountText",值为{0}text text。
  3. 添加第二个resx localized . enen .resx
  4. 增加字符串属性"CountText",值为text text{0}。Localized.en.resx
  5. 使用string.Format(本地化)将进度写入GUI。CountText myCount);
  6. 按第一个链接切换程序语言
  7. 。Net自动为一种语言加载相应的资源。

要了解所有的可能性,特别是用VS进行翻译,你真的应该阅读MSDN库的文章。