如何在 LibGDX 项目中使用 Android 字符串翻译?
How can I use the Android String Translation in a LibGDX Project?
我正在尝试将 Android 字符串资源用于 LibGDX 项目。
不幸的是,我只能访问 getString()
-Method 和 android 包中的 R
class。
我怎样才能从核心包访问它们?
还是对翻译文件使用其他解决方案更好?
您可以选择三种不同的路径:
将您的 core
模块代码合并到 android
模块中,并且不要使用 core
。这样做的缺点是您将失去在桌面上轻松测试的能力(编译桌面版本以快速测试代码更改会更快),并且您将失去移植到其他平台的能力,例如桌面和 iOS .
使用 libGDX 的本地化 classes 来管理不同语言的字符串,而不是 Android 资源。有关于如何使用它的说明 here。这是最简单的解决方案,它保持 cross-platform.
也许您可以编写某种 Gradle 任务,在每次构建 Android 模块时从生成的 R class 中提取您的字符串 ID,并且使它们的副本在核心模块的 Java class 中可用,并使用它们通过某种接口从 XML 中检索字符串。这是超级难解。
我正在尝试将 Android 字符串资源用于 LibGDX 项目。
不幸的是,我只能访问 getString()
-Method 和 android 包中的 R
class。
我怎样才能从核心包访问它们?
还是对翻译文件使用其他解决方案更好?
您可以选择三种不同的路径:
将您的
core
模块代码合并到android
模块中,并且不要使用core
。这样做的缺点是您将失去在桌面上轻松测试的能力(编译桌面版本以快速测试代码更改会更快),并且您将失去移植到其他平台的能力,例如桌面和 iOS .使用 libGDX 的本地化 classes 来管理不同语言的字符串,而不是 Android 资源。有关于如何使用它的说明 here。这是最简单的解决方案,它保持 cross-platform.
也许您可以编写某种 Gradle 任务,在每次构建 Android 模块时从生成的 R class 中提取您的字符串 ID,并且使它们的副本在核心模块的 Java class 中可用,并使用它们通过某种接口从 XML 中检索字符串。这是超级难解。