我正在构建一个语言教学应用程序,需要翻译特定的字符串,但保留应用程序中的所有其他字符串不翻译。我有一个微调器,由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) {
}
}