如何将参数放入Android中的本地化字符串?

bri*_*tey 9 string android localization android-resources

我需要将一段动态文本放入一个本地化的字符串中,但它必须根据语言进入不同的位置.

例如,我需要两个字符串,如:

英语:当前时间是HH:mm:ss另一种语言:HH:mm:ss是当前时间

我可以想到一种方法,即使用preDate和postDate本地化字符串,其中postDate在英语中为空,而preDate在其他中为空.这将工作,但似乎不是非常优雅或可扩展.

有一个更好的方法吗?

Cal*_*vin 33

我在我的字符串资源中使用它.

<string name="duration"><xliff:g id="minutes" example="42" >%s</xliff:g> mins <xliff:g id="seconds" example="28" >%s</xliff:g> secs</string>
Run Code Online (Sandbox Code Playgroud)

当你打电话时,打印xx分钟yy秒:

getString(R.string.duration, minutes, seconds);
Run Code Online (Sandbox Code Playgroud)

在另一种语言中,您可以通过更改分钟和秒的位置来翻译它.它应该打印,例如:mins xx secs yy

架构应包含在标头中:

<resources xmlns:xliff="rn:oasis:names:tc:xliff:document:1.2">
Run Code Online (Sandbox Code Playgroud)

  • 您可能希望在标头中包含xmlns:xliff. (3认同)

Rom*_*uba 28

正确的android xml字符串格式是 <string name="tst">string %1$s integer %2$d</string>

  • 我试过这个,它就像一个魅力!谢谢. (2认同)