स्थानीयकरण

अनुवाद बनाना

सबसे पहले एक i18n नाम की फोल्डर बनाएं, जिसमें JSON फॉर्मेट की फाइलें रहेंगी, और इन्हीं फाइलों में आपके अनुवाद रखे जाएंगे।

उदाहरण के लिए, हम en.json और ru.json नाम की फाइलें बनाएंगे, जो क्रमशः अंग्रेज़ी और रूसी भाषाओं के लिए हैं।

अब, हमें अपनी फ़ाइलों को किसी सामग्री से भरना चाहिए:

{
  "game": {
    "title": "Cool Game"
  },
  "button": "Button"
}
{
  "game": {
    "title": "Крутая игра"
  },
  "button": "Кнопка"
}

अनुवाद प्राप्त करना

किसी विशेष कुंजी का मान प्राप्त करने के लिए, आप i18n.localize(key) विधि का उपयोग कर सकते हैं।

print( i18n.key("game.title") ) -- "Cool Game"

एक सहायक मेथड i18n.gui(node_id, key) भी मौजूद है, जो यूज़र इंटरफ़ेस में चयनित नोड की सामग्री को बदल देता है।

i18n.gui() की मदद से हम इसे छोटा कर सकते हैं:

gui.set_text(gui.get_node("Title Label"), i18n.key("game.title"))

से पहले:

i18n.gui("title_label", "game.title")

गेम का स्थानीयकरण उदाहरण

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

अनुवाद की भाषा बदलना

नोट

i18n मॉड्यूल अपने आप उस भाषा को इनिशियलाइज़ करता है, जो एन्वायरमेंट वेरिएबल्स से यूज़र की भाषा के अनुसार होती है।

यह तरीका केवल तब इस्तेमाल करने की सलाह दी जाती है, जब आप यूज़र की इच्छा से मैन्युअली भाषा बदलना चाहें।

भाषा बदलने के लिए आप i18n.set_language(code: string) मेथड का उपयोग कर सकते हैं।

function settings.change_language(code)
    i18n.set_language(code)
end

रिपोजिटरी