如何在Expo开发的Android应用中启用系统设置语言选择?
解决Expo Android应用在系统设置中不显示语言选项的问题
要让Android系统设置识别到你的Expo应用支持的语言并显示切换选项,需要完成以下几项配置:
1. 在app.json中添加Android语言资源配置
在expo.android字段下添加resConfigs,明确列出应用支持的语言代码,同时确保全局locales配置完整:
{ "expo": { "ios": { "infoPlist": { "CFBundleAllowMixedLocalizations": true } }, "android": { // 列出所有你支持的语言代码,比如英文、日文 "resConfigs": ["en", "ja"] }, "locales": { "ja": "./languages/japanese.json", "en": "./languages/english.json" } } }
resConfigs的作用是告诉Android构建工具只保留指定语言的资源文件,系统会通过这个配置识别到应用的多语言支持。
2. 确保本地化元数据文件格式正确
你的语言配置文件(比如japanese.json)需要包含应用元数据的翻译内容,示例:
{ "name": "アプリ名称", "shortName": "アプリ", "description": "これはサンプルアプリです" }
这些内容会被Expo编译成Android原生的strings.xml资源,是系统识别语言支持的关键依据。
3. 重新构建应用
- 如果你使用的是开发构建(Development Build),需要重新生成构建包并安装到设备上;
- 如果你已经预构建过Android原生项目,执行
npx expo prebuild --clean清理并重新生成原生文件,再进行构建。
额外注意
Android系统的应用独立语言设置功能仅在Android 13(API 33)及以上版本支持。如果你的测试设备系统版本低于这个,系统设置里不会显示应用语言选项,这种情况下你需要自行开发应用内的语言切换UI。
内容的提问来源于stack exchange,提问作者TJ-
相关产品推荐
相关产品推荐

