我正在尝试制作一个简单的方法来翻译我的应用程序。我想也许可以通过覆盖Graphics类,在文本绘图级别使用Dictionary翻译表单。甚至以相同的方式编辑绘图点以支持从右到左语言。有人有什么好主意吗?
我想也许可以通过覆盖Graphics类,在文本绘图级别使用Dictionary翻译表单。
不能重写Graphics
类。您可以覆盖控件的OnPaint
方法。但是,如何将文本图形与其他图形区分开来呢?例如,如果有人读取Text
属性,您希望得到什么?
有人有什么好主意吗?
是的,使用内置解决方案进行本地化。只需将表单上的Localizable
属性设置为true
即可。现在,您可以在设计时切换语言,并在设计时编辑该语言的所有内容,不仅是文本,还有RightToLeft属性、大小和基本上所有内容。
启动应用程序时,表单将使用Windows语言或返回到不变语言。如果要以编程方式更改语言,只需设置Thread.CurrentThread.CurrentUICulture
属性即可。您可能需要重新打开表单以应用该语言或显式调用InitializeComponent()
。