如何使用在微调器中选择的项目来翻译 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>