我有一个应用程序,我想添加本地化。但是,由于应用程序文本很重,本地化将是一个社区项目,因此翻译可能并不总是最新的。
因此,我更愿意制作本地化的可选项,而不是强迫用户使用混合翻译/非翻译文本的版本。
我认为这可以使用Configuration和Locale完成,但我还没有尝试过。我确定我不是第一个需要这样做的人,那么对于那些使用Locales做过任何工作的人来说,处理这个问题的建议方法是什么?潜在的陷阱?
答案 0 :(得分:1)
来自评论:
您可以使用Locale
和Locale.setDefault()
修改应用内的Resources.updateConfiguration()
:
// From https://stackoverflow.com/a/4986481/1438733
Locale locale = new Locale("en"); // For English; see below for more codes
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
(注意:可以找到ISO 639-1代码列表on Wikipedia。)
可以找到关于此事的更复杂和详细的帖子here。