Интересно, где я могу поместить файл Bundle для интернационализации. Вики Libgdx не объясняет, где (папка активов Android?), И они используют в качестве примера имя файла MyBundle. Могу ли я использовать другое имя? Приносим извинения за мою наивность.Интернационализация Libgdx
2
A
ответ
3
Первый аргумент конструктора I18NBundle является экземпляром FileHandle. Это означает, что вы не ограничены одной конкретной папкой. См. this wiki entry об обработке файлов в libGDX. Я полагаю, вы используете образец из официальной вики и имеет следующую строку:
FileHandle baseFileHandle = Gdx.files.internal("i18n/MyBundle");
В данном случае, когда мы используем Gdx.files.internal
, пучок должен быть расположен в папке assets
Android проекта. Также нет ограничений на имя файла.
1
Создайте папку i18n в активах модуля android. создавать разные файлы свойств в папке i18n, например lang.properties, lang_es.properties, lang_fr.properties и т. д.
Затем я использую этот код в своем проекте.
FileHandle internal = Gdx.files.internal("i18n/lang");
I18NBundle local = I18NBundle.createBundle(internal, Locale.ROOT);
I18NBundle portuguese = I18NBundle.createBundle(internal, new Locale("pt"));
Позвольте мне увидеть, если я получаю это: когда я использую команду Gdx.files.internal («i18n/MyBundle») программа будет знать, файл будет находиться в папке активов и нагрузки для меня? – Jazzguy
@ César 'Gdx.files.internal' дает вам' FileHandle', относительно папки ресурсов Android. Это означает, что в вашем случае внутри активов он ищет папку с именем «i18n», которая содержит «File» MyBundle. – Springrbua
Теперь он показывает: «Не удается найти пакет для дескриптора базового файла i18n/MyBundle, locale pt_BR». Что может быть? – Jazzguy