翻译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在一秒钟内改变语言,而不需要重新启动或做任何事情。
在。net中有一个使用resx文件的构建方法。
-
您可以在这里找到简短的介绍
-
关于程序员stackexchange的更多信息
-
MSDN是相当广泛的关于这个主题的文档,这是一个很好的阅读。MSDN
有很多工具可以帮助你在。net本地化的基础上进行翻译,但你也可以直接在VS中完成。
- 也许你喜欢ResXManager
能够动态更改翻译的。net应用程序通常使用定制的国际化,例如加载文本文件和刷新GUI。
如果你想自己做类似的事情,请注意,你还必须调整控件的大小,使文本适合。
对于#count text text和#count text text的问题,您可以使用string。格式。
- 添加一个resx文件到你的项目,如Localized.resx
- 添加一个字符串属性"CountText",值为{0}text text。
- 添加第二个resx localized . enen .resx
- 增加字符串属性"CountText",值为text text{0}。Localized.en.resx
- 使用string.Format(本地化)将进度写入GUI。CountText myCount);
- 按第一个链接切换程序语言
- 。Net自动为一种语言加载相应的资源。
要了解所有的可能性,特别是用VS进行翻译,你真的应该阅读MSDN库的文章。