You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在裸React Native项目中本地化应用名称?能否用Redux实现?

应用名称本地化及Redux实现方案

一、Android端本地化应用名称

  • 在android/src/main/res/目录下创建对应语言的values子文件夹,比如英文对应values-en,简体中文对应values-zh-rCN
  • 每个子文件夹内新建strings.xml,定义同名的app_name字符串,填入对应语言的名称:
    <!-- values-en/strings.xml -->
    <string name="app_name">New App Name</string>
    
    <!-- values-zh-rCN/strings.xml -->
    <string name="app_name">新应用名称</string>
    
  • 系统会自动根据设备当前语言,加载对应文件夹下的app_name作为桌面显示名称

二、iOS端本地化应用名称

  • 在Xcode中选中Info.plist,右键选择Open As > Source Code
  • 将CFBundleDisplayName的固定值改为引用本地化字符串:
    <key>CFBundleDisplayName</key>
    <string>$(APP_DISPLAY_NAME)</string>
    
  • 创建InfoPlist.strings文件,添加需要支持的语言本地化条目:
    // InfoPlist.strings (English)
    "CFBundleDisplayName" = "New App Name";
    
    // InfoPlist.strings (Chinese)
    "CFBundleDisplayName" = "新应用名称";
    
  • 确保InfoPlist.strings已添加到对应语言的本地化目标中,系统会自动根据设备语言切换桌面显示名称

三、Redux Store实现应用名称本地化的说明

  • 无法通过Redux修改桌面图标名称:桌面显示名称由系统读取原生配置文件(Android的strings.xml、iOS的InfoPlist.strings)决定,Redux是前端状态管理工具,运行在应用内部,无法干预系统层面的配置读取逻辑。
  • 应用内显示的名称可通过Redux动态切换:如果是应用界面内展示的名称(非桌面图标),可以这么做:
    1. 在Redux Store中维护当前语言状态,比如currentLanguage: 'en'或'zh'
    2. 定义多语言名称映射对象:
      const appNameMap = {
        en: 'New App Name',
        zh: '新应用名称'
      };
      
    3. 在需要展示名称的组件中,从Redux获取当前语言,匹配对应的名称渲染:
      const currentAppName = useSelector(state => appNameMap[state.currentLanguage]);
      
    4. 用户切换语言时,更新Redux中的currentLanguage状态,应用内的名称会自动同步切换

内容的提问来源于stack exchange,提问作者Mir Stephen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:02:18