flutter 多语言 国际化 flutter Intl的使用方法

一使用 flutter Intl

Android studio需要添加插件 flutter Intl

路径 File>>Settings>>Plugins>>Marketplace>>flutter Intl>>Install
安装插件重新启动Android studio

Android studio 创建一个flutter测试的新项目

在项目文件中配置 ** 添加完成需要flutter pub get
pubspec.yaml

  #国际化配置 1flutter_localizations:sdk: flutter#intl: ^0.19.0#生成文件intl_utils: ^2.0.0

使用插件生成配置文件

1.Tools>>Flutter lIntl>>Initialize for the Project
2.Tools>>Flutter lIntl>>Add Locale

中文zh 英文 en
看到{lib>>|10n}生成相关文件,文件内容{}
填写文件
中文

{"appName": "zq国际化{name}","autoBySystem": "跟随系统","theme": "色彩主题","settingLanguage": "多语言","darkMode": "黑夜模式","language": "语言","settingFont": "字体"
}

中文

{"appName": "zqinternational{name}","autoBySystem": "Auto","theme": "Theme","settingLanguage": "Language","darkMode": "Dark Mode","language": "Language","settingFont": "System Font"
}

重点 “appName”: “zq国际化{name}”,
{name}是一个占位符可以加入动态的字符,配置时都需要配置

执行 flutter pub run intl_utils:generate 生成相关文件

PS F:\project\android_flutter\language> flutter pub run intl_utils:generate
Flutter assets will be downloaded from https://mirrors.tuna.tsinghua.edu.cn/flutter. Make sure you trust this source!
Deprecated. Use `dart run` instead.
Building package executable... (5.0s)
Built intl_utils:generate.
INFO: No @@locale or _locale field found in intl_en, assuming 'en' based on the file name.
INFO: No @@locale or _locale field found in intl_zh, assuming 'zh' based on the file name.
PS F:\project\android_flutter\language>

在项目文件目录 lib>>generated>>|10n.dart 看到如下文件

....
....
/// `zqinternational{name}`String appName(Object name) {return Intl.message('zqinternational$name',name: 'appName',desc: '',args: [name],);}/// `Auto`String get autoBySystem {return Intl.message('Auto',name: 'autoBySystem',desc: '',args: [],);}
....
....

使用 区别 有占位符

S.of(context)!.appName(‘${你好}’)
S.of(context)!.autoBySystem

下载地址 https://download.csdn.net/download/ZQ200720/90057955

项目下载地址
0积分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp实现加密Token并在每次请求前动态更新(vue、微信小程序、原生js也通用!)

导语:在Web开发中,Token作为一种身份验证的机制,被广泛应用于前后端交互过程中。本文将为大家介绍如何在每次请求前动态设置加密的Token,并在请求一次后使Token值加1(或其他动态改变的逻辑),从而…

IDL学习笔记(二)IDL处理卫星数据

IDL处理卫星数据 HDF文件数据集属性通用属性 常用HDF4操作函数常用的HDF5操作函数读取HDF文件的一般步骤 HDF4文件读取-----数据信息查询HDF4文件读取示例-----目标数据TIFF输出 HDF文件 数据集属性 数据集名称,是“:”前的一部分,不是long_…

论文阅读——量子退火Experimental signature of programmable quantum annealing

摘要:量子退火是一种借助量子绝热演化解决复杂优化问题的通用策略。分析和数值证据均表明,在理想化的封闭系统条件下,量子退火可以胜过基于经典热化的算法(例如模拟退火)。当前设计的量子退火装置的退相干时间比绝热演…

TCP/IP协议簇自学笔记

摘抄于大学期间记录在QQ空间的一篇自学笔记,当前清理空间,本来想直接删除掉的,但是感觉有些舍不得,因此先搬移过来。 曾经,我只知道socket函数能进行网络间数据的通信,知道tcp/ip协议也是用来进行网络数据…

JAVA OPCUA 服务端开发,客户端连接会话监听和订阅事件监听

前言 关于使用milo开源库,开发opc ua服务器,有网友咨询如何设置服务端如何监听客户端的连接或断开事件,如何监听客户端发起订阅事件的代码实现,于是我完善了这部分的空缺整理整了这篇教程,希望能解决有同样需求,但是遇到困难的网友!因为milo没有官方文档的教程且网上详…

三数之和 Leecode 2024/12/02

思路&#xff1a;1. 找到所有不重复下标的整数组合。2. 在所有组合中找到和为0的组。 暴力解法超时&#xff01;&#xff01;&#xff01; public static List<List<Integer>> threeSum(int[] nums) {int num_len nums.length;HashSet<List<Integer>&g…

c++领域展开第一幕——入门基础(命名空间、iostream、缺省参数、函数重载、nullptr、inline(内联函数))超详细!!!!

文章目录 前言一、c的第一个程序二、命名空间2.1 namespace 的价值2.2 namespace 的定义2.3 命名空间的使用 三、c的输入和输出四、缺省参数五、函数重载六、nullptr七、inline总结 前言 今天小编带着大家进入c的大门&#xff0c;虽然c难&#xff0c;但好事多磨&#xff0c;一起…

word表格 转换html 并导出.docx和图片(vue)

一、复制word表格转换成html代码 &#xff0c;在页面中显示 并且能导出 1、导出使用了htmlDocx插件 //1、使用html-docx-js 插件 npm install html-docx-js --save npm install html2canvas //2、在页面中引入 import htmlDocx from html-docx-js/dist/html-docx.js; import …

我们项目要升级到flutter架构的几点原因

一、探索 Flutter打造卓越移动应用的新时代框架 在移动应用开发的世界里&#xff0c;Flutter已经成为了一个炙手可热的话题。诞生于Google的怀抱&#xff0c;Flutter以其独特的优势和理念&#xff0c;正在引领一场全球范围内的应用开发 ** 。本文将深入探讨Flutter项目的特点、…

DM-VIO(ROS)+t265配置运行记录(ubuntu18.04+ros melodic)

在工作中需要对DM-VIO算法进行测试&#xff0c;于是配置并记录了一下&#xff1a; 首先运行ros接口的dm-vio&#xff0c;一定要先配置源码 https://github.com/lukasvst/dm-vio在这个网址把源码下载下来并解压&#xff0c;并安装一下依赖&#xff1a; sudo apt-get install …

基于Java Springboot成人教育APP且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

基于Java Springboot个人财务APP且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

PotPlayer 最新版本支持使用 Whisper 自动识别语音生成字幕

PotPlayer 最新版本支持使用 Whisper 自动识别语音生成字幕 设置使用下载地址 设置 使用 下载地址 https://www.videohelp.com/software/PotPlayer

【软考网工笔记】网络基础理论——传输层

IPSec协议 Internet协议安全性是一种开放标准的框架结构&#xff0c;通过使用加密的安全服务以确保在Internet协议&#xff08;IP&#xff09;网络上进行保密而安全的通讯。 工作在OSI模型的第三层网络层上&#xff0c;使其在单独使用时适于保护基于TCP或UDP的协议&#xff0…

代码随想录算法训练营第三十四天 | 62.不同路径 | 63. 不同路径 II | 343.整数拆分 | 96.不同的二叉搜索树

Day 34 总结 自己实现中遇到哪些困难 动态规划初始化逻辑&#xff1a;初始化哪些依赖并不存在的格子如何解决当前问题&#xff1f; 通过分解成1个&#xff0c;2个或者多个子问题如何解决子问题&#xff1f;再继续分解&#xff0c;直到要解决一个根部问题&#xff0c;通过根部问…

TinyXML2的一些用法

TinyXML2 原始字符串字面量 TinyXML21. XML文档操作1.1 LoadFile(const char* filename)1.2SaveFile(const char* filename)1.3RootElement()1.4Parse(const char* xml) 2.元素操作2.1 FirstChildElement(const char* name nullptr)2.2 NextSiblingElement(const char* name …

Fastify装饰器:增强你的路由处理功能加入日志

Fastify以其出色的性能和扩展性脱颖而出。装饰器是Fastify提供的一个强大功能&#xff0c;它允许开发者在不修改核心代码的情况下&#xff0c;向请求&#xff08;Request&#xff09;和响应&#xff08;Response&#xff09;对象添加自定义属性和方法。本文将通过一个简单的示例…

redis命令行常用的操作及数据备份

redis命令行常用的操作及数据备份 1.连接命令行2.常用的命令3.数据备份恢复4.桌面管理工具 在日常工作中&#xff0c;有时候会需要去查看redis中某个缓存key是否存在、是否过期等情况&#xff1b;因此&#xff0c;记录整理了一些常用的命令&#xff1b; 1.连接命令行 连接到re…

【大数据学习 | Spark-SQL】关于RDD、DataFrame、Dataset对象

1. 概念&#xff1a; RDD&#xff1a; 弹性分布式数据集&#xff1b; DataFrame&#xff1a; DataFrame是一种以RDD为基础的分布式数据集&#xff0c;类似于传统数据库中的二维表格。带有schema元信息&#xff0c;即DataFrame所表示的二维表数据集的每一列都带有名称和类型…

分布式集群下如何做到唯一序列号

优质博文&#xff1a;IT-BLOG-CN 分布式架构下&#xff0c;生成唯一序列号是设计系统常常会遇到的一个问题。例如&#xff0c;数据库使用分库分表的时候&#xff0c;当分成若干个sharding表后&#xff0c;如何能够快速拿到一个唯一序列号&#xff0c;是经常遇到的问题。实现思…