Dart intl
包使用教程
intl项目地址:https://gitcode.com/gh_mirrors/intl1/intl
1. 项目的目录结构及介绍
intl/
├── AUTHORS
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── example/
│ ├── README.md
│ ├── example.dart
│ └── example_flutter/
│ ├── README.md
│ ├── pubspec.yaml
│ └── lib/
│ └── main.dart
├── lib/
│ ├── intl.dart
│ ├── intl_browser.dart
│ ├── intl_standalone.dart
│ ├── message/
│ │ ├── catalog.dart
│ │ ├── generate_localized.dart
│ │ ├── generate_from_arb.dart
│ │ ├── intl_message.dart
│ │ ├── plural_rules.dart
│ │ └── ...
│ ├── date_symbol_data_custom.dart
│ ├── date_symbol_data_file.dart
│ ├── date_symbol_data_http_request.dart
│ ├── date_symbol_data_local.dart
│ ├── date_symbols.dart
│ ├── date_time_patterns.dart
│ ├── date_time_patterns_test.dart
│ ├── number_symbols.dart
│ ├── number_symbols_data.dart
│ └── ...
├── pubspec.yaml
├── test/
│ ├── date_time_format_test.dart
│ ├── intl_message_test.dart
│ ├── number_format_test.dart
│ └── ...
└── tool/
├── generate_from_arb.dart
├── generate_locale_data_files.dart
└── ...
目录结构介绍
AUTHORS
,CHANGELOG.md
,CONTRIBUTING.md
,LICENSE
,README.md
: 项目的基本文档和法律文件。analysis_options.yaml
: 代码分析配置文件。example/
: 包含示例代码,展示如何使用intl
包。lib/
: 核心库文件,包含国际化和本地化的主要功能。pubspec.yaml
: 项目的依赖管理文件。test/
: 测试文件,确保代码的正确性。tool/
: 工具脚本,用于生成和处理国际化数据。
2. 项目的启动文件介绍
在 example/
目录下,example.dart
和 example_flutter/lib/main.dart
是两个示例启动文件。
example.dart
import 'package:intl/intl.dart';
void main() {
var now = DateTime.now();
var formatter = DateFormat('yyyy-MM-dd');
var formattedDate = formatter.format(now);
print(formattedDate);
}
example_flutter/lib/main.dart
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Intl Example'),
),
body: Center(
child: Text(
DateFormat('yyyy-MM-dd').format(DateTime.now()),
),
),
),
);
}
}
这两个文件展示了如何在 Dart 和 Flutter 项目中使用 intl
包进行日期格式化。
3. 项目的配置文件介绍
pubspec.yaml
name: intl
description: Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.
version: 0.17.0
homepage: https://github.com/dart-lang/intl
environment:
sdk: '>=2.12.0 <3.0.0'
dependencies:
path: ^1.8.0
meta: ^1.3.0
dev_dependencies:
pedantic: ^1.11.0
test: ^1.16.0