标签:# 国际化

打破发版枷锁:Just Eat Takeaway 模块化 iOS 应用的轻量级 OTA 本地化架构实战

在移动端工业化研发体系中,功能特性的动态干预已经司空见惯:功能开关(Feature Flags)、动态配置(Remote Config)、服务端驱动 UI(SDUI)乃至混合 Web 容器层出不穷。然而,承载用户界面最基础体验的“文案与本地化多语言资源(Localizations)”,却长期被绝大多数 iOS 团队默认视为静态不可变的“坚硬基石”——文案被编译在 .strings 与 .stringsdict 中打包进 App Bundle,任何一处错别字或翻译缺陷的修复,都不得不耗时数天乃至数周,等待下一轮漫长而沉重的主版本发版周期。

欧洲外卖巨头 Just Eat Takeaway(JET)的主端 iOS 应用拥有超过 30 个独立业务模块的 Monorepo 架构。面对跨国多语言敏捷更正、文案独立灰度实验以及新功能多语言排期解耦的强诉求,市面上主流商用 OTA 本地化 SDK 侵入性过高且无法契合模块化资源 Bundle 隔离的现实。JET 核心架构团队另辟蹊径,打造了一套仅数百行客户端代码、零第三方依赖且每模块仅需改动一行的自研 OTA 本地化系统。本文将深度剖析这套兼具极简美感与极高鲁棒性的移动架构实践。