用户可在应用程序中配置本地化

时间:2012-08-03 23:30:08

标签: android localization

我有一个应用程序,我想添加本地化。但是,由于应用程序文本很重,本地化将是一个社区项目,因此翻译可能并不总是最新的。

因此,我更愿意制作本地化的可选项,而不是强迫用户使用混合翻译/非翻译文本的版本。

我认为这可以使用Configuration和Locale完成,但我还没有尝试过。我确定我不是第一个需要这样做的人,那么对于那些使用Locales做过任何工作的人来说,处理这个问题的建议方法是什么?潜在的陷阱?

1 个答案:

答案 0 :(得分:1)

来自评论:

您可以使用LocaleLocale.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