我的应用程序显示各种消息,在这些消息中,某些部分添加了颜色跨度(例如ForegroundColorSpan
),因此它们与消息的其余部分颜色不同。目前,它们都是硬编码的,因为它们是硬编码的,我确切地知道从哪里开始并结束我希望以不同方式着色的文本块的范围。
我遇到的问题是,一旦我将消息本地化,我就无法弄清楚如何检测跨度应该从哪里开始和结束。例如:
硬编码:
'x将主题改为哦hai' - 我知道从char 23到最后应该改变颜色。
本地化为荷兰语:
'x veranderde het onderwerp te oh hai' - char 23是别的。
(这是一个例子,一些消息在多个位置都有颜色)
所以我的问题是,在本地化之后,我怎么能知道从哪里开始并结束跨度?
答案 0 :(得分:0)
我会说这是不可能的。你怎么想知道语言的语法,词汇,译者认为合适的......
但您可以在翻译中插入标记--lile ##,@#或其他,以指示这些块。然后解析,捕获这些标记的位置并将其用于跨度。
答案 1 :(得分:0)
我决定将字符串设置为单一颜色而不是复杂的解析。