2015-01-26 87 views
2

我不知道我在哪裏把我的包文件進行國際化。 Libgdx wiki沒有解釋(Android資產文件夾?)的位置,並且它們使用名爲MyBundle的文件作爲示例。我可以用另一個名字嗎?我爲我的天真而道歉。Libgdx國際

回答

3

I18NBundle構造函數的第一個參數是一個文件句柄實例。這意味着你不受限於一個特定的文件夾。請參閱this wiki entry關於libGDX中的文件處理。我想你從官方的wiki使用的樣品,它有這樣一行:

FileHandle baseFileHandle = Gdx.files.internal("i18n/MyBundle"); 

在這種特殊情況下,當我們使用Gdx.files.internal,束必須位於Android項目的assets文件夾中。對文件名也沒有限制。

+0

讓我看看,如果我得到它:當我使用命令Gdx.files.internal(「國際化/ MyBundle」),程序會知道該文件將在該資產的文件夾和負載我嗎? – Jazzguy 2015-01-27 00:18:26

+2

@César'Gdx.files.internal'爲您提供一個'FileHandle',相對於android資源文件夾。這意味着,在你的情況下,它在資產內尋找名爲「i18n」的文件夾,其中包含「File」「MyBundle」。 – Springrbua 2015-01-27 06:39:22

+0

現在顯示:「找不到捆綁爲基礎的文件句柄的i18n/MyBundle,語言環境pt_BR表示」。可以是什麼? – Jazzguy 2015-02-06 03:04:26

1

創建的Android模塊的資產國際化的文件夾。像lang.properties,lang_es.properties,lang_fr.properties等

然後,我在我的項目中使用此代碼的i18n文件夾中創建不同的屬性文件。

FileHandle internal = Gdx.files.internal("i18n/lang"); 
I18NBundle local = I18NBundle.createBundle(internal, Locale.ROOT); 
I18NBundle portuguese = I18NBundle.createBundle(internal, new Locale("pt"));