我收到一条错误消息,上面写着:
[I18N] 硬编码字符串“Today - Sunny - 78/67”,应使用 @string 资源。
如何解决此错误?
代码行是:android:text="Today - Sunny - 78/67"
我收到一条错误消息,上面写着:
[I18N] 硬编码字符串“Today - Sunny - 78/67”,应使用 @string 资源。
如何解决此错误?
代码行是:android:text="Today - Sunny - 78/67"
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 挑选。
您可以将鼠标放在问题线上并使用 android studio 热键 - alt+enter。之后,您可以选择“提取字符串资源”
对不起我的英语不好=)
这意味着您不应在 XML 中显式编写文本。您应该使用 /Values/Strings.xml 来保存您的字符串值。
查看左侧的文件夹以获取值。该文件已经存在。你只需要将你的字符串添加到它。
作为记录,这通常不会产生“我现在要崩溃了”类型的错误。这通常只是一个警告。