Многие уже наверняка знают, что в Mendix встроены средства локализации приложений, причем многоязычность реализована во множестве проектов. Локализация — частое требование у клиентов. И вот однажды, получив такое требование, я задумался: я знаю, как реализовать поддержку нескольких языков в приложении, но пока что еще не сделал ни одного с многоязычной страницей входа. Так что сегодня именно этим мы и займемся. Безусловно, почти любое решение можно реализовать несколькими способами, но мы выберем и рассмотрим только один. Интернационализация (i18n) — это процесс разработки и подготовки проекта к использованию в различных регионах по всему миру. Локализация — это процесс создания версий проекта для разных языков. Локализация включает в себя: Извлечение текста для перевода. Применение определенного формата данных для каждого языкового стандарта (локали). Локаль указывает на регион, в котором говорят на конкретном языке или варианте языка, и может соответствовать, например, стране или географическому региону. Локаль определяет то, как будут обрабатываться и отображаться: единицы измерения, включая дату и время, числа и валюты, переведенные названия, включая часовые пояса, языки и страны. Mendix Studio Pro 8.12.5 — подойдет и другая версия, но в этом случает может потребоваться адаптировать руководство в зависимости от структуры папок приложения. Visual Studio Code, но можно использовать и любой другой удобный редактор. Система безопасности для приложения (App Security) должна быть включена. Решать эту задачу будем поэтапно. Поиск файлов login.js и login_i18n.js Если приложение запускалось хотя бы раз, они будут в каталоге «deployment» проекта, который создается после первого локального запуска приложения. Запустив приложение, нажмите «Project → Show Project Directory in Explorer» (Проект → Показать каталог проекта в Проводнике). Щелкните правой кнопкой мыши папку проекта и откройте его в редакторе кода. Перейдите в каталог «deployment -> web -> js». Нужные файлы на скриншоте выделены:     2. Копирование файлов Файлы мы нашли — теперь будем добавлять переводы. Создайте подпапку «js» в папке «theme» и скопируйте туда из каталога «deployment» файлы «login_i18n.js» и «login.js». Результат должен выглядеть примерно так:     3. Настройка файла login.html Этот этап — необязателен, однако он поможет разобраться, что происходит, когда вы добавляете новый элемент. Файл «login.html» находится в папке «theme» приложения. Добавьте новую метку с идентификатором «login-local-label» следующим образом:    4. Добавление переводов и их отображение согласно языку браузера Предположим, у нас будет три языка: голландский, немецкий и английский. Замените содержимое файла «login_i18n.js» на приведенное ниже. Сам код пояснений не требует: мы просто получаем из браузера предпочитаемый язык пользователя и в соответствии с ним устанавливаем значение различных полей. СОВЕТ. Если вы добавляете на страницу «login.html» новые элементы, у них должен быть перевод. Поэтому для каждого нового переводимого элемента добавляйте пару «ключ — значение». Файл «login.js» также нужно будет изменить — но это уже на следующем этапе. В этом примере я уже выбрал значение «login-local-label».    5. Получение переводов в файле «login.js» Если вы не изменяете файл «login.html», это можно пропустить — в противном случае следуйте указаниям. Соответствующие изменения разделены на этапы (STEP) и снабжены пояснениями.    6. Открытие приложения в браузере и смена языка А теперь проверим, что у нас получилось. Для этого нужно изменить язык браузера и открыть страницу входа в приложение. Следуйте указаниям ниже и посмотрите, как меняется страница входа. Мы будем использовать Chrome. Добавьте в браузер соответствующие языки. Откройте страницу chrome://settings и перейдите в раздел «Дополнительные → Языки».    2. Переключите язык и откройте страницу входа в приложение. Это можно сделать, нажав три точки напротив языка и выбрав Отображать Google Chrome на этом языке.    3. Обновите страницу. Страница входа на голландском языке Страница входа на немецком языке Страница входа на английском языке (по умолчанию) Перевод статьи выполнен в Alconost. Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов. Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.