`flutter_localizations` 在 pub.dev 上不可用时如何导入 Flutter 项目?

How is `flutter_localizations` imported into Flutter project when it's not available on pub.dev?

我想知道这怎么可能。 flutter_localizations 包不在 pub.dev 上,这让我认为它是 flutter 包的一部分?但如果是这样,为什么我必须像 package:flutter_localizatoins/flutter_localizations.dart 一样将它导入到项目中?

查看 official docs

TLDR: In your pubspec.yaml, is not added like a regular dependency

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

它的工作方式与 flutter 相同(它与 sdk 本身捆绑在一起),您还可以导入它的包,例如: import 'package:flutter/material.dart'

要使用配置有 intl 包的本地化消息(这是来自官方文档的方式)添加此导入:

import 'package:flutter_gen/gen_l10n/app_localizations.dart';

它将在构建过程中生成。 以这种方式使用消息:

final localizations = AppLocalizations.of(context)!;
print(localizations.hello);

有关详细信息,请参阅文档 here