将翻译字符串处理为Android上具有变形的语言

时间:2014-04-11 11:17:39

标签: android translation

我不确定这是发布此内容的正确论坛,但我不确定如何在特定语言中的名词变形的某些场景中组织我的字符串。用一个例子来解释这个问题更容易。请考虑以下字符串:

<string name="my_string">Show you more information in context with each 
    <xliff:g id="item_name">%s</xliff:g></string>

在这种情况下,元素<xliff:g id="item_name">%s</xliff:g>可以替换为,例如,“alarm”或“alert”,具体取决于我的应用中的上下文。但是,这不适用于使用名词的语言,例如芬兰语。

在芬兰语中,%s在应用程序中用“hälytys”(= alarm)代替,但在这种情况下语法正确的形式将是“hälytyksen”(芬兰语中的一种单一警报的变形形式,由一个后置位置,遗憾的是没有很好的方法来规避变形。)

所以看起来我不能拥有这种带有可替换名词的通用字符串元素。除了%s

的每个可能值的硬编码字符串元素之外,您有什么建议吗?

1 个答案:

答案 0 :(得分:0)

将这个字符串放在string.xml中

<string name="my_string">Show you more information in context with each &lt;xliff:g id=\"item_name\"&gt; %s &lt;\/xliff:g&gt;</string>

来自Java

String s = String.format(getString(R.string.my_string,"alarm")); //put your dynamic value for alarm

输出将是:

Show you more information in context with each <xliff:g id="item_name"> alarm </xliff:g>