如何设置Android应用程序的语言首选项?

如何设置Android应用程序的语言首选项?,android,localization,preferences,Android,Localization,Preferences,我正在开发一个Android应用程序,该应用程序可以被任何语言使用,但我想为应用程序中显示为标签的文本语言或按钮中的文本设置首选项 因此,我想知道的是如何在菜单中包括一个“设置”,用户可以在其中设置默认语言,例如现在的英语或阿拉伯语,然后整个应用程序将只显示文本、标签和按钮,以及指定的语言。因此,当用户首次下载应用程序时,它会提示选择一种语言,然后每次启动应用程序时,它都会使用最初指定的语言,或者可以从菜单中的设置更改语言 我知道如何在活动菜单中添加项目,但我不知道如何将设置保存为首选项并更改应

我正在开发一个Android应用程序,该应用程序可以被任何语言使用,但我想为应用程序中显示为标签的文本语言或按钮中的文本设置首选项

因此,我想知道的是如何在菜单中包括一个“设置”,用户可以在其中设置默认语言,例如现在的英语或阿拉伯语,然后整个应用程序将只显示文本、标签和按钮,以及指定的语言。因此,当用户首次下载应用程序时,它会提示选择一种语言,然后每次启动应用程序时,它都会使用最初指定的语言,或者可以从菜单中的设置更改语言


我知道如何在活动菜单中添加项目,但我不知道如何将设置保存为首选项并更改应用程序中的所有文本。

你应该做的是让手机决定本地化,然后在项目中包含相应的本地化文件。上的Android文档应该会有所帮助。基本上你要做的就是创建几个文件夹


默认文件夹strings.xml将是
res/values/strings.xml
,然后是。。。您将要创建
res/values fr/strings.xml
。然后,如果手机设置为法语,它将从values fr文件夹中加载字符串,如果找不到字符串,它将在
res/values/
文件夹中的strings.xml中查找。

您应该做的是让手机决定本地化,然后在项目中包含相应的本地化文件。上的Android文档应该会有所帮助。基本上你要做的就是创建几个文件夹


默认文件夹strings.xml将是
res/values/strings.xml
,然后是。。。您将要创建
res/values fr/strings.xml
。然后,如果手机设置为法语,它将从values fr文件夹加载字符串,如果找不到它们,它将在
res/values/
文件夹中的strings.xml中查找。

我想我喜欢这个解决方案,因为它可以根据系统的不同自动完成工作,但是否有其他方法,我可以手动选择在应用程序开始时使用的文件“/values fr/strings.xml”或“/values/strings.xml”用户决定第一次发布?我会阅读本地化,以防万一,即使我不打算自动化的东西,因为我自己是一个多语言,但对于一些应用程序,我希望他们在阿拉伯语,而不是英语像我的整个手机。看看这个吧。这将告诉您如何通过编程告诉它加载哪种语言。非常感谢Lockard先生,最后一件事,将用户选择的任何语言保存为默认语言以便应用程序记住所选语言的正确方法是什么?在我看来,我认为我需要将决策写入一个文件,然后每次用户打开应用程序时,我都必须检查这个文件并设置语言。但我认为一定有更好或更专业的方法来做到这一点?不是吗?你会想把它存储在SharedReferences中。我想我喜欢这个解决方案,因为它可以根据系统的不同自动完成工作,但是在用户决定首次启动应用程序后,我是否可以手动选择在应用程序开始时使用哪个文件“/values fr/strings.xml”或“/values/strings.xml”?我会阅读本地化,以防万一,即使我不打算自动化的东西,因为我自己是一个多语言,但对于一些应用程序,我希望他们在阿拉伯语,而不是英语像我的整个手机。看看这个吧。这将告诉您如何通过编程告诉它加载哪种语言。非常感谢Lockard先生,最后一件事,将用户选择的任何语言保存为默认语言以便应用程序记住所选语言的正确方法是什么?在我看来,我认为我需要将决策写入一个文件,然后每次用户打开应用程序时,我都必须检查这个文件并设置语言。但我认为一定有更好或更专业的方法来做到这一点?不是吗?你想把它存储在SharedReferences中。