flutter 国际化方案

226 天前
 laters
  1. intl

  2. easy_localization

  3. getx

  4. 官方的太麻烦了, 不能像别的一样 直接写 json 或者 yaml 文件翻译

  5. easy_localization 支持动态 http 和 资源文件,但无法热重载时候更新翻译,只能重启应用重新加载文件,而且好像无法跟随系统语言设置

  6. getx 简单,但不想太依赖于 getx

有没有更好的方案或者解决方案,支持文件或动态翻译,热重载 跟随系统语言设定

971 次点击
所在节点    Flutter
11 条回复
GooMS
226 天前
Intl 还好吧,想要 json 可以封装一下
milukun
226 天前
用 GetX 又不代表要用它所有功能,各取所需就好了。
我就只用 getx 导航、国际化和状态管理
laters
226 天前
@milukun 你 router 用的哪个 ?
laters
226 天前
@milukun 发错了。。 看到了
laters
226 天前
@milukun 是否用到了 bingings
laters
226 天前
@GooMS 要写的代码会变得很多, 不如别的国际化直接 { title: 标题} 就可以了
milukun
226 天前
milukun
226 天前
@laters #5 这个项目里面是有国际化相关配置的 只不过没写错来
laters
226 天前
@milukun 用 getx 的路由没用 bingings ? 那你是怎么 init 的, 在每个 controller 第一次的时候 init ?
milukun
226 天前
@laters #9 就是看具体需求呀,有些页面完全就是在 controller 页面里面用 getx 的 onInit 、onReady 就行,我觉得 binding 太麻烦咯,除非必要
jifengg
226 天前
我们目前用 intl ,写了一个前置脚本,支持编写无限嵌套 json ,然后转换成 intl 需要的 arb 文件。
同时又写了另一个翻译脚本,读 json 给 chatgpt 进行翻译。

实践下来,团队协作还是没问题的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/991451

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX