Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Интеграция сервера MCP Intlayer в ваш любимый AI-ассистент позволяет получать все документы непосредственно из ChatGPT, DeepSeek, Cursor, VSCode и т.д.
Просмотр документации сервера MCPСодержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Автоматическая генерация переводов в CI/CD процессе
Intlayer позволяет автоматически генерировать переводы для ваших файлов декларации контента. Существует несколько способов достичь этого в зависимости от вашего рабочего процесса.
Использование CMS
С Intlayer вы можете использовать рабочий процесс, при котором локально объявляется только один язык, а все переводы управляются удаленно через CMS. Это позволяет полностью отделить контент и переводы от кодовой базы, обеспечивая большую гибкость для редакторов контента и позволяя горячую перезагрузку контента (нет необходимости пересобирать приложение для применения изменений).
Пример конфигурации
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // Необязательные языки будут управляться удаленно defaultLocale: Locales.ENGLISH, }, editor: { dictionaryPriorityStrategy: "distant_first", // Удалённый контент имеет приоритет applicationURL: process.env.APPLICATION_URL, // URL приложения, используемый CMS clientId: process.env.INTLAYER_CLIENT_ID, // Учетные данные CMS clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { applicationContext: "Это тестовое приложение", // Помогает обеспечить согласованность генерации перевода },};export default config;
Чтобы узнать больше о CMS, обратитесь к официальной документации.
Использование Husky
Вы можете интегрировать генерацию переводов в ваш локальный Git-рабочий процесс с помощью Husky.
Пример конфигурации
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // Необязательные локали обрабатываются удаленно defaultLocale: Locales.ENGLISH, }, editor: { clientId: process.env.INTLAYER_CLIENT_ID, clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { provider: "openai", apiKey: process.env.OPENAI_API_KEY, // Используйте свой собственный API ключ applicationContext: "Это тестовое приложение", // Помогает обеспечить согласованность генерации перевода },};export default config;
Копировать код в буфер обмена
npx intlayer build # Чтобы убедиться, что словари обновленыnpx intlayer fill --unpushed --mode fill # Заполняет только отсутствующий контент, не обновляет существующий
Для получения дополнительной информации о командах Intlayer CLI и их использовании, обратитесь к документации CLI.
Если у вас несколько приложений в репозитории, использующих отдельные экземпляры intlayer, вы можете использовать аргумент --base-dir следующим образом:
Копировать код в буфер обмена
# Приложение 1npx intlayer build --base-dir ./app1npx intlayer fill --base-dir ./app1 --unpushed --mode fill# Приложение 2npx intlayer build --base-dir ./app2npx intlayer fill --base-dir ./app2 --unpushed --mode fill
Использование GitHub Actions
Intlayer предоставляет команду CLI для автоматического заполнения и проверки содержимого словаря. Это можно интегрировать в ваш CI/CD процесс с использованием GitHub Actions.
Копировать код в буфер обмена
name: Intlayer Auto-Fillon: push: branches: [ main ] paths: - 'src/**' pull_request: branches: [ main ] paths: - 'src/**' workflow_dispatch: {}concurrency: group: 'autofill-${{ github.ref }}' cancel-in-progress: truejobs: autofill: runs-on: ubuntu-latest env: INTLAYER_CLIENT_ID: ${{ secrets.INTLAYER_CLIENT_ID }} INTLAYER_CLIENT_SECRET: ${{ secrets.INTLAYER_CLIENT_SECRET }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} steps: - name: ⬇️ Клонировать репозиторий uses: actions/checkout@v3 with: persist-credentials: true - name: 🟢 Установить Node.js uses: actions/setup-node@v3 with: node-version: 20 - name: 📦 Установить зависимости run: npm ci - name: ⚙️ Собрать проект Intlayer run: npx intlayer build - name: 🤖 Автоматически заполнить отсутствующие переводы run: npx intlayer fill --git-diff --mode fill - name: 📤 Создать или обновить PR с переводами uses: peter-evans/create-pull-request@v4 with: commit-message: chore: авто-заполнение отсутствующих переводов [skip ci] branch: auto-translations title: chore: обновить отсутствующие переводы labels: translation, automated
Аналогично Husky, в случае монорепозитория вы можете использовать аргумент --base-dir для последовательной обработки каждого приложения.
По умолчанию аргумент --git-diff фильтрует словари, которые включают изменения от базы (по умолчанию origin/main) до текущей ветки (по умолчанию: HEAD).
Для получения дополнительной информации о командах Intlayer CLI и их использовании обратитесь к документации CLI.
История документа
- 5.5.10 - 2025-06-29: Инициализация истории