簡體   English   中英

如何使用微調器中選擇的項目來翻譯TextView?

[英]How do I use items selected in a spinner to translate TextViews?

我制作了一個微調器,該微調器具有多種語言作為項目,並且我想制作一個微調器,以便當用戶選擇某種語言時,所選的TextViews將被翻譯而其他語言未翻譯。 有人知道我會怎么做嗎?

<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" />

首先,當您選擇微調器的項目時,必須更改語言環境語言:

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM