---
title: 'Lina: Инженер локализации'
description: 'Документация AI-сотрудников NocoBase.'
keywords: 'Lina,Localization Engineer,AI translation,Localization Management,AI Employee,NocoBase'
---

# Lina: Инженер локализации

## Роль

Lina: Инженер локализации специализируется на этом встроенном сценарии NocoBase и помогает эффективнее выполнять связанные задачи.

![](https://static-docs.nocobase.com/202605121152196.png)

:::info{title=Совет}
Lina предназначена для сценариев локализации и не использует общие Skills или Tools.
:::

## Сценарии

- Пакетный перевод записей системы и плагинов.
- Перевод содержимого коллекций, полей и меню.
- Перевод только выбранных записей в таблице.

## Предварительные условия

Перед использованием Lina выполните настройку:

- Включите плагин **Управление локализацией**.
- Настройте доступный LLM-сервис и назначьте Lina модель по умолчанию. См. [Настройка моделей AI-сотрудников](/ai-employees/features/model-settings) и [Рекомендации по выбору модели](#рекомендации-по-выбору-модели).
- Включите целевой язык в системных настройках.
- Синхронизируйте записи для перевода на странице управления локализацией.

:::info{title=Совет}
Lina создает задачи перевода для текущей локали.
:::

## Настройка prompt

Откройте диалог редактирования Lina через `Системные настройки -> AI-сотрудники -> AI employees` и настройте prompt в `Role setting`. Prompt обычно используется для описания информации предметной области, правил терминологии и ограничений вывода. Он не должен быть слишком длинным, иначе может плохо подходить для специализированных моделей перевода.

![](https://static-docs.nocobase.com/202605191351816.png)

Пример prompt по умолчанию:

```text
# Role
You are Lina, a professional localization translator for NocoBase.

# Task
Translate NocoBase localization text into the requested target language.

# Translation requirements
1. Keep the translation faithful, concise, and natural for product UI.
2. Use consistent NocoBase and software terminology.
3. Preserve placeholders, variables, HTML tags, ICU syntax, line breaks, and code-like tokens.
4. Return only the translated text. Do not explain, quote, or use Markdown.
5. If the text should not be translated, return it unchanged.
```

Справочные переводы и текст для перевода не нужно записывать в prompt Lina. При создании задачи система автоматически добавляет их на основе содержимого записи, целевого языка и настройки справочных языков в диалоге подтверждения.

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

На странице управления локализацией нажмите аватар Lina и выберите область задачи AI-перевода.

### Инкрементальный перевод

Переводит только записи без перевода в текущем языке.

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

### Перевод выбранных элементов

Сначала выберите записи в таблице, затем переведите только выбранное содержимое.

Если записи не выбраны, система попросит сначала выбрать их.

### Полный перевод

Переводит все подходящие записи текущего языка.

:::warning{title=Примечание}
Полный перевод может перезаписать существующие переводы. Перед запуском проверьте язык, число записей и сервис модели.
:::

## Подтверждение задачи

Перед созданием задачи система показывает диалог подтверждения:

- Описание задачи.
- Количество записей для перевода.
- Используемый провайдер.
- Используемая модель.
- Настройка языков справочного перевода.

Для полного и инкрементального перевода в диалоге подтверждения также можно выбрать область перевода:

- **Все**: обработать все записи, соответствующие условиям текущей задачи.
- **Встроенные записи**: системные и плагинные записи.
- **Пользовательские записи**: названия маршрутов, коллекций и полей, а также UI-контент.

Перевод выбранных элементов обрабатывает только записи, уже выбранные в таблице, поэтому область перевода не отображается. Также показывается только одна общая настройка справочных языков без разделения на встроенные и пользовательские записи.

Если количество записей для перевода равно 0, система показывает уведомление и не создает фоновую задачу. После подтверждения система создает фоновую задачу. Прогресс виден в асинхронных задачах. После завершения переводы записываются в соответствующий язык.

![](https://static-docs.nocobase.com/202605191341968.png)

## Справочные переводы

Короткие записи, такие как поля, кнопки и статусы, используют справочные переводы для согласованности.

- Встроенные записи используют китайские переводы как справку по умолчанию и японский как резервную справку.
- Пользовательские записи используют язык системы по умолчанию как справку по умолчанию и китайский как резервную справку.
- Пользователи могут настроить язык по умолчанию и резервный язык в диалоге подтверждения задачи.
- Система сначала использует справочный перевод на языке по умолчанию. Если его нет, она пробует резервный язык.

Если есть справка, Lina использует примерно такой prompt:

```text
Refer to the following translation:
{source_term} is translated as {target_term}

Translate the following text into {target_language}. Output only the translated result without any additional explanation:

{source_text}
```

## Рекомендации по выбору модели

Перевод локализации часто обрабатывает много записей. По возможности используйте локально развернутую небольшую переводческую модель, так как онлайн-модели часто имеют лимиты частоты, параллелизма или токенов.

Если локальное развертывание невозможно, выбирайте специализированную переводческую модель, а не обычную чат-модель. Модели перевода обычно лучше подходят для коротких записей, UI-текстов и пакетного перевода. Lina объединяет prompt сотрудника, справочные переводы и текст для перевода в prompt, отправляемый модели. Пользователи могут настроить prompt Lina, чтобы управлять стилем и правилами перевода.

Параллелизм можно настраивать по возможностям модели для управления пропускной способностью, временем ответа и стоимостью.

Полную практику с локально развернутой специализированной переводческой моделью см. [Использование Lina и локального HY-MT1.5-1.8B для перевода записей локализации](/ai-employees/scenarios/localization-hy-mt).

:::info{title=Совет}
Параллелизм управляется `AI_LOCALIZATION_CONCURRENCY`. По умолчанию `10`, диапазон `1`–`20`; значения вне диапазона используют значение по умолчанию.
:::

## Прогресс и обработка ошибок

Задачи перевода Lina выполняются как фоновые асинхронные задачи и записывают результаты по одной записи.

![](https://static-docs.nocobase.com/202605121235761.png)

Если запись не переведена, ошибка фиксируется и задача останавливается, чтобы избежать неконтролируемых результатов.

- AI-плагин или Async Task Manager не включен.
- Для Lina не настроена доступная модель.
- Сервис модели недоступен или истекает по таймауту.

Проверьте детали асинхронной задачи и логи сервера: провайдер, модель, язык, ID записи и длительность.

## Проверка перед публикацией

После AI-перевода проверьте перед публикацией:

- Короткие записи, такие как меню, кнопки и поля, соответствуют контексту продукта.
- Переменные, плейсхолдеры и HTML-теги сохранены.
- Бизнес-терминология согласована.
- Публикуйте после проверки.
