國際化一般都是把字串資源放到單獨的檔案裡,這樣載入不同的語言檔案就可以實現
國際化了。下面介紹的是love的babel庫。
首先我們先看一下它的語言檔案格式:
language =,--list of all the translations
translations =
}return language
可見語言檔案就是乙個lua表,有formats和translations兩個子表。
再看一下如何呼叫:
require"babel
"lang_zh=true
--顯示中文為真,否則假
function love.load()
--初始化babel
babel.init(
})--設定字型,顯示中文還是需要字型的,
--這裡沒放字型,請到網上找yaheiconsolas字型,或使用其它支援中文的字型
cnfont=love.graphics.newfont("
yaheiconsolas.ttf
",18
) love.graphics.setfont(cnfont)
endfunction
love.update(dt)
endfunction
love.draw()
--「_()」實際是babel.translate函式的別名
love.graphics.print( _( "
hello world
" ), 10, 10 ) --
這句會把源字串翻譯為local對應的字串
love.graphics.print( _( "
my name is %name%
", ), 10, 30
)end
function
love.keypressed(key, unicode)
--動態語言切換
if key=="c"
then
lang_zh= not
lang_zh
endif
not lang_zh then
babel.switchlocale(
"en-us")
else
babel.switchlocale(
"zh-cn")
endend
其中設定語言資料夾可以使用不同目錄,還可以使用addlocalesfolder函式在需要時新增語言資料夾.
love2d教程28 血條
感謝朱大仙提供的 這才有了這篇部落格。血條 至於體力 法力都是類似的 是遊戲裡常用的gui控制項,它主要實現兩個功能 增加 減少。效果如圖 沒有錄製gif 血條的繪製可以使用love裡的一些繪圖函式,還可以用填充。這裡採用bloodlineb.png填充,同時這個也是乙個quad的序列圖,用它來組成...
love2d教程28 血條
感謝朱大仙提供的 這才有了這篇部落格。血條 至於體力 法力都是類似的 是遊戲裡常用的gui控制項,它主要實現兩個功能 增加 減少。效果如圖 沒有錄製gif 血條的繪製可以使用love裡的一些繪圖函式,還可以用填充。這裡採用bloodlineb.png填充,同時這個也是乙個quad的序列圖,用它來組成...
love2d教程19 揹包
慚愧,在春節裡一篇文章也沒寫,現在又回到學校了,繼續love2d教程。由於我 只是現看現寫,有些地方可能錯了,希望大家指正,我會及時修正。這篇文章主要關 於loveframes的應用,是按朱大仙要求寫的,原文在此。揹包功能是通過loveframe來實現的,loveframes其實是支援中文的,只需要...