【问题标题】:TextView showing strings that are not in the strings.xml when device language is changed更改设备语言时显示不在 strings.xml 中的字符串的 TextView
【发布时间】:2018-02-28 00:11:09
【问题描述】:

当我更改设备语言时,不在 strings.xml 中的字符串会显示在我的文本视图中。

下面是我的文本视图代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:paddingTop="@dimen/padding_all_activity_16"
    android:text="@string/check_document_image_readable"
    android:textSize="18sp"
    android:textStyle="bold" />
......

在 values/string.xml 文件中:

    <string name="check_document_image_readable">A foto ficou legível?</string>

我的应用不支持其他语言(它是用葡萄牙语编写的)。

当我在设备设置为英语的情况下运行应用程序时:

但是如果我改成西班牙语(即使我杀死了应用程序):

我正在使用 Android Studio 3.0.1 进行开发。这发生在 API 的 24 和 25 中。

我怎样才能只将 values/strings.xml 用于任何设备语言?

【问题讨论】:

    标签: android android-studio textview


    【解决方案1】:

    根据设备的语言设置,Android 支持Different Languages and Cultures。您可以使用您希望支持的语言的不同字符串资源来实现这一点。

    在您的项目中,右键单击 res/values/ 并选择 New -> Values 资源文件。输入“字符串”作为文件名并将源选项设置为 main。在 Available qualifiers 中,单击“>>”按钮将“Locale”移动到 Chosen qualifiers 部分。选择您希望支持的语言并选择地区(默认为:任何地区),然后左键单击“确定”。 Android Studio 会自动生成一个新的资源文件,也叫“strings.xml”。

    我为什么提到这个? Android 在运行时会寻找默认的字符串资源。可能发生的情况是您没有使用默认字符串资源,而是使用“string-pt”资源,如果您没有西班牙语或其他语言的资源字符串文件,这将是一个问题。

    【讨论】:

      【解决方案2】:

      如果您打算在用户更改默认语言时支持其他语言。 你应该覆盖 string.xml 文件

      创建另一个 string.xml (sp) 以西班牙语为本地并添加您的资源价值

      <resources>
             <string name="check_document_image_readable">A foto ficou legível?</string>
      </resources>
      

      用西班牙语版本覆盖 string.xml。 单击 res 文件夹选择新的资源文件并将其命名为 strings。 在左侧选择 local 并选择西班牙语

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-11
        • 2016-05-20
        • 2021-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多