翻译特定的TextView,而不是所有TextViews?

时间:2016-07-06 17:28:39

标签: java xml android-studio spinner translate

我正在构建一个语言教学应用程序,需要翻译特定的字符串,但保留应用程序中的所有其他字符串不翻译。我有一个微调器,由android上的所有可用语言填充。我想要做的是:当用户从微调器中选择一种语言时,微调器将选择一个特定的TextView,并仅转换该TextView。我将所有字符串翻译并存储在各自的字符串中。 IE浏览器。 Stings.xml,strings-ar.xml,strings-en.xml。所以我拥有我需要的所有价值观。我只需要能够使用我的微调器来选择我想要的特定字符串,并制作该字符串。

所以在我下面的代码中,我设置了它,所以顶部字符串将被翻译为用户语言环境语言,但我希望他们能够使用微调器选择底部TextView并将底部TextView转换为在微调器中选择的语言

//spinner array

<string-array name="Languages">
    <item>English</item>
    <item>Arabic</item>
    <item>Bulgarian</item>  etc..
 </string-array>

//xml
<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/airport" />


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="217dp"
        android:id="@+id/ImageAirport"
        android:layout_gravity="center_vertical"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/airport"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Airport"
        android:id="@+id/textView"/>

//Java

    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{

    Spinner spinner;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    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);

}

    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i,     long l) {

}

    @Override
    public void onNothingSelected(AdapterView<?> adapterView) {

}
}

0 个答案:

没有答案