0

我的应用程序显示了各种消息,并且在这些消息中,某些部分ForegroundColorSpan添加了颜色范围(例如 ),因此它们与消息的其余部分具有不同的颜色。目前,它们都是硬编码的,因为它们是硬编码的,所以我确切地知道在哪里开始和结束我想要不同颜色的文本块的跨度。

我遇到的问题是,一旦我本地化了消息,我就无法弄清楚如何检测跨度应该从哪里开始和结束。例如:

硬编码:

'x 将主题更改为 oh hai' - 我知道从 char 23 到结尾应该改变颜色。

本地化为荷兰语:

'x veranderde het onderwerp te oh hai' - char 23 是另一回事。

(这是一个简单的例子,一些消息在多个位置有颜色)

所以我的问题是,在本地化之后,我怎样才能知道从哪里开始和结束一个跨度?

4

2 回答 2

0

我会说这是不可能的。您想如何了解一种语言的语法、词汇、翻译者认为什么是合适的……

但是你可以在你的翻译中插入标记——lile ##、@# 或其他任何东西,以指示这些块。然后你解析,捕捉这些标记的位置并将其用于跨度。

于 2012-11-27T21:05:26.527 回答
0

我决定将字符串设置为单一颜色,而不是进行一些复杂的解析。

于 2012-12-08T15:03:28.110 回答