在我的 android 应用程序中,我想实现一个函数 - 它具有可以使用系统语言更改翻译的字符串,以及不应使用系统语言更改翻译而应根据用户需要更改的字符串。
例子:
can you say "中文", please try to say "你好"
在上面的句子中,引号外的字符串应该随系统语言而变化,但引号内的字符串应该根据用户的需要或选择而变化。
我如何在android中实现这个功能?
但我不想在我的应用程序中添加数据库。如何使用数组实现这一点,如何将翻译字符串保存在数组中,以及获取和合并字符串?
如果系统语言是英文,如何从保存的数组中获取中文字符串?
而且我还发现了另一个实现这个目标的方法,就像下面的代码:
Resources res = getResources();
Configuration config = res.getConfiguration();
DisplayMetrics dm = res.getDisplayMetrics();
/**
*update the desired locale, if I want to get chinese string,
*change configuration to Chinese locale.
**/
res.getConfiguration().locale = Locale.getDefault();
res.updateCXonfiguration(config, dm);
String text = res.getString(R.string.merges_tring)
//when I get the string I want,
//then restore the configraion locale to previous/current locale.
...code...
//below code, to merge the get string
...code...
你怎么这么想?它会对系统语言产生任何缺陷吗?