如何使用在微调器中选择的项目来翻译 TextView?
How do I use items selected in a spinner to translate TextViews?
我制作了一个微调器,其中包含多种语言作为项目的语言,我想制作它以便当用户选择某种语言时,将翻译所选的 TextView,同时保留其他语言不翻译。有谁知道我会怎么做?
<string-array name="Languages">
<item>English</item>
<item>Tiếng Việt</item>
<item>中文/</item>
<item>हिंदी</item>
<item>العربية</item>
<item>Español</item>
</string-array>
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter=ArrayAdapter.createFromResource(this, R.array.Languages, android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
以上是我的微调器设置。下面是其中一种文本视图的示例。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/airport"
android:textSize="40sp"
android:textColor="#000000"
android:layout_gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
首先,当您 select 微调器的一个项目时,您必须更改区域设置语言:
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, MyActivity.class);
startActivity(refresh);
finish();
}
这样做之后,Android 将查找的值应该存储在 strings.xml 文件中,对应的键为:
英语:values/strings.xml
<string name="airport">AIRPORT</string>
西班牙语:values-es/strings.xml
<string name="airport">AEROPUERTO</string>
我制作了一个微调器,其中包含多种语言作为项目的语言,我想制作它以便当用户选择某种语言时,将翻译所选的 TextView,同时保留其他语言不翻译。有谁知道我会怎么做?
<string-array name="Languages">
<item>English</item>
<item>Tiếng Việt</item>
<item>中文/</item>
<item>हिंदी</item>
<item>العربية</item>
<item>Español</item>
</string-array>
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter=ArrayAdapter.createFromResource(this, R.array.Languages, android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
以上是我的微调器设置。下面是其中一种文本视图的示例。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/airport"
android:textSize="40sp"
android:textColor="#000000"
android:layout_gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
首先,当您 select 微调器的一个项目时,您必须更改区域设置语言:
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, MyActivity.class);
startActivity(refresh);
finish();
}
这样做之后,Android 将查找的值应该存储在 strings.xml 文件中,对应的键为:
英语:values/strings.xml
<string name="airport">AIRPORT</string>
西班牙语:values-es/strings.xml
<string name="airport">AEROPUERTO</string>