2016-06-27 49 views
0

我做了一個有一堆語言作爲項目的微調,我想這樣做,以便當用戶選擇某種語言時,選定的TextView將被翻譯,而其他人不翻譯。有誰知道我會怎麼做呢?如何使用微調器中選定的項目來翻譯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" /> 

回答

0

首先,當您選擇微調的項目,你必須改變地區語言:

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檔案中,有相應的鍵:

英語:價值/ strings.xml中

<string name="airport">AIRPORT</string> 

西班牙語:值-E s/strings.xml

<string name="airport">AEROPUERTO</string> 
相關問題