---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/games/doc/en/sdk/defold/localization.md
  - https://yandex.com/dev/games/doc/hi/sdk/defold/localization.md
  - https://yandex.com/dev/games/doc/ko/sdk/defold/localization.md
  - https://yandex.com/dev/games/doc/ru/sdk/defold/localization.md
  - https://yandex.com/dev/games/doc/tr/sdk/defold/localization.md
  - https://yandex.com/dev/games/doc/vi/sdk/defold/localization.md
  - https://yandex.com/dev/games/doc/zh/sdk/defold/localization.md
  - href: hi/sdk/defold/localization.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/games/doc/hi/llms.txt

# स्थानीयकरण

## अनुवाद बनाना

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

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

![](../../_images/defold/localization/files-create.png)

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

{% list tabs %}

- en.json

  ```json
  {
    "game": {
      "title": "Cool Game"
    },
    "button": "Button"
  }
  ```

- ru.json

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

{% endlist %}

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

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

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

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

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

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

से पहले:

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

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

```lua
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
```

![](../../_images/defold/localization/example.png)

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

{% note info "नोट" %}

i18n मॉड्यूल अपने आप उस भाषा को इनिशियलाइज़ करता है, जो [एन्वायरमेंट वेरिएबल्स](https://yandex.com/dev/games/doc/hi/sdk/defold/environment.md) से यूज़र की भाषा के अनुसार होती है।

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

{% endnote %}

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

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

---


<!-- source: hi/_includes/button-git-defold.md -->
<a href="https://github.com/yandex-games-plugins/defold">
  <span class="button">रिपोजिटरी</span>
</a>
<!-- endsource: hi/_includes/button-git-defold.md -->
