gpt4 book ai didi

java - 如何使用 libGDX 中的 I18NBundle 更改游戏中的语言?

转载 作者:搜寻专家 更新时间:2023-11-01 02:44:50 24 4
gpt4 key购买 nike

我创建了一个 I18NBundle 和一些包含字符串的 .properties 文件。为了创建包,我写了这个:

baseFileHandle = Gdx.files.internal("Language/Lang");

da_DK = new Locale("da", "DK");
en_GB = new Locale("en", "GB");

Lang = I18NBundle.createBundle(baseFileHandle, en_GB);

这非常有效,我可以从 bundle 中提取值以获取我的字符串,并且在我初始化 bundle 时使用 da_DK 而不是 en_GB 也可以正常工作。

我的问题是我希望能够通过按下按钮来更改游戏中的语言,但我不知道该怎么做。

我用谷歌搜索了这个问题,但似乎找不到答案。

我希望你能理解我的问题,并能帮助我 :)

最佳答案

如果您查看代码(I18NBundle.setLocale(...),这是一个私有(private)方法),您将看到这个 JavaDoc:

Sets the bundle locale. This method is private because a bundle can't change the locale during its life.

这意味着,你想做的事是不可能的。当然,您可以做的是创建一个新的 I18NBundle,为构造函数提供另一个 Locale,基本上只是替换当前的。如果您使用 AssetManager 加载它,这也是可能的,您只需要卸载它,然后使用不同的参数再次加载它。

关于java - 如何使用 libGDX 中的 I18NBundle 更改游戏中的语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25089596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com