我正在使用 LibGdx 开发游戏。我的应用程序中有多种语言,位于属性文件中。当我更改菜单中的语言时,文本不会翻译,因此我需要重新启动我的应用程序才能应用翻译。我认为这是因为我在启动时加载了一次属性文件,并且它没有改变。我可以在buttonListener 中使用setText() 方法来更改所有按钮文本,但我有太多按钮。那么有什么方法可以立即翻译我的应用程序吗?
最佳答案
我相信 setText() 是让按钮更新其文本的唯一方法。我不知道您如何为程序存储不同语言的文本,但作为一般想法,您可以尝试创建一个扩展 TextButton 的自定义类,并在内部引用存储不同语言文本的位置。然后使用像changeLanguage() 这样的方法,然后获取正确语言的文本并调用setText() 本身。
然后,您可以有一个数组,其中保存对程序中所有按钮的引用,当您更改语言时,使用循环遍历此按钮数组,在每个按钮上调用changeLanguage(),以将所有按钮设置为正确的语言。这将很快完成,您不必在程序中的每个按钮上手动调用 setText()。
关于java - LIbGDX 当语言改变时如何翻译所有文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973196/