第三百五十回

文章目录

  • 1. 概要介绍
  • 2. 获取方法
    • 2.1 获取语言
    • 2.2 获取地址
  • 3.示例代码
  • 3. 内容总结

我们在上一章回中介绍了"给geolocator插件提交问题"相关的内容,本章回中将介绍如何获取系统语言.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概要介绍

我们在本章回中介绍的系统语言是指en,zh,de这样的语言代码,同时还有与这些语言匹配的地区代码。我们将在本章回中介绍详细的获取方法。

2. 获取方法

获取系统语言使用Localizations组件提供的相关接口就可以。我们通常使用它的localeOf()方法,在该方法中传入BuildContext类型的参数,就可以获取Locale
类型的对象,该对象中存放着系统语言和地区,我们在后面的小节中将通过具体的示例代码来演示。

2.1 获取语言

获取系统语言使用Locale的languageCode属性就可以,它的结果是en,zh,de这样的代码。

2.2 获取地址

获取地区使用Locale的countryCode属性就可以,它的结果是en-US,zh_CN,fr_CA这样的代码。

3.示例代码

///用来获取当前系统中的语言
Locale locale = Localizations.localeOf(context);
debugPrint(locale.countryCode);
debugPrint(locale.languageCode);
debugPrint(locale.toLanguageTag());
debugPrint(locale.toString());

上面的示例代码演示了如何获取当前的系统语言和地区,建议大家自己动手试试,此外,可以修改一下手机上当前的系统语言,这样会有不同的运行结果。

3. 内容总结

我们在本章回中介绍了获取当前系统语言和地区的方法,除此之外,我们还可以通过MaterialApp组件的locale属性主动指定当前app使用的语言和地区,当然了如果
不指定的话默认为跟随系统语言.最后,我们对本章回的内容做一个全面的总结:

  • 获取地区使用Locale的countryCode属性就可以;
  • 获取系统语言使用Locale的languageCode属性就可以;
    语言的地区的代码比较多,不过它们都是由标准规定的,下面是Locale类中的关于它们的解释:
class Locale {/// Creates a new Locale object. The first argument is the/// primary language subtag, the second is the region (also/// referred to as 'country') subtag.////// For example:////// ```dart/// const Locale swissFrench = Locale('fr', 'CH');/// const Locale canadianFrench = Locale('fr', 'CA');/// ```////// The primary language subtag must not be null. The region subtag is/// optional. When there is no region/country subtag, the parameter should/// be omitted or passed `null` instead of an empty-string.////// The subtag values are _case sensitive_ and must be one of the valid/// subtags according to CLDR supplemental data:/// [language](https://github.com/unicode-org/cldr/blob/master/common/validity/language.xml),/// [region](https://github.com/unicode-org/cldr/blob/master/common/validity/region.xml). The/// primary language subtag must be at least two and at most eight lowercase/// letters, but not four letters. The region subtag must be two/// uppercase letters or three digits. See the [Unicode Language/// Identifier](https://www.unicode.org/reports/tr35/#Unicode_language_identifier)/// specification.///
}

看官们,与"如何获取当前系统语言"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

【plt.imshow显示图像】:从入门到精通,只需一篇文章!【Matplotlib】

【plt.imshow显示图像】:从入门到精通,只需一篇文章!【Matplotlib】 🚀 利用Matplotlib进行数据可视化示例 🌵文章目录🌵 📘 1. plt.imshow入门:认识并安装Matplotlib库&#x1f308…

【数据结构】17 二叉树的建立

二叉树的建立 由于树是非线性结构,创建一颗二叉树必须首先确定树中结点的输入顺序,常用方法是先序创建和层序创建。 层序创建所用的节点输入序列是按数的从上至下从左到右的顺序形成的各层的空结点输入数值0。在构造二叉树过程中需要一个队列暂时存储各…

gitlab runner 安装、注册、配置、使用(K8S部署)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

C++中获取成员函数地址的方法

C中获取成员函数地址的方法 文章目录 C中获取成员函数地址的方法[toc]前言方法1:通过联合体的共享储存机制方法2:通过汇编取成员函数偏移得到地址调用方法和测试案例 前言 ​ 这里我一共总结了两种目前可以说是最高效易用的方法来获取成员函数地址&…

深度学习主流开源框架:Caffe、TensorFlow、Pytorch、Theano、Keras、MXNet、Chainer

2.6 深度学习主流开源框架 表2.1 深度学习主流框架参数对比 框架关键词总结 框架关键词基本数据结构(都是高维数组)Caffe“在工业中应用较为广泛”,“编译安装麻烦一点”BlobTensorFlow“安装简单pip”TensorPytorch“定位:快…

探索设计模式的魅力:揭秘模版方法模式-让你的代码既灵活又可维护

设计模式专栏:http://t.csdnimg.cn/U54zu 目录 一、开篇二、应用场景一坨坨代码实现存在的问题 三、解决方案模式方法结构示意图及说明用模板方法模式重构示例解决的问题 四、工作原理使用模板方法模式重写示例结构图核心结构:抽象类和具体实现 五、总结…

【Effective Objective - C】—— 内存管理

【Effective Objective - C】—— 内存管理 前言29.理解引用计数引用计数工作原理关闭ARC模式属性存取方法中的内存管理自动释放池保留环要点 30.以ARC简化引用计数使用ARC时必须遵守的方法命名规则变量的内存管理语义ARC如何清理实例变量要点 31.在dealloc方法中只释放引用并解…

基于深度置信网络的多模态过程故障评估方法及应用

源自:自动化学报 作者:张凯, 杨朋澄, 彭开香, 陈志文 “人工智能技术与咨询” 发布 摘 要 传统的多模态过程故障等级评估方法对模态之间的共性特征考虑较少, 导致当被评估模态故障信息不充分时, 评估的准确性较低. 针对此问题, 首先, 提出一种共性–…

Arrays工具类的常见方法总结

一、Arrays.asList( ) 1.作用&#xff1a;Arrays.asList( )方法的作用是将数组转换成List&#xff0c;将List中的全部集合对象添加至ArrayList集合中 2.参数&#xff1a;动态参数 (T... a) 3.返回值&#xff1a;List 集合 List<T> 4.举例&#xff1a; package com…

删除windows自带输入法

ctrl shift F 搜狗简繁体切换

【第二十四课】二分图:acwing-860染色法判定二分图 / acwing-861二分图的最大匹配 ( c++代码 )

目录 二分图是什么 acwing-860染色法判定二分图 染色法 代码 acwing-861二分图的最大匹配 思路 代码 二分图是什么 学习二分图的目的就是一些题目可以简化成二分图的模型来求解。 二分图也就是&#xff1a;一个无向图顶点集&#xff0c;分成了两堆顶点(可以理解为两…

分布式文件系统 SpringBoot+FastDFS+Vue.js【三】

分布式文件系统 SpringBootFastDFSVue.js【三】 七、创建后台--分角色管理7.1.创建后台数据库表7.2.创建实体类7.2.1.Admin7.2.2.Menu7.2.3.MenuBean7.2.4.Role7.2.5.RoleMenu 7.3.编辑配置文件application.yml7.4.编写工具类7.4.1.AuthContextHolder7.4.2.HttpUtils7.4.3.Stri…

《Go 简易速速上手小册》第7章:包管理与模块(2024 最新版)

文章目录 7.1 使用 Go Modules 管理依赖 - 掌舵向未来7.1.1 基础知识讲解7.1.2 重点案例&#xff1a;Web 服务功能描述实现步骤扩展功能 7.1.3 拓展案例 1&#xff1a;使用数据库功能描述实现步骤扩展功能 7.1.4 拓展案例 2&#xff1a;集成 Redis 缓存功能描述实现步骤扩展功能…

Sora 和之前 Runway 那些在架构上有啥区别呢?

问&#xff1a;Sora 和之前 Runway 那些在架构上有啥区别呢&#xff1f; 答&#xff1a;简单来说 Runway 是基于扩散模型&#xff08;Diffusion Model&#xff09;的&#xff0c;而 Sora 是基于 Diffusion Transformer。 Runway、Stable Diffusion 是基于扩散模型&#xff08…

MySQL 插入10万条数据性能分析

MySQL 插入10万条数据性能分析 一、背景 笔者想复现一个索引失效的场景&#xff0c;故需要一定规模的数据作支撑&#xff0c;所以需要向数据库中插入大约一百万条数据。那问题就来了&#xff0c;我们应该怎样插入才能使插入的速度最快呢&#xff1f; 为了更加贴合实际&#…

cool Node后端 中实现中间件的书写

1.需求 在node后端中&#xff0c;想实现一个专门鉴权的文件配置&#xff0c;可以这样来解释 就是 有些接口需要token调用接口&#xff0c;有些接口不需要使用token 调用 这期来详细说明一下 什么是中间件中间件顾名思义是指在请求和响应中间,进行请求数据的拦截处理&#xf…

如何用AI绘画工具最好最省时省事的方法制作个性化头像框?

原文章链接&#xff1a;如何根据游戏素材制作主题头像框&#xff1f;实战教程来了&#xff01; - 优设网 - 学设计上优设 教程专区&#xff1a;AI绘画&#xff0c;AI视频&#xff0c;AI写作等软件类型AI教程&#xff0c; AI工具专区&#xff1a;AI工具-喜好儿aigc 在 APP 的…

「算法」二分查找1:理论细节

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;算法详解 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 二分查找算法简介 这个算法的特点就是&#xff1a;细节多&#xff0c;出错率高&#xff0c;很容易就写成死循环有模板&#xff0c;但…

如何在UI自动化测试中加入REST API的操作

1、问题 当我们描述一个“好的自动化测试用例”时&#xff0c;经常出现标准是&#xff1a; 精确 自动化测试用例应该测试一件事&#xff0c;只有一件事。与测试用例无关的应用程序的某个部分中的错误不应导致测试用例失败。 独立 自动化测试用例不应该受测试套件中任何其他…

PyTorch-线性回归

已经进入大模微调的时代&#xff0c;但是学习pytorch&#xff0c;对后续学习rasa框架有一定帮助吧。 <!-- 给出一系列的点作为线性回归的数据&#xff0c;使用numpy来存储这些点。 --> x_train np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168],[9.779], [6.1…