java - LIbGDX 当语言改变时如何翻译所有文本?

标签 java android libgdx

我正在使用 LibGdx 开发游戏。我的应用程序中有多种语言,位于属性文件中。当我更改菜单中的语言时,文本不会翻译,因此我需要重新启动我的应用程序才能应用翻译。我认为这是因为我在启动时加载了一次属性文件,并且它没有改变。我可以在buttonListener 中使用setText() 方法来更改所有按钮文本,但我有太多按钮。那么有什么方法可以立即翻译我的应用程序吗?

最佳答案

我相信 setText() 是让按钮更新其文本的唯一方法。我不知道您如何为程序存储不同语言的文本,但作为一般想法,您可以尝试创建一个扩展 TextButton 的自定义类,并在内部引用存储不同语言文本的位置。然后使用像changeLanguage() 这样的方法,然后获取正确语言的文本并调用setText() 本身。

然后,您可以有一个数组,其中保存对程序中所有按钮的引用,当您更改语言时,使用循环遍历此按钮数组,在每个按钮上调用changeLanguage(),以将所有按钮设置为正确的语言。这将很快完成,您不必在程序中的每个按钮上手动调用 setText()。

关于java - LIbGDX 当语言改变时如何翻译所有文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973196/

相关文章:

java - 谁能解释一下这里发生了什么 : "protected" modifier in java

java - 如何使用 itext 在 pdf 中写入占位符

java - 连接两个整数的二进制表示

android - 我的Gradle有问题。无法解决一些问题

java - 无法使用 maven-android-plugin 将第 3 方 jar 包含到 Android 应用程序中

Android - json-smart反序列化问题

android - EditText 的 TextWatcher 验证器

java - LibGDX 设置子弹绕船圈 2D 图形的初始位置

java - 多个夹具的 Box2D 原点

android - 使用 libgdx 旋转 TextButton