如何在 LibGDX 项目中使用 Android 字符串翻译?

How can I use the Android String Translation in a LibGDX Project?

我正在尝试将 Android 字符串资源用于 LibGDX 项目。

不幸的是,我只能访问 getString()-Method 和 android 包中的 R class。

我怎样才能从核心包访问它们?

还是对翻译文件使用其他解决方案更好?

您可以选择三种不同的路径:

  1. 将您的 core 模块代码合并到 android 模块中,并且不要使用 core。这样做的缺点是您将失去在桌面上轻松测试的能力(编译桌面版本以快速测试代码更改会更快),并且您将失去移植到其他平台的能力,例如桌面和 iOS .

  2. 使用 libGDX 的本地化 classes 来管理不同语言的字符串,而不是 Android 资源。有关于如何使用它的说明 here。这是最简单的解决方案,它保持 cross-platform.

  3. 也许您可以编写某种 Gradle 任务,在每次构建 Android 模块时从生成的 R class 中提取您的字符串 ID,并且使它们的副本在核心模块的 Java class 中可用,并使用它们通过某种接口从 XML 中检索字符串。这是超级难解。