我在GUI窗口中实现了一个本地化功能,允许用户在运行时更改程序的语言。在语言更改期间,程序中的文本会更改长度,这有时会导致文本干扰另一个控件或运行页面。
示例(TextBox下的文本):
当长度发生变化时,避免文本运行失败的最佳方法是什么?
- 到目前为止我已经尝试了textWrapping
,但我认为这可能是一个原始的解决方案。
- 我在下面讨论了@Roy Dictus的可能解决方案,但肯定需要更多的意见或方法。我需要能够在我的UI中为strings
增加空间。
答案 0 :(得分:0)
“最佳”方式可能有争议,但对标签提出合理的长度限制是个好主意。
使用虚拟标签构建UI(例如“XXXXX”而不是“Name”)并查看可接受的长度限制。最好不是每个输入字段都这样做,而是要有一个总数,或者可能有几个标签/消息类别,每个都有自己的限制。
然后,当您构建UI时,请测试最大限制(假设您同意文本框标签不应超过12个字符 - 然后在开发环境中,将所有文本框标签放入“XXXXXXXXXXXX”)。
然后确保对于您翻译的每种语言,您都保持在这些限制范围内。如果这很难做到,请在必要时使用缩写。