В этой статье мы будем переводить сообщения о локализации с помощью DeepL.

DeepL — гораздо более точный метод перевода, чем Google Translate и другие. С DeepL вы можете избежать ручного перевода или даже найма профессионалов-переводчиков.

Этот сценарий может работать практически для всех приложений, использующих следующее соглашение:

[directory]/
    en.json
    es.json
    fr.json

И если en.json был файлом, содержащим сообщения на исходном языке:

Например, это могут быть сообщения локализации для простого внешнего приложения.

Теперь мы знаем, как выглядят данные, давайте начнем.

Настройка DeepL Translate

DeepL предлагает бесплатный API перевода. Он предоставляет доступ ко всем доступным функциям. Перейдите на их страницу API и нажмите Зарегистрироваться бесплатно в разделе Deepl API Free. Заполните свои данные, и вы получите бесплатный ключ API.

Использование API

Выполните следующую команду, чтобы установить оболочку DeepL API в свой проект NodeJS.

npm i deepl-node

Используя CommonJS, вы можете инициализировать оболочку следующим образом:

Получение сообщений на исходном языке

Определите функцию для чтения содержимого файла JSON и анализа его как объекта.

Перевод сообщений

Теперь нам нужно определить функцию, которая переводит только значения объекта. Он будет следовать соглашению о файлах, указанному ранее.

Как только DeepL переводит все значения на целевой язык, мы записываем объект в новый файл JSON.

Подведение итогов

Вот код всего файла. Мы экспортируем функцию, которая будет следовать всем созданным нами шагам по порядку.

Большой! Теперь вы знаете, как добавить скрипт для локализации сообщений для вашей веб-страницы.

Чтобы увидеть более функциональный пример этой функции, ознакомьтесь с SimpleLocalise. Они предлагают бесплатный хостинг ваших файлов перевода и приятный пользовательский интерфейс для управления переводами. Они также обеспечивают интеграцию, которая работает с популярными библиотеками i18n, такими как FormatJS. Кроме того, существует множество различных руководств по использованию с любым типом приложений через их REST API.

Оставайтесь с нами, если вам понравилось. Спасибо и до свидания.

Первоначально опубликовано на https://cs310.hashnode.dev.