使用Dart Intl如何初始化多个库?

时间:2018-09-24 21:34:11

标签: dart internationalization

如何使用intl包初始化多个库。例如,我在lib1上有一些翻译,在lib2上有其他翻译,我想初始化这两种翻译,以便可以在我的代码中使用它们。直到现在我有了这个:

import 'package:lib1/_l10n/messages_all.dart' as lib1;
import 'package:lib2/_l10n/messages_all.dart' as lib2;
import 'package:intl/intl.dart';
import 'package:mylib/_l10n/messages_all.dart' as mylib;

main() {
  intl.defaultLocle = 'es';
  await lib1.initializeMessages('es');
  await lib2.initializeMessages('es');
  await mylib.initializeMessages('es');

  print(lib1.helloMessage());
  print(lib2.hiMessage());
  print(mylib.whatUpMessage());
}

因为它是第一个,所以它仅翻译lib1.helloMessage(),其余消息始终以英语显示。

1 个答案:

答案 0 :(得分:2)

这现在不起作用。您将必须生成一个组合库并使用它。