android翻译带变量的字符串

时间:2016-05-23 07:11:43

标签: android xml translate

早上好,

我有一个带有德语和英语xml文件的Android应用程序。 现在我想设置和文本视图这样:

“Hello User x,hello world y。” “Hallo Benutzer x,hallo welt y。”

对于x和y我想设置一个变量。 如何使用动态变量翻译这两种语言的文本?

3 个答案:

答案 0 :(得分:2)

默认情况下,android将英语视为主要语言,并从res⇒values⇒strings.xml加载字符串资源。如果要添加对其他语言的支持,则需要通过附加连字符和ISO语言代码来创建值文件夹。例如,如果要添加对French的支持,则应创建名为values-fr的values文件夹,并在其中保留strings.xml文件,并将所有字符串翻译成法语。 enter image description here

答案 1 :(得分:1)

您的问题似乎不清楚,但根据我的理解,我建议您解决方案。

如果要将动态参数传递给string,可以通过下面的示例来执行此操作。

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>

在此示例中,格式字符串有两个参数:%1 $ s是字符串,%2 $ d是十进制数。您可以使用应用程序中的参数格式化字符串,如下所示:

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);

如果您希望了解更多信息:http://developer.android.com/intl/pt-br/guide/topics/resources/string-resource.html#FormattingAndStyling

答案 2 :(得分:0)

&#34; Hello User%1 $ s,hello world%2 $ s。&#34; &#34; Hallo Benutzer%1 $ s,hallo welt%2 $ s。&#34; 在代码中,然后只需调用getString(R.string.your_string,yourName,yourWorld),其中yourName和yourWorld是String变量。

如果你需要知道在哪里存放琴弦,请参阅Devendra Singh的答案。