我必须用3种语言制作Android应用程序,例如德语,英语和荷兰语。我已经在res目录中的Android应用程序名称values-de
和values-nl
中创建了三个文件夹。 现在当用户选择一个特定的语言,我执行以下代码:多语言android应用程序?
Resources res = getResources();
Configuration newConfig = new Configuration(res.getConfiguration());
newConfig.locale = Locale.ENGLISH;
res.updateConfiguration(newConfig, null);
都在不同价值观的文件夹名称相同的字符串,即与中值的文件夹名称add_site一个字符串有相同的名称the values-de
文件夹但具有不同的值。 当我将语言环境设置为德语时,我的应用程序未加载德语值?可能是什么问题呢?
谢谢你的帮助。
我的理解是locales是根据系统偏好由Android自动处理的。是否有任何理由需要用户能够从您的应用程序中设置区域设置? – KPthunder 2011-03-18 06:02:40
是的。这是因为只是为了查看我的应用程序,用户将不得不改变系统配置,这将导致所有应用程序被设置为该语言....我认为这是不必要的。虽然现在当我改变系统配置代码工作正常,这意味着德国文本正在显示时,我已经设置系统区域设置为德国...我想实现从应用程序内相同 – user590849 2011-03-18 06:07:33
在某种程度上,这是一个作为一个功能不错的想法,但请记住,它是针对Android上的所有其他应用程序(包括股票应用程序)如何工作。它们都会自动检测您的区域设置,并在无需用户干预的情况下即时加载正确的资源。除非有很好的理由,否则我不会打破这种默认行为。 – 2011-03-18 15:38:03