我有一个应用程序,我想在其中添加本地化。但是,由于该应用程序文本繁重,并且本地化将是一个社区项目,因此翻译可能并不总是最新的。
因此,我更愿意将本地化设为可选,而不是强迫用户使用混合翻译/非翻译文本的版本。
我认为这可以使用配置和语言环境来完成,但我还没有尝试过。我确定我不是第一个需要这样做的人,那么对于那些使用 Locales 做过任何工作的人来说,推荐的处理方法是什么?潜在的陷阱?
我有一个应用程序,我想在其中添加本地化。但是,由于该应用程序文本繁重,并且本地化将是一个社区项目,因此翻译可能并不总是最新的。
因此,我更愿意将本地化设为可选,而不是强迫用户使用混合翻译/非翻译文本的版本。
我认为这可以使用配置和语言环境来完成,但我还没有尝试过。我确定我不是第一个需要这样做的人,那么对于那些使用 Locales 做过任何工作的人来说,推荐的处理方法是什么?潜在的陷阱?
来自评论:
您可以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());
(注意:可在 Wikipedia上找到 ISO 639-1 代码列表。)
可以在此处找到有关此问题的更复杂和详细的帖子。