Flutter之GetX之国际化

1|0Flutter之GetX之国际化

  1. GetMaterialApp中设置
GetMaterialApp( locale: Get.deviceLocale, translations: Messages(), fallbackLocale: const Locale("en_US"), )

其中设置的locale为用Get.deviceLocale设置的设备语言

translations设置的为我们继承Translations的类

fallbackLocale设置当配置错误时使用的语言

  1. 创建Messages类继承Translations
class Messages extends Translations { @override Map<String, Map<String, String>> get keys => { 'en_US': { 'login': 'logged in as @name with email @email', }, 'zh_CN': { 'login': '登录用户 @name, 邮箱账号 @email', } }; }
  1. 使用,直接在字符串后面加上.tr后缀
Text("login".tr)
  1. 支持带参数

在配置的Mapvalue中需要用参数配置的加上前缀@

使用

Text("login" .trParams({"name": "R1cardo", "email": "plume_mo@qq.com"}));
  1. 全局切换多语言

Get.updateLocale(const Locale("zh_CN"));


__EOF__

本文作者R1cardo
本文链接https://www.cnblogs.com/r1cardo/p/17289365.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   R1cardo  阅读(1202)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示