安装,配置和使用
安装
将此添加到包的pubspec.yaml文件中:
1 | dependencies: |
从命令行(或从您的编辑器)安装软件包:
1 | flutter pub get |
组态
导入flutter_translate:
1 | 导入 'package:flutter_translate / flutter_translate.dart' ; |
将json本地化文件放置在项目中您选择的文件夹中。
默认情况下,flutter_translate
将assets/i18n
在项目根目录下的目录中搜索本地化文件。
在中声明您的资产本地化目录 pubspec.yaml
1 | flutter: |
在主函数中,创建本地化委托并启动应用,然后将其与LocalizedApp包装在一起
1 | void main() async |
如果本地化文件的资产目录与默认目录(assets/i18n
)不同,则需要指定它:
1 | var delegate = await LocalizationDelegate.create( |
示例MyApp:
1 | class MyApp extends StatelessWidget { |
用法
翻译一个字符串:
1 | translate('your.localization.key'); |
1 | translate('your.localization.key', args: {'argName1': argValue1, 'argName2': argValue2}); |
进行多元翻译:
1 | translatePlural('plural.demo', yourNumericValue); |
JSON:
1 | "plural": { |
更改语言:
1 |
|
自动保存和还原所选的语言环境
Flutter Translate可以自动保存选定的语言环境,并在应用程序重新启动后将其还原。
这可以通过在委托创建期间传递ITranslatePreferences的实现来完成:
1 | var delegate = await LocalizationDelegate.create( |
使用shared_preferences包的示例实现:
1 | import 'dart:ui'; |
并且不要忘记在pubspec.yaml中引用shared_preferences包
1 | dependencies: |
#####