Yerelleştirme
Çevirilerin Oluşturulması
Öncelikle, çevirilerinizin saklanacağı JSON formatındaki dosyaların yer alacağı i18n
adlı bir klasör oluşturun.
Örnek olarak, İngilizce ve Rusça dillerine karşılık gelen en.json
ve ru.json
dosyalarını oluşturalım.
Şimdi, dosyalarımızı bir miktar içerikle doldurma zamanı:
{
"game": {
"title": "Cool Game"
},
"button": "Button"
}
{
"game": {
"title": "Крутая игра"
},
"button": "Кнопка"
}
Çevirileri Alma
Belirli bir anahtarın değerini almak için i18n.localize(key)
metodunu kullanabilirsiniz.
print( i18n.key("game.title") ) -- "Cool Game"
Ayrıca, kullanıcı arayüzündeki seçilen düğümün içeriğini değiştiren yardımcı bir i18n.gui(node_id, key)
yöntemi de bulunmaktadır.
i18n.gui()
yöntemi sayesinde aşağıdaki işlemi kısaltabiliriz:
gui.set_text(gui.get_node("Title Label"), i18n.key("game.title"))
Önce:
i18n.gui("title_label", "game.title")
Bir oyunun yerelleştirilmesi örneği
local i18n = require('ysdk.i18n')
local function on_localize()
i18n.gui("title_label", "game.title")
i18n.gui("button_label", "game.title")
end
function init(self)
i18n.on(on_localize)
end
function final(self)
i18n.off(on_localize)
end
Çeviri Dilini Değiştirme
Not
i18n modülü, ortam değişkenlerinden kullanıcının diline karşılık gelen dili otomatik olarak başlatır.
Dili yalnızca, kullanıcı isteğiyle manuel olarak değiştirmek istediğinizde bu yöntemi kullanmanız önerilir.
Çeviri dilini değiştirmek için i18n.set_language(code: string)
metodunu kullanabilirsiniz.
function settings.change_language(code)
i18n.set_language(code)
end