android 翻译带变量的字符串
android translate string with variables
早上好,
我有一个带有德语和英语 xml 文件的 android 应用程序。
现在我想像这样设置和文本视图:
"Hello User x, hello world y."
"Hallo Benutzer x, hallo welt y."
我想为 x 和 y 设置一个变量。
我如何使用动态变量将此文本翻译为两种语言?
默认情况下 android 将英语视为主要语言并从 res ⇒ 值 ⇒ strings.xml 加载字符串资源。当您想要添加对另一种语言的支持时,您需要通过附加连字符和 ISO 语言代码来创建一个值文件夹。例如,如果你想添加对法语的支持,你应该创建一个名为 values-fr 的值文件夹,并在其中保存一个 strings.xml 文件,其中包含所有翻译成法语的字符串。
您的问题似乎不清楚,但根据我的理解,我建议您解决方案。
如果您想将动态参数传递给字符串,您可以通过下面的示例来实现。
<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);
"Hello User %1$s, hello world %2$s."
"Hallo Benutzer %1$s, hallo welt %2$s."
然后在代码中简单地调用 getString(R.string.your_string, yourName, yourWorld) 其中 yourName 和 yourWorld 是字符串变量。
如果您需要知道在哪里存储字符串,请参阅 Devendra Singh 的回答。
早上好,
我有一个带有德语和英语 xml 文件的 android 应用程序。 现在我想像这样设置和文本视图:
"Hello User x, hello world y." "Hallo Benutzer x, hallo welt y."
我想为 x 和 y 设置一个变量。 我如何使用动态变量将此文本翻译为两种语言?
默认情况下 android 将英语视为主要语言并从 res ⇒ 值 ⇒ strings.xml 加载字符串资源。当您想要添加对另一种语言的支持时,您需要通过附加连字符和 ISO 语言代码来创建一个值文件夹。例如,如果你想添加对法语的支持,你应该创建一个名为 values-fr 的值文件夹,并在其中保存一个 strings.xml 文件,其中包含所有翻译成法语的字符串。
您的问题似乎不清楚,但根据我的理解,我建议您解决方案。
如果您想将动态参数传递给字符串,您可以通过下面的示例来实现。
<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);
"Hello User %1$s, hello world %2$s." "Hallo Benutzer %1$s, hallo welt %2$s." 然后在代码中简单地调用 getString(R.string.your_string, yourName, yourWorld) 其中 yourName 和 yourWorld 是字符串变量。
如果您需要知道在哪里存储字符串,请参阅 Devendra Singh 的回答。