如果已翻译的应用程序的字符串仍适合现有UI,我正在尝试进行一些自动测试。转换过程只需要一个现有的资源程序集来转换所包含的资源,并为新语言创建一个新的资源程序集。简单但是这样就没有保证翻译仍然适合UI(UI不涉及翻译过程)并且可能会被截断到各处。因此,对于自动检查,我需要了解如何在UI上找到截断的文本。
我到目前为止尝试过:
还有更多的想法可行吗?或者是否有一些可能使上述方法有效的微调?如果有一个简单的Win API方法我可以调用它会给我实际显示的控件文本而不是程序员/程序在控件上显示的文本会很棒。
答案 0 :(得分:0)
从非翻译版本中获取字符数量,并将它们与翻译版本的长度区分开来,然后将当前控件宽度乘以差值。它可能看起来像这样。
float scalingAmount = 0.1 //This is just an example value, you'd probably want to adjust this yourself
float difference = oldLabel.Text.Length - label.Text.Length;
label.Width = oldLabel.Width * (difference/scalingAmmount)