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

如何在现有Flutter项目中添加Localizable.strings文件?

在Flutter iOS项目中添加Localizable.strings处理APNS本地化推送

在iOS设备上运行的Flutter应用,用firebase_messaging包接收APNS推送通知时,如果通知负载的alert部分带本地化键(比如"loc-key" : "GAME_PLAY_REQUEST_FORMAT"),设备会直接显示这个键名,不会自动转成本地化文本。解决这个问题的核心是把对应键添加到iOS项目的Localizable.strings文件中,具体操作步骤如下:

  • 打开iOS模块:用Xcode打开Flutter项目根目录下的ios/Runner.xcworkspace文件。
  • 创建/找到Localizable.strings文件:
    • 要是项目里还没有这个文件,在Xcode的Runner目录右键选「New File...」,搜索「Strings File」后创建名为Localizable.strings的文件;
    • 已经有的话直接定位到该文件。
  • 配置多语言支持:
    • 选中Localizable.strings,打开右侧「File Inspector」面板(快捷键⌘+Option+1);
    • 点击「Localize...」按钮,选默认语言(比如英语)后点「Localize」;
    • 在「Localizations」区域勾选需要支持的语言(比如简体中文),Xcode会自动生成对应语言的Localizable.strings文件。
  • 添加本地化键值对:
    • 打开对应语言的文件,按格式添加键值对:
      英语版本(en.lproj/Localizable.strings):
      "GAME_PLAY_REQUEST_FORMAT" = "%@ wants to play %@ with you";
      
      简体中文版本(zh-Hans.lproj/Localizable.strings):
      "GAME_PLAY_REQUEST_FORMAT" = "%@ 想要和你一起玩 %@";
      
    • 注意键和值都要用双引号包裹,末尾必须加分号。
  • 验证配置:
    • 检查Xcode项目的「Info.plist」里,「Localizations」列表包含你添加的语言(可在项目设置的「Info」标签页查看);
    • 重新编译Flutter项目到iOS设备,发送带对应loc-key的APNS推送,测试是否显示正确的本地化文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:31:16