首页 > 解决方案 > Using Dart Intl how can I initialize multiple libraries?

问题描述

Using intl package how can I initialize multiple libraries. For example I have some translation on lib1 and other on lib2, I would like to initialize both translations so they can be used in my code. Until the moment I have this:

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());
}

It only translate lib1.helloMessage() since is the first one, the rest of message keep being shown in english.

标签: dartinternationalization

解决方案


这现在行不通。您必须生成一个组合库并使用它。


推荐阅读