# General Translation Integrations: paraglide-context
URL: https://generaltranslation.com/ru/docs/integrations/paraglide/reference/paraglide-context.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Сохраняет в файлы метаданных исходный код вокруг каждого места использования сообщений Paraglide JS. Справочник API по команде paraglide-context.

Команда устанавливается вместе с пакетом `@generaltranslation/paraglide-js`. За один запуск она анализирует приложение, записывает файлы метаданных и завершает работу. Запускайте её перед [`gt translate`](/docs/cli/reference/commands/translate).

## Обзор [#overview]

```bash
npx paraglide-context [root] [options]
```

`root` — это проект или каталог внутри него. По умолчанию это рабочий каталог. Все пути, передаваемые во флагах, задаются относительно корневого каталога проекта — то есть каталога ближайшего `package.json`, расположенного в `root` или выше.

[`collectContext`](/docs/integrations/paraglide/reference/collect-context) делает то же самое из кода и принимает те же параметры.

## Как это работает [#how-it-works]

* Выбирает исходные файлы, разрешает их импорты и находит все места использования сообщений Paraglide JS. (См. [Обнаружение использования](/docs/integrations/paraglide/reference/usage-detection)).
* Создаёт файл метаданных рядом с каждым файлом сообщений базовой локали, например `messages/en.metadata.json`. (См. [Файлы метаданных](/docs/integrations/paraglide/reference/metadata-files)).
* Никогда не запускает сборщик приложения. Алиасы импорта считываются из `tsconfig.json`, `package.json` и конфигурации Vite, webpack или rspack.
* Выводит предупреждения обо всём, что было пропущено. Предупреждения не влияют на код завершения.

## Флаги [#flags]

Каждый флаг задаёт один параметр [`collectContext`](/docs/integrations/paraglide/reference/collect-context#options) — там же подробно описано его поведение. Чтобы передать несколько значений, повторите флаг, помеченный как *повторяемый*.

| Параметр              | Описание                                                                                                                                                                                                         | Тип        | Необязательный | По умолчанию                      |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | -------------- | --------------------------------- |
| `[root]`              | Проект или каталог внутри него. Задаёт [`root`](/docs/integrations/paraglide/reference/collect-context#root).                                                                                                    | `string`   | Да             | Рабочий каталог                   |
| `--include <path>`    | Путь или glob-шаблон для анализа. Повторяемый. Задаёт [`include`](/docs/integrations/paraglide/reference/collect-context#include).                                                                               | `string[]` | Да             | Весь проект                       |
| `--exclude <path>`    | Путь или glob-шаблон, исключаемый из анализа. Повторяемый. Задаёт [`exclude`](/docs/integrations/paraglide/reference/collect-context#exclude).                                                                   | `string[]` | Да             | Тесты и конфигурации инструментов |
| `--outdir <dir>`      | Выходной каталог Paraglide JS, который используется без проверки. Повторяемый. Задаёт [`outdirs`](/docs/integrations/paraglide/reference/collect-context#outdirs).                                               | `string[]` | Да             | Определяется автоматически        |
| `--project <dir>`     | Проект inlang, для сообщений которого создаются файлы метаданных. Повторяемый. Задаёт [`inlangProjects`](/docs/integrations/paraglide/reference/collect-context#inlang-projects).                                | `string[]` | Да             | Определяется автоматически        |
| `--alias <name=path>` | Алиас импорта, например `~=./src`. Замена, начинающаяся с `.`, разрешается относительно корневого каталога проекта. Повторяемый. Задаёт [`alias`](/docs/integrations/paraglide/reference/collect-context#alias). | `string[]` | Да             | —                                 |
| `--no-bundler-config` | Не считывать алиасы из конфигурации сборщика. Устанавливает для [`bundlerConfigs`](/docs/integrations/paraglide/reference/collect-context#bundler-configs) значение `[]`.                                        | `boolean`  | Да             | `false`                           |
| `--radius <lines>`    | Количество строк контекста выше и ниже каждого места использования. Неотрицательное целое число. Задаёт [`radius`](/docs/integrations/paraglide/reference/collect-context#radius).                               | `number`   | Да             | `10`                              |
| `--verbose`           | Вывести сводку: найденные места использования, проанализированные файлы, задействованные выходные каталоги и конфигурацию, из которой были считаны алиасы.                                                       | `boolean`  | Да             | `false`                           |
| `-h, --help`          | Показать справку по использованию.                                                                                                                                                                               | `boolean`  | Да             | `false`                           |

Для параметров `targets`, `languages`, `autoImports`, `conditions` и `rootDirectory` флагов нет. Задайте их через [`collectContext`](/docs/integrations/paraglide/reference/collect-context).

## Пример [#example]

```bash
# Проанализировать приложение в рабочем каталоге
npx paraglide-context

# Проанализировать одно приложение в монорепозитории и вывести сводку
npx paraglide-context apps/web --verbose

# Проанализировать src и общий пакет, захватывая 5 строк контекста
npx paraglide-context --include src --include ../shared --radius 5

# Объявить алиас и не использовать конфигурацию сборщика
npx paraglide-context --alias ~=./src --no-bundler-config
```

## Прочие заметки [#notes]

| Код завершения | Значение                                                                                                                                                                       |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `0`        | Запуск завершён — с предупреждениями или без них.                                                                                                                              |
| `1`        | Запуск прерван ошибкой — например, не удалось записать файл метаданных. Текст ошибки выводится.                                                                                |
| `2`        | Неизвестный флаг, отсутствующее значение, несколько аргументов `root` или значение `--radius`, не являющееся неотрицательным целым числом. Выводится справка по использованию. |

* Предупреждения начинаются с `[paraglide-context]` и выводятся в стандартный поток ошибок.
* Файл метаданных перезаписывается только при изменении его содержимого, поэтому повторный запуск без изменений в источнике ничего не записывает.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
