Flutter本地化构建插件localino_builder的使用
Flutter本地化构建插件localino_builder的使用
特性
- 根据当前或首选语言加载本地化资源。
- 资源格式为Json/Map。支持单个字符串、映射和列表、复数形式以及简单的格式化。
开始使用
首先,在pubspec.yaml
文件的dev_dependencies
部分添加库。
dev_dependencies:
build_runner: 2.4.0
localino_builder: 0.1.0
接着,在项目文件中添加build.yaml
以配置构建器和localino项目。
targets:
$default:
builders:
localino_builder:
options:
space: 'your space id'
project: 'your project id'
access: 'your access token'
使用方法
运行以下命令以将翻译下载到资产文件夹中。
dart run build_runner build
更多关于Flutter本地化构建插件localino_builder的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter本地化构建插件localino_builder的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
localino_builder
是一个用于 Flutter 应用本地化的代码生成插件。它可以帮助你自动生成本地化字符串的代码,从而简化多语言支持的过程。以下是如何使用 localino_builder
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 localino_builder
插件的依赖。
dependencies:
flutter:
sdk: flutter
localino: ^1.0.0 # 或其他最新版本
dev_dependencies:
build_runner: ^2.1.0 # 或其他最新版本
localino_builder: ^1.0.0 # 或其他最新版本
2. 创建本地化文件
在项目的 lib
目录下创建一个 l10n
文件夹,并在其中创建一个 arb
文件(例如 app_en.arb
和 app_es.arb
),用于存放不同语言的字符串。
app_en.arb
:
{
"@@locale": "en",
"hello": "Hello",
"greeting": "Hello, {name}!"
}
app_es.arb
:
{
"@@locale": "es",
"hello": "Hola",
"greeting": "Hola, {name}!"
}
3. 配置 localino
在 lib
目录下创建一个 localino.yaml
文件,用于配置 localino
插件。
localino.yaml
:
arb_dir: lib/l10n
output_dir: lib/l10n/generated
template_arb_file: app_en.arb
4. 运行代码生成
使用 build_runner
生成本地化代码。在终端中运行以下命令:
flutter pub run build_runner build
这将生成一个包含本地化字符串的 Dart 文件,默认路径为 lib/l10n/generated/l10n.dart
。
5. 使用生成的本地化类
在 MaterialApp
或 CupertinoApp
中配置生成的本地化类。
import 'package:flutter/material.dart';
import 'package:localino/localino.dart';
import 'l10n/generated/l10n.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: const [
S.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: S.delegate.supportedLocales,
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(S.of(context).hello),
),
body: Center(
child: Text(S.of(context).greeting(name: 'World')),
),
);
}
}
6. 更新本地化文件
如果你在 arb
文件中添加或修改了字符串,只需重新运行 build_runner
命令即可更新生成的代码。
flutter pub run build_runner build