Локалізація Angular: Ефективне використання i18n для json файлів

Локалізація Angular: Ефективне використання i18n для json файлів

7 Березня 2024 в 21:11 44

В сучасних веб-додатках, розроблених на Angular, локалізація є важливою складовою для досягнення глобального аудиторії та забезпечення комфортного користування додатком для користувачів з різних країн та культур. Одним із найпоширеніших методів локалізації є використання механізму i18n (Internationalization) разом з форматом XLIFF (XML Localization Interchange File Format) для збереження перекладів.

Однак, коли мова йде про локалізацію Angular додатків, часто зустрічається ситуація, коли потрібно локалізувати тексти, що знаходяться в json файлах. На жаль, стандартна команда ng extract-i18n не працює з json файлами, що ускладнює процес локалізації для цього типу ресурсів.

У цій статті ми розглянемо проблему локалізації json файлів в Angular додатках та запропонуємо ефективний підхід до вирішення цієї задачі з використанням інструментів Angular та мови програмування JavaScript.

Почнемо з розгляду структури вихідного json файлу, який ми хочемо локалізувати:

Для локалізації цих лейблів нам потрібно перетворити їх у відповідні теги у файлі формату XLIFF. Наприклад:

Щоб автоматизувати цей процес та забезпечити легку роботу з локалізацією json файлів, ми можемо написати скрипт на JavaScript, який буде витягувати дані з json файлу та генерувати вихідний XLIFF файл.

Ось приклад коду для такого скрипту:

Цей скрипт зчитує вміст json файлу, проходить по кожному елементу, витягує необхідні дані та генерує вихідний XLIFF файл.

Після створення цього скрипту ви можете викликати його після команди ng extract-i18n для автоматичної генерації XLIFF файлу з перекладами з вашого json файлу.

Використання цього підходу дозволить вам ефективно локалізувати тексти з json файлів у вашому Angular додатку та забезпечить легку роботу з локалізацією на різних мовах для вашого проекту.