Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Начальная документация плагина Sync PO"v8.9.410.05.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Sync PO (i18n мосты) - Синхронизация PO с поддержкой ICU / i18next
Используйте Intlayer как дополнение к вашему существующему стеку i18n. Этот плагин синхронизирует ваши сообщения Gettext PO со словарями Intlayer, чтобы вы могли:
- Сохранить существующий рабочий процесс перевода на основе PO.
- Управлять и переводить свои сообщения с помощью Intlayer (CLI, CI, провайдеры, CMS) без рефакторинга вашего приложения.
- Выпускать учебные пособия и SEO-контент для каждой экосистемы, предлагая Intlayer в качестве уровня управления PO.
Примечания и текущая область применения:
- Экстернализация в CMS работает для переводов и классического текста.
- Пока нет поддержки вставок, множественного числа/ICU или расширенных функций среды выполнения других библиотек внутри самих записей PO.
- Визуальный редактор пока не поддерживается для сторонних выходных данных i18n.
Когда использовать этот плагин
- Вы уже используете файлы Gettext PO для своих переводов.
- Вы хотите использовать заполнение с помощью ИИ, тестирование в CI и операции с контентом без изменения среды выполнения рендеринга.
Установка
Копировать код в буфер обмена
Плагины
Этот пакет предоставляет два плагина:
loadPO: Загрузка PO-файлов в словари Intlayer.- Этот плагин используется для загрузки PO-файлов из источника и их добавления в словари Intlayer. Он может сканировать всю кодовую базу и искать определенные PO-файлы.
Этот плагин можно использовать:
- если вы используете библиотеку i18n, которая навязывает определенное местоположение для загрузки ваших PO-файлов, но вы хотите разместить объявление контента там, где вам удобно в вашей кодовой базе.
- Его также можно использовать, если вы хотите получать свои сообщения из удаленного источника (например, CMS, API и т. д.) и сохранять их в PO-файлах.
Под капотом этот плагин сканирует всю кодовую базу, ищет определенные PO-файлы и загружает их в словари Intlayer. Обратите внимание, что этот плагин не записывает вывод и переводы обратно в PO-файлы.
- Этот плагин используется для загрузки PO-файлов из источника и их добавления в словари Intlayer. Он может сканировать всю кодовую базу и искать определенные PO-файлы.
Этот плагин можно использовать:
syncPO: Синхронизация PO-файлов со словарями Intlayer.- Этот плагин используется для синхронизации PO-файлов со словарями Intlayer. Он может сканировать заданное местоположение и загружать PO, соответствующие шаблону для определенных PO-файлов. Этот плагин полезен, если вы хотите получить преимущества Intlayer, используя другую библиотеку i18n.
Использование обоих плагинов
Копировать код в буфер обмена
Плагин syncPO
Быстрый старт
Добавьте плагин в свой intlayer.config.ts и укажите на существующую структуру PO.
Копировать код в буфер обмена
Альтернатива: один файл на локаль:
Копировать код в буфер обмена
Как это работает
- Чтение: плагин обнаруживает PO-файлы с помощью вашего сборщика
sourceи загружает их как словари Intlayer. - Запись: после сборки и заполнения он записывает локализованные PO обратно по тем же путям (с правильными заголовками Gettext).
- Автозаполнение: плагин объявляет путь
autoFillдля каждого словаря. Запускintlayer fillпо умолчанию обновляет только отсутствующие переводы в ваших PO-файлах.
API:
Копировать код в буфер обмена
Несколько источников PO и приоритет
Вы можете добавить несколько плагинов syncPO для синхронизации различных источников PO. Это полезно, когда у вас есть несколько источников перевода или различные структуры PO в вашем проекте.
Система приоритетов
Когда несколько плагинов нацелены на один и тот же ключ словаря, параметр priority определяет, какой плагин имеет преимущество:
- Более высокие числа приоритета побеждают над более низкими
- Приоритет файлов
.contentпо умолчанию равен0 - Приоритет плагинов по умолчанию равен
0 - Плагины с одинаковым приоритетом обрабатываются в том порядке, в котором они появляются в конфигурации
Копировать код в буфер обмена
Плагин Load PO
Быстрый старт
Добавьте плагин в свой intlayer.config.ts, чтобы поглощать существующие PO-файлы как словари Intlayer. Этот плагин работает только на чтение (без записи на диск):
Копировать код в буфер обмена
Альтернатива: структура по локалям, все еще только для чтения (загружается только выбранная локаль):
Копировать код в буфер обмена
Как это работает
- Обнаружение: создает glob из вашего сборщика
sourceи собирает соответствующие PO-файлы. - Поглощение: загружает каждый PO-файл как словарь Intlayer с указанной локалью
locale. - Только чтение: не записывает и не форматирует выходные файлы; используйте
syncPO, если вам нужна двусторонняя синхронизация. - Готовность к автозаполнению: определяет путь
fill, чтобыintlayer content fillмог заполнить отсутствующие ключи.
API
Копировать код в буфер обмена
Поведение и соглашения
- Если ваша маска
sourceвключает заполнитель локали, поглощаются только файлы для выбранной локалиlocale. - Если в вашей маске нет сегмента
{key}, ключом словаря будет "index". - Ключи извлекаются из путей к файлам путем замены заполнителя
{key}в вашем сборщикеsource. - Плагин использует только обнаруженные файлы и не создает недостающие локали или ключи.
- Путь
fillвыводится из вашегоsourceи используется для обновления отсутствующих значений через CLI, когда вы соглашаетесь.
Разрешение конфликтов
Когда один и тот же ключ перевода существует в нескольких источниках PO:
- Плагин с наивысшим приоритетом определяет конечное значение.
- Источники с более низким приоритетом используются в качестве резервных для отсутствующих ключей.
- Это позволяет вам сохранять устаревшие переводы, постепенно переходя на новые структуры.
CLI
Синхронизированные PO-файлы будут рассматриваться так же, как и другие файлы .content. Это означает, что для синхронизированных PO-файлов будут доступны все команды intlayer. Включая:
intlayer content testдля проверки наличия отсутствующих переводовintlayer content listдля вывода списка синхронизированных PO-файловintlayer content fillдля заполнения отсутствующих переводовintlayer content pushдля отправки синхронизированных PO-файловintlayer content pullдля получения синхронизированных PO-файлов
См. Intlayer CLI для получения более подробной информации.
Ограничения (текущие)
- Отсутствие поддержки вставок или множественного числа/ICU при нацеливании на сторонние библиотеки.
- Визуальный редактор пока недоступен для сред выполнения, отличных от Intlayer.
- Только синхронизация PO; форматы каталогов, отличные от PO, не поддерживаются.
Почему это важно
- Мы можем рекомендовать устоявшиеся решения i18n и позиционировать Intlayer как дополнение.
- Мы используем их SEO/ключевые слова с учебными пособиями, которые заканчиваются предложением использовать Intlayer для управления PO.
- Расширяет целевую аудиторию с «новых проектов» до «любой команды, уже использующей i18n».