我收到一条错误消息:
[I18N]硬编码字符串"今天 - Sunny - 78/67",应该使用@string 资源。
如何解决此错误?
代码行是:android:text="Today - Sunny - 78/67"
答案 0 :(得分: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>
如果用户的语言环境是西班牙语,那么该字符串将自动被选中。
答案 1 :(得分:0)
这意味着您不应该在XML中明确地编写文本。您应该使用/Values/Strings.xml来保存字符串值。
查看左侧的文件夹,了解值。该文件已存在。你只需要在其中添加你的字符串。
为了记录,这通常不会产生错误,我现在会崩溃&#34;品种。它通常只是一个警告。
答案 2 :(得分:0)
你可以把鼠标放在问题行上并使用android studio热键 - alt + enter。之后,您可以选择&#34;提取字符串资源&#34;
Sory我的英语不好=)