---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/language.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/ru/llms.txt

# Изменение языка карты

<iframe id="LIVE-EXAMPLE" style="width:100%;height: 400px;border-radius: 8px;border: 1px solid rgba(92, 94, 102, 0.14);" frameBorder="0" src="https://yastatic.net/s3/front-maps-static/maps-front-jsapi-v2-1/examples/2/out/s3-cases/ru/language/index.html" allow="fullscreen"></iframe>

<a target="_blank" rel="noopener noreferrer" style="display: inline-block;margin-top: 10px;cursor: pointer;border-radius: 4px;padding: 9px 12px;background: #151515;color: white;text-decoration: none;font-weight: 500" href="https://codesandbox.io/p/sandbox/vwxpj4?file=index.html">Open in CodeSandbox</a>

<div id="references">
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map">Map</a>
</div>
<p>API позволяет отображать карты, локализованные на различных языках с учётом специфики отдельных стран. Для того чтобы управлять локализацией, необходимо в HTTP-запросе передать локаль.</p>
<p>Локаль задается  параметром lang:<pre><code>lang=language_region</code></pre></p>
<p></p><ul>
    <li><span class="tag">language</span> — двузначный код языка в формате <a target="_blank" href="https://ru.wikipedia.org/wiki/ISO_639-1">ISO 639-1</a>. Задает язык объектов на карте (топонимов, элементов управления).</li>
    <li><span class="tag">region</span> — двузначный код страны в формате <a target="_blank" href="https://ru.wikipedia.org/wiki/ISO_3166-1">ISO 3166-1</a>. Определяет региональные особенности, например единицу измерения (для обозначения расстояния между объектами или скорости движения по маршруту). <p></p><em>Примечание.&nbsp;</em>Для регионов RU, UA и TR расстояние показывается в километрах, для US — в милях. </p></li>
</ul><p></p>
<p>На данный момент поддерживаются следующие локали:</p>
<ul>
    <li>lang=ru_RU;</li>
    <li>lang=en_US;</li>
    <li>lang=en_RU;</li>
    <li>lang=ru_UA;</li>
    <li>lang=uk_UA;</li>
    <li>lang=tr_TR.</li>
</ul>
<p>Подробней можно <a target="_blank" href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/load-docpage/">прочитать тут</a>.</p>

{% list tabs %}

-   index.html

    ```html
    <!DOCTYPE html>
    <html>
        <head>
            <title>Изменение языка карты</title>
            <meta
                http-equiv="Content-Type"
                content="text/html; charset=utf-8"
            />
            
            
        </head>
        <body>
            <select id="language">
                <option value="ru">ru</option>
                <option selected value="en">en</option>
            </select>
            <div id="map"></div>
        </body>
    </html>
    ```

-   language.js

    ```js
    var myMap;
    var script;

    function init(ymaps) {
        myMap = new ymaps.Map(
            "map",
            {
                center: [55.9238145091058, 37.897131347654376],
                zoom: 10,
            },
            {
                searchControlProvider: "yandex#search",
            }
        );
    }

    window.onload = function () {
        // Получим ссылки на элементы с тегом 'head' и id 'language'.
        var head = document.getElementsByTagName("head")[0];
        var select = document.getElementById("language");
        select.createMap = function () {
            // Получим значение выбранного языка.
            var language = this.value;
            // Если карта уже была создана, то удалим её.
            if (myMap) {
                myMap.destroy();
            }
            // Создадим элемент 'script'.
            script = document.createElement("script");
            script.type = "text/javascript";
            script.charset = "utf-8";
            // Запишем ссылку на JS API Яндекс.Карт с выбранным языком в атрибут 'src'.
            script.src =
                "https://api-maps.yandex.ru/2.1/?onload=init_" +
                language +
                "&lang=" +
                language +
                "_RU&ns=ymaps_" +
                language;
            // Добавим элемент 'script' на страницу.
            head.appendChild(script);
            // Использование пространства имен позволяет избежать пересечения названий функций
            // и прочих программных компонентов.
            window["init_" + language] = function () {
                init(window["ymaps_" + language]);
            };
        };
        // Назначим обработчик для события выбора языка из списка.
        document
            .getElementById("language")
            .addEventListener("change", select.createMap);
        // Создадим карту и зададим для нее язык, который был выбран по умолчанию.
        select.createMap();
    };
    ```

{% endlist %}
