在本地化期间管理空间

时间:2013-12-18 15:41:27

标签: c# wpf string localization

我在GUI窗口中实现了一个本地化功能,允许用户在运行时更改程序的语言。在语言更改期间,程序中的文本会更改长度,这有时会导致文本干扰另一个控件或运行页面。

示例(TextBox下的文本):

enter image description here

当长度发生变化时,避免文本运行失败的最佳方法是什么?

- 到目前为止我已经尝试了textWrapping,但我认为这可能是一个原始的解决方案。

- 我在下面讨论了@Roy Dictus的可能解决方案,但肯定需要更多的意见或方法。我需要能够在我的UI中为strings增加空间。

1 个答案:

答案 0 :(得分:0)

“最佳”方式可能有争议,但对标签提出合理的长度限制是个好主意。

使用虚拟标签构建UI(例如“XXXXX”而不是“Name”)并查看可接受的长度限制。最好不是每个输入字段都这样做,而是要有一个总数,或者可能有几个标签/消息类别,每个都有自己的限制。

然后,当您构建UI时,请测试最大限制(假设您同意文本框标签不应超过12个字符 - 然后在开发环境中,将所有文本框标签放入“XXXXXXXXXXXX”)。

然后确保对于您翻译的每种语言,您都保持在这些限制范围内。如果这很难做到,请在必要时使用缩写。