【国际化Intl】Flutter 国际化多语言实践

这篇具有很好参考价值的文章主要介绍了【国际化Intl】Flutter 国际化多语言实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标:实现flutter国际化

提示:这里参考一下几个链接

例如:

  • https://github.com/ThinkerWing/language
  • https://juejin.cn/post/6844903823119482888
    这篇也很详细,还有包括兼容中文的繁体简体… 可以看看

feat/use-Flutter-Intl

该分支对应的提交是使用Android Studio 和 Flutter Intl插件 并根据掘金这篇文章的实践,兼容汉字简体和繁体字
https://github.com/ThinkerWing/language/commit/f5fd58453f85b5b9c0e58df6270fac4cf22f200d

实现效果

  • 本地语言中文:你好,think
  • 本地语言英语:hello,think

【国际化Intl】Flutter 国际化多语言实践

开始之前先创建项目

flutter create `project`

可以看我git上的提交记录,创建项目完之后initial commit了,然后第二次提交就是增加多语言的功能。
https://github.com/ThinkerWing/language

第一步,添加intl and flutter_localizations,并启动generate标志:

https://pub.flutter-io.cn/packages/intl/install
这将在您的包的 pubspec.yaml 中添加这样一行
【国际化Intl】Flutter 国际化多语言实践
https://docs.flutter.dev/development/accessibility-and-localization/internationalization
【国际化Intl】Flutter 国际化多语言实践
【国际化Intl】Flutter 国际化多语言实践
启动generate标志
【国际化Intl】Flutter 国际化多语言实践


第二步,lib文件夹中新建文件夹l10n或者locale,并在其中创建app_en.arb 和app_zh.arb文件:

【国际化Intl】Flutter 国际化多语言实践


第三步,在flutte项目的根目录中添加l10n.yaml, 内容如下:

Add a new yaml file to the root directory of the Flutter project called l10n.yaml with the following content:

arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart

添加完成之后,执行命令 flutter run,dart_tools会自动生成相关的文件
【国际化Intl】Flutter 国际化多语言实践


第四步,在主程序MaterialApp中,添加下面内容:

需要导入的包

import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
return const MaterialApp(
  title: 'Localizations Sample App',
  localizationsDelegates: [							// 本地化应用的代理
    AppLocalizations.delegate,  					// 应用程序本地化代理
    GlobalMaterialLocalizations.delegate, 			// 全局材质组件的本地化代理
    GlobalWidgetsLocalizations.delegate,			// 全局组件本地化代理
  ],
  supportedLocales: [
    Locale('en', 'US'), // English, no country code
    Locale('zh', 'CN'), // Spanish, no country code
  ],
  home: MyHomePage(),
);

在您的应用程序的任何位置使用 AppLocalizations。 在这里,翻译后的消息用于文本小部件。
Use AppLocalizations anywhere in your app. Here, the translated message is used in a Text widget.文章来源地址https://www.toymoban.com/news/detail-422291.html

Text(AppLocalizations.of(context)!.helloWorld);

到了这里,关于【国际化Intl】Flutter 国际化多语言实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot集成国际化多语言配置

    在当今全球化的环境下,为了更好地满足用户的多语言需求,越来越多的应用程序需要支持国际化多语言配置。Spring Boot作为一种快速开发框架,提供了方便的国际化支持,使得应用程序可以轻松地适应不同的语言环境。通过集成Spring Boot的国际化多语言配置,应用程序可以根

    2024年02月07日
    浏览(59)
  • Android 实现资源国际化(多语言)

    目录 一、介绍 二、字符串资源 三、图片资源 四、日期和时间格式 五、其他 六、应用内切换语言 七、资源文件命名规则         Android国际化(多语言)是一种开发技术,旨在使Android应用程序能够在 「不同语言和文化环境」 下运行,并为用户提供本地化的体验。这是为了

    2024年02月04日
    浏览(50)
  • WPF本地化/国际化,多语言切换

    之前写过winformwinform使用本地化,中英文切换_winform 中英文切换_故里2130的博客-CSDN博客 基本的技术差不多,但是后来又发现了一个ResXManager工具,可以更好方便快捷的使用。 首先下载,网络不好的话,去官网下载,然后安装,重启vs即可 wpf做多语言切换 有很多种,可以使用

    2024年02月11日
    浏览(53)
  • vue2+element-ui使用vue-i18n进行国际化的多语言/国际化

    注意:vue2.0要用8版本的,使用9版本的会报错 在src目录下,创建新的文件夹,命名为i18n zh.js en.js index.js main.js 使用方式一 效果图 使用方式二 效果图 使用方式三,在 效果图 ` 注意:这种方式存在更新this.$i18n.locale的值时无法自动切换的问题,需要刷新页面才能切换语言。解

    2024年02月07日
    浏览(73)
  • TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化

    作为一款在 Java 开发社区中广受欢迎的技术框架,SpringBoot 在开发者和企业的具体实践中应用广泛。具体来说,它是一个用于构建基于 Java 的 Web 应用程序和微服务的框架,通过简化开发流程、提供约定大于配置的原则以及集成大量常用库和组件,SpringBoot 能够帮助开发者更快

    2024年02月08日
    浏览(40)
  • Flutter GetX 之 国际化

    今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大

    2024年01月19日
    浏览(62)
  • 用i18n 实现vue2+element UI的国际化多语言切换详细步骤及代码

    这个地方要注意自己的vue版本和i1n8的匹配程度,如果是vue2点几,记得安装i18n的@8版本,不然会自动安装的最新版本,后面会报错哦,查询了下资料,好像最新版本是适配的vue3。 在src下面新建i18n文件夹,然后在里面新建index.js,里面的内容如下 新建i18n文件夹里面新建config文

    2024年02月14日
    浏览(45)
  • 【Unity Localization】基础教程-带你入门Unity官方国际化本地化多语言插件Localization 单独修改配置文件即可一体化控制全局文本实现多语言转换

    Unity Localization 基础教程 随着经济全球化的趋势,游戏也逐渐变的不分国界。在进行游戏内文本的国际化本土化多语言切换时往往是需要制作组耗费大量精力,那么今天要学习的这款Unity官方推出的国际化本地化插件 Localization 就可以进行多语言文本的全局管理达到快速切换文

    2024年02月03日
    浏览(64)
  • Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化

    Dart的 IO 库包含了文件读写的相关类,它属于 Dart 语法标准的一部分,所以通过 Dart IO 库,无论是 Dart VM 下的脚本还是 Flutter,都是通过 Dart IO 库来操作文件的,不过和 Dart VM 相比,Flutter 有一个重要差异是文件系统路径不同,这是因为 Dart VM 是运行在 PC 或服务器操作系统下,

    2024年02月07日
    浏览(104)
  • Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法

    有时候为了方便别人使用,我们会选择去编写各种各样的命令行脚本:给Windows用户编写 .bat cmd批处理脚本,给macOS、Linux用户编写 .sh bash shell脚本。 面向国内用户当然应当首选中文作为脚本的显示语言,如果还要支持海外用户使用,那么能提供国际化多语言( i18n )支持那是

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包