第三百五十回

文章目录

  • 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.
  ///
}

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

书生浦语-模型微调

大语言模型微调 指令微调的流程 LoRA(旁路分支微调) Xtuner微调框架 微调训练 作业 微调作业需要多训练几个epoch,这里训练了16个epoch

141 . 环形链表

链接 https://leetcode.cn/problems/linked-list-cycle/description/?envTypestudy-plan-v2&envIdtop-interview-150 题面 思路 : 法1 : 用哈希表来存之前的遍历过的结点 ; 一遍遍历,在遍历的过程中,先判断是否当前结点在哈希表…

【Redis实战】有MQ为啥不用?用Redis作消息队列!?Redis作消息队列使用方法及底层原理高级进阶

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Redis实战与进阶》 本专栏纯属为爱发电永久免费!&a…

IDEA配置Lombok不起作用

IDEA配置Lombok不起作用 我们通常会只用lombok来简化代码。但是使用IDEA的lombok插件时,Lombok并不起作用。 可以按照如下操作。 FIle -> settings ->build,excecution,deployment–>compiler–>annotation processors勾选上 enable annotation proc…

ubuntu22.04安装jenkins并配置

准备 更新系统 sudo apt update sudo apt upgrade环境准备 jdk 安装 sudo apt install openjdk-11-jdk验证 java -versiongit ubuntu配置git maven ubuntu配置maven 部署 添加 Jenkins 存储库 导入Jenkins存储库的GPG密钥 wget -q -O - https://pkg.jenkins.io/de…

什么是PAGA系统

PAGA系统是一种公共广播和通用报警系统,它在船舶、海上钻井平台、石油化工、天然气开采等行业的应用非常广泛。当遇到紧急情况或其他特殊情况时,PAGA系统能够在大范围内进行喊话广播或报警。这种系统通过自动电话系统(如PABX,即自…

Unity 2D Spine 外发光实现思路

Unity 2D Spine 外发光实现思路 前言 对于3D骨骼,要做外发光可以之间通过向法线方向延申来实现。 但是对于2D骨骼,各顶点的法线没有向3D骨骼那样拥有垂直于面的特性,那我们如何做2D骨骼的外发光效果呢? 理论基础 我们要知道&a…

前端小案例——购买电影票(HTML+CSS+JS, 附源码)

一、前言 实现功能: 这段代码实现了一个简单的电影票选座购买的功能界面。 在页面上展示了一个电影院的座位布局,以及右侧显示了电影信息、选座情况、票价、总计等内容。 用户可以通过点击座位来选择购买电影票,每个座位的状态会在点击时改…

Arrays工具类的常见方法总结

一、Arrays.asList( ) 1、作用 Arrays.asList( )可以将一个数组以集合的形式传入一个集合对象。通常用来将一组元素全部添加到集合中。 2、参数及返回值 参数&#xff1a;一组动态参数 返回值&#xff1a;List<T>集合 3、应用举例 List<String> boyListArra…

2023年程序员观察报告

春节假期已过&#xff0c;2023年悄然过去&#xff0c;2024年已经到来&#xff0c;无论2023年是快乐的、成长的、积极的&#xff0c;亦或是痛苦的、寂寥的、迷茫的&#xff0c;都要恭喜在座的各位程序员又熬过了一年&#xff01; ①加班篇 2023年&#xff0c;你完成了 132个需求…

you-get,一个超强的 Python 库

你好&#xff0c;我是坚持分享干货的 EarlGrey&#xff0c;翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。 如果我的分享对你有帮助&#xff0c;请关注我&#xff0c;一起向上进击。 现在在线视频超火爆&#xff0c;可是我还是更倾向于将视频下载至本地…

C++-手把手教你模拟实现string

1.string的成员变量 模拟实现string只需要三个成员变量&#xff0c;capacity&#xff0c;size&#xff0c;_str&#xff0c;也就是容量&#xff0c;数据大小&#xff0c;指向字符串的指针。 2.string的构造函数 2.1 使用字符串构造 使用字符串来构造一个string类的对象&…

463. Island Perimeter(岛屿的周长)

问题描述 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完全包围&#xff0c;但其中恰好有…

LTP/pyltp安装和使用教程

文章目录 LTP介绍分句分词加载外部词典个性化分词 词性标注命名实体识别NER依存句法分析语义角色标注 LTP介绍 官网&#xff1a;https://ltp.ai/ 下载可以到官网的下载专区&#xff1a;https://ltp.ai/download.html 语言技术平台&#xff08;Language Technology Platform&am…

Codeforces Round 925 (Div. 3)(A,B,C,D,E,F,G)

比赛链接 这场打的很顺&#xff0c;感觉难度和 div 4 差不多&#xff0c;不是很难。D题稍微考了考同余的性质&#xff0c;E题直接模拟过程即可&#xff0c;F题也可以暴力模拟或者拓扑排序&#xff0c;G题是个数学题&#xff0c;是个简单隔板法。A到F题都可以直接模拟就有点离谱…

嵌入式 day23

链接命令 建立链接文件&#xff1a;ln 命令 命令名称&#xff1a;ln 命令所在路径&#xff1a;/bin/ln 执行权限&#xff1a;所有用户 语法&#xff1a;ln -s [原文件] [目标文件] -s 创建软链接 功能描述&#xff1a;生成链接文件 范例&#xff1…

[嵌入式系统-24]:RT-Thread -11- 内核组件编程接口 - 网络组件 - TCP/UDP Socket编程

目录 一、RT-Thread网络组件 1.1 概述 1.2 RT-Thread支持的网络协议栈 1.3 RT-Thread如何选择不同的网络协议栈 二、Socket编程 2.1 概述 2.2 UDP socket编程 2.3 TCP socket编程 2.4 TCP socket收发数据 一、RT-Thread网络组件 1.1 概述 RT-Thread 是一个开源的嵌入…

不错的PMO 2024建设规划长图

公众号"PMO前沿"是国内最大的PMO组织&#xff0c;经常各个城市举办线下线上活动&#xff0c;很多专家&#xff0c;相当赞&#xff0c;而且每天还分享不少文章&#xff08;春节都不停更&#xff0c;相当感动&#xff09;&#xff0c;建议关注。看到一个不错的PMO 组织…

win32汇编获取系统信息

.data fmt db "页尺寸&#xff1a;%d",0 db "" lpsystem SYSTEM_INFO <?> szbuf db 200 dup(0) .const szCaption db 系统信息,0 .code start: invoke GetSystemInfo,addr lpsystem …