Java LIbGDX如何在语言更改时翻译所有文本?

Java LIbGDX如何在语言更改时翻译所有文本?,java,android,libgdx,Java,Android,Libgdx,我正在用LibGdx开发一个游戏。我的应用程序中有多种语言,它们位于属性文件中。当我在菜单中更改语言时,文本不会翻译,因此我需要重新启动应用程序以应用翻译。我想这是因为我在启动时加载了一次properties文件,但它并没有改变。我可以在buttonListener中使用setText()方法来更改所有按钮文本,但我有太多的按钮。有什么方法可以立即转换我的应用程序吗?我相信setText()是让按钮更新文本的唯一方法。我不知道你是如何用不同的语言为你的程序存储文本的,但是作为一个一般的想法,你可

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

我相信setText()是让按钮更新文本的唯一方法。我不知道你是如何用不同的语言为你的程序存储文本的,但是作为一个一般的想法,你可以尝试创建一个自定义类,它扩展了TextButton,并且在里面有一个指向你存储不同语言文本的地方的引用。然后有一个像changeLanguage()这样的方法,该方法获取正确语言的文本,并对自身调用setText()

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

我相信setText()是让按钮更新其文本的唯一方法。我不知道你是如何用不同的语言为你的程序存储文本的,但是作为一个一般的想法,你可以尝试创建一个自定义类,它扩展了TextButton,并且在里面有一个指向你存储不同语言文本的地方的引用。然后有一个像changeLanguage()这样的方法,该方法获取正确语言的文本,并对自身调用setText()


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

谢谢。我决定写一个updateTextButtonsMethod(),根据新语言更新按钮文本。谢谢。我决定编写一个updateTextButtonsMethod(),根据新语言更新按钮的文本。