0

我收到一条错误消息,上面写着:

[I18N] 硬编码字符串“Today - Sunny - 78/67”,应使用 @string 资源。

如何解决此错误?

代码行是:android:text="Today - Sunny - 78/67"

4

3 回答 3

1

i18n 是国际化的缩写。Android Studio 只是给您一个提示,即您设置文本的方式不允许您轻松翻译它。

相反,您应该将字符串放在 res/values 文件夹中的 strings.xml 文件中:

<resources>
  <string name="my_string">Today - Sunny - 78/67</string>
</resources>

然后,您在 TextView 上引用该字符串,如下所示:

android:text="@string/my_string"

这将允许您为西班牙语字符串创建另一个文件 res/values-es/strings.xml,您可以将翻译添加到:

<resources>
  <string name="my_string">Hoy - Soleado - 78/67</string>
</resources>

如果用户的区域设置语言是西班牙语,那么该字符串将自动为您的 TextView 挑选。

于 2015-08-13T20:24:48.553 回答
0

您可以将鼠标放在问题线上并使用 android studio 热键 - alt+enter。之后,您可以选择“提取字符串资源”

对不起我的英语不好=)

于 2015-08-13T20:27:46.300 回答
0

这意味着您不应在 XML 中显式编写文本。您应该使用 /Values/Strings.xml 来保存您的字符串值。

查看左侧的文件夹以获取值。该文件已经存在。你只需要将你的字符串添加到它。

作为记录,这通常不会产生“我现在要崩溃了”类型的错误。这通常只是一个警告。

于 2015-08-13T20:20:22.617 回答