【问题标题】:Android Studio error message I18nAndroid Studio 错误信息 I18n
【发布时间】:2015-08-13 20:15:57
【问题描述】:

我收到一条错误消息:

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

如何解决这个错误?

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

【问题讨论】:

    标签: android android-studio code-inspection


    【解决方案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 挑选。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        对不起,我的英语不好=)

        【讨论】:

          猜你喜欢
          • 2015-02-19
          • 2016-07-12
          • 1970-01-01
          • 2018-07-18
          • 1970-01-01
          • 1970-01-01
          • 2018-09-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多