我正在努力创建一个多语言的应用程序,英语和希腊语。 我想要的只是第一个屏幕上的2个按钮,您将选择语言,然后所有其他应用程序将使用该语言。我用2个按钮和一个段落做了一个简单的测试项目,当你按下英文按钮时,文本将是英文,当你按下希腊按钮时,文本将是希腊语。 我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page2);
Button english = (Button) findViewById(R.id.english);
english.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Locale locale = new Locale("en_UK");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getApplicationContext().getResources().updateConfiguration(config, null);
Intent intent = new Intent(v.getContext(), MainActivity.class);
startActivityForResult(intent, 0);
}
});
Button greek = (Button) findViewById(R.id.greek);
greek.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Locale locale = new Locale("el_GR");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getApplicationContext().getResources().updateConfiguration(config, null);
Intent intent = new Intent(v.getContext(), MainActivity.class);
startActivityForResult(intent, 0);
}
});
}
带有英文段落的strings.xml位于原始res / values文件夹中 而带有希腊语的strings.xml在res / values-el
中这是来自测试应用的3个屏幕截图 这是一些截图:
非字母的东西是希腊段落
答案 0 :(得分:0)
问题是你的手机不支持希腊语的unicode字符, 有两种解决方案,
1)这意味着您的设备使用的字体不支持希腊字符(因此unknown unicode
)。您需要找到更好的字体并在您的应用程序中使用它(请参阅http://developer.android.com/reference/android/graphics/Typeface.html docs)
2)获取英语到希腊语的在线unicode转换器或谷歌翻译器,并将这些单词复制到strings.xml