Flutter - пламя и интернационализация?

Какой метод i18n рекомендуется использовать для программ Dart без виджетов Flutter (игры с использованием пакета Flame)?

Я попробовал пакет dart Intl и пакет Flutter intl с плагином Android Studio, но не могу заставить его работать должным образом. Я использую DeviceLocale для получения локали, но хочу использовать подходящие классы / методы для чтения строк в каждой локали из файлов (например, arb), но я не понял, как это сделать с помощью данных инструментов. Пакет Flutter intl всегда требует контекста для переводов, которого у меня нет в игре Flame. Конечно, у меня есть рабочее решение на основе класса Translation и Maps, но я ожидаю, что должен быть общий способ сделать это должным образом.

У кого-нибудь есть примеры того, как это реализовать чистым способом?

С уважением, Ральф

3 ответа

Решение

Начиная с версии Flutter Intl 1.8.0, вы должны иметь возможность ссылаться на строковые ключи без передачи контекста.

Привет , вы пробовали этот пакет easy_localization, безусловно, это лучшее, что у меня есть, когда дело доходит до локализации

Я также разрабатываю игру и столкнулся с ограничением, подобным вашему. Для этого я разработал инструмент, который почти совместим с flutter gen-l10nно может работать и с приложениями, отличными от Flutter. Если вы хотите попробовать, он доступен на pub.dev: https://pub.dev/packages/land . Это также устраняет некоторые ограничения сообщений ICU, обнаруженные в решении, предоставленном Flutter.

Другие вопросы по тегам