gpt4 book ai didi

android - 如何使用安卓 xliff :g

转载 作者:IT老高 更新时间:2023-10-28 23:11:07 28 4
gpt4 key购买 nike

谁能解释一下xliff:g用于字符串/本地化。

我了解 xliff:g不应该翻译 <> 中的任何内容事情,但我很困惑我将如何在代码中使用它。

我的一个例子是我的西类牙语翻译练习:

<string name="order_quantity">Cantidad: <xliff:g id="quantity" example="2">%d/xliff:g</string>

我现在尝试使用 xliff:g 获取本地化字符串去工作。什么是id在这里,它有什么作用?它叫什么?

还有什么是%d它有什么作用? example 的意义何在? ?另外,如果有的话,我将如何将其调用到代码中?

为什么有人不能只执行以下代码来插入以下 xml:

<string name="quant">Quantity: </string>

像这样进入java:

getString(R.string.quant) + quantity

这样它将数量变量连接到getString ?

最佳答案

你的例子中的小错误,应该有一个结束标签:

<string name="order_quantity">Cantidad: <xliff:g id="quantity" example="2">%d</xliff:g></string>

id 属性仅用于标识替换参数代表什么(在您的情况下,它代表数量)。正如您所说,这是一个注释,实际上并未以编程方式使用。

也就是说,在 Android Studio 中,如果您为字符串启用了代码折叠,当它显示折叠的字符串时,它将替换为 ID。你会看到这样的东西:

// This...
mTextView.setText(getString(R.string.order_quantity, 2));

// Will show as this when folded:
mTextView.setText("Cantidad: {quantity}");

至于你的第二个问题,为什么不直接使用字符串连接呢?在其他语言中,替换可能不会出现在字符串的末尾。你可以有类似的东西:

values/strings.xml
<string name="order_quantity">%d items</string>

values-es/strings.xml
<string name="order_quantity">Cantidad: %d</string>

所以你可以看到,在这种情况下,简单地将字符串附加在一起不会给你一个有效的结果。

关于android - 如何使用安卓 xliff :g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004433/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com