Flutter - Flame 和国际化?

Flutter - Flame and Internationalization?

对于没有 Flutter 小部件的 Dart 程序(使用 Flame 包的游戏),推荐的国际化方法是什么?

我使用 Android Studio 插件尝试了 dart Intl 包和 Flutter intl 包,但无法正确获取 运行。我使用 DeviceLocale 来获取语言环境,但想使用正确的 classes/methods 从文件(例如 arb)中读取每个语言环境中的字符串,但我不知道如何使用给定的工具来做到这一点。 Flutter intl 包总是需要一个翻译上下文,而我在 Flame 游戏中不一定有。当然,我有一个基于翻译 class 和地图的有效解决方案,但我希望应该有一个通用的方法来正确地做到这一点。

有没有人有关于如何以干净的方式实现它的示例?

此致, 拉尔夫

嘿,你有没有试过这个包 easy_localization ,到目前为止,这是我在本地化方面得到的最好的

Flutter Intl 1.8.0 版本开始,您应该能够在不传递上下文的情况下引用字符串键。

我也在开发游戏,遇到了和你类似的限制。为此,我开发了一个几乎与 flutter gen-l10n 兼容但也可以处理非 Flutter 应用程序的工具。如果您想尝试一下,可以在 pub.dev: https://pub.dev/packages/land 上找到。它还解决了 Flutter 提供的解决方案中发现的一些 ICU 消息限制。