当我更改设备语言时,我的文本视图中显示不在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用于任何设备语言?
答案 0 :(得分:1)
根据设备的语言设置,Android支持Different Languages and Cultures。您可以使用不同的字符串资源来实现您希望支持的语言。
在您的项目中,右键单击res / values /并选择New - &gt;值资源文件。输入&#34;字符串&#34;对于文件名,并将源选项设置为main。在可用的限定符中,然后点击&#34;&gt;&gt;&#34;按钮移动&#34; Locale&#34;到选择的限定符部分。选择您要支持的语言并选择区域(默认为:任何区域),然后左键单击&#34;确定&#34;。 Android studio将自动生成一个名为&#34; strings.xml&#34;。
的新资源文件为什么我提到这个? Android在运行时查找默认字符串资源。可能发生的情况是您没有使用默认字符串资源,而是使用&#39; string-pt&#39;资源,如果您没有西班牙语或其他语言的资源字符串文件,这将是一个问题。
答案 1 :(得分:0)
如果您打算在用户更改默认语言时支持其他语言。 你应该覆盖 string.xml 文件
使用西班牙语作为本地创建另一个 string.xml(sp)并添加您的资源值
<resources>
<string name="check_document_image_readable">A foto ficou legível?</string>
</resources>
使用西班牙语版本覆盖string.xml。 单击res文件夹选择新资源文件并将其命名为 strings 。 在左侧选择本地,然后选择西班牙语