Skip to Content
Руководство для пользователейВозможностиi18n

Интернационализация (i18n) и языковая поддержка

Qwen Code создан для многоззычных рабочих процессов: он поддерживает локализацию интерфейса (i18n/l10n) в CLI, позволяет выбирать язык вывода ассистента и предоставляет возможность создавать собственные языковые пакеты для интерфейса.

Обзор

С точки зрения пользователя, «интернационализация» Qwen Code охватывает несколько уровней:

Возможность / НастройкаЧто управляетГде хранится
/language uiТекст интерфейса (меню, системные сообщения, подсказки)~/.qwen/settings.json
/language outputЯзык, на котором отвечает ИИ (предпочтение по выводу, не перевод интерфейса)~/.qwen/output-language.md
Собственные языковые пакетыПереопределение/расширение встроенных переводов интерфейса~/.qwen/locales/*.js

Язык интерфейса

Это уровень локализации CLI (i18n/l10n): он управляет языком меню, подсказок и системных сообщений.

Установка языка интерфейса

Используйте команду /language ui:

/language ui zh-CN # Китайский /language ui en-US # Английский /language ui ru-RU # Русский /language ui de-DE # Немецкий /language ui ja-JP # Японский /language ui pt-BR # Португальский (Бразилия) /language ui fr-FR # Французский /language ui ca-ES # Каталанский

Поддерживаются также псевдонимы:

/language ui zh # Китайский /language ui en # Английский /language ui ru # Русский /language ui de # Немецкий /language ui ja # Японский /language ui pt # Португальский /language ui fr # Французский /language ui ca # Каталанский

Автоопределение

При первом запуске Qwen Code определяет системную локаль и автоматически устанавливает язык интерфейса.

Приоритет определения:

  1. Переменная окружения QWEN_CODE_LANG
  2. Переменная окружения LANG
  3. Системная локаль через JavaScript Intl API
  4. По умолчанию: английский

Язык вывода LLM

Язык вывода LLM определяет, на каком языке отвечает ассистент ИИ, независимо от языка ваших вопросов.

Как это работает

Язык вывода LLM управляется файлом правил ~/.qwen/output-language.md. Этот файл автоматически добавляется в контекст LLM при запуске, предписывая ассистенту отвечать на указанном языке.

Автоопределение

Если при первом запуске файл output-language.md не существует, Qwen Code автоматически создаёт его на основе вашей системной локали. Например:

  • Системная локаль zh — создаёт правило для ответов на китайском
  • Системная локаль en — создаёт правило для ответов на английском
  • Системная локаль ru — создаёт правило для ответов на русском
  • Системная локаль de — создаёт правило для ответов на немецком
  • Системная локаль ja — создаёт правило для ответов на японском
  • Системная локаль pt — создаёт правило для ответов на португальском
  • Системная локаль fr — создаёт правило для ответов на французском
  • Системная локаль ca — создаёт правило для ответов на каталанском

Ручная настройка

Используйте /language output <язык> для изменения:

/language output Chinese /language output English /language output Japanese /language output German

Подходит любое название языка. LLM будет проинструктирован отвечать на указанном языке.

Note

После изменения языка вывода перезапустите Qwen Code, чтобы изменения вступили в силу.

Расположение файла

~/.qwen/output-language.md

Конфигурация

Через диалог настроек

  1. Выполните /settings
  2. Найдите «Language» в разделе General
  3. Выберите предпочитаемый язык интерфейса

Через переменную окружения

export QWEN_CODE_LANG=zh

Это влияет на автоопределение при первом запуске (если язык интерфейса ещё не задан и файл output-language.md ещё не существует).

Собственные языковые пакеты

Для перевода интерфейса вы можете создавать собственные языковые пакеты в ~/.qwen/locales/:

  • Пример: ~/.qwen/locales/es.js для испанского
  • Пример: ~/.qwen/locales/fr.js для французского

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

Tip

Принимаются вклады! Если вы хотите улучшить встроенные переводы или добавить новые языки. За конкретным примером обратитесь к PR #1238: feat(i18n): add Russian language support .

Поддержка zh-TW (традиционный китайский для Тайваня)

zh-TW не является автоматическим преобразованием zh.js через OpenCC s2t — это вручную поддерживаемый перевод на тайваньскую лексику. При добавлении или обновлении ключей, пожалуйста, следуйте приведённым ниже правилам.

Столбец «CI enforced?» показывает, вызовет ли npm run check-i18n ошибку сборки при нарушении. Строки, помеченные Нет, — это стилистические рекомендации, проверяемые только при ревью; обычно потому, что ошибочная форма имеет законное неинтерфейсное значение (文件 может означать «документ», 打開 в разговорной речи приемлемо на Тайване).

ИзбегайтеИспользуйте вместоCI enforced?Причина
文件 (file)檔案НетТайваньский термин для файлов в файловой системе (но 文件 может законно означать «документ»)
服務器 / 服务器伺服器ДаТайваньский термин для «server»
菜單 / 菜单選單ДаТайваньский термин для «menu»
鏈接 / 链接連結ДаТайваньский термин для «link» (отдельный — нормально, напр. 區塊鏈)
打開開啟НетПредпочтительный на Тайване глагол для «open» (интерфейс); 打開 распространён в разговорной речи
爲 / 啓 / 曆史 / 鏈接為 / 啟 / 歷史 / 連結ДаВарианты традиционных форм от прямого OpenCC s2t. Примечание: контекстно-зависимо и корректно в календарных терминах (日曆, 農曆, 西曆); CI проверяет только биграмму 曆史, не отдельный .

Если вы не являетесь носителем традиционного китайского и вам нужно создать значение, не вставляйте сырой вывод OpenCC s2t: стандартный профиль s2t выдаёт варианты традиционных символов (например, 爲, 啓), которые не используются на Тайване, и никогда не заменяет материково-китайскую лексику (服務器, 菜單). Предпочтительнее использовать s2twp.json (упрощённый → тайваньский с фразовой заменой) как отправную точку, а затем попросить тайваньского носителя проверить.

Скрипт check-i18n (запускается в CI через npm run check-i18n) вызовет ошибку сборки, если в значении zh-TW обнаружена любая из строк, проверяемых CI. Полный список см. в scripts/check-i18n.ts → ZH_TW_FORBIDDEN_PATTERNS. Если перевод действительно должен содержать строку, запрещённую CI, добавьте его ключ в ZH_TW_ALLOWED_EXCEPTIONS в том же файле с кратким обоснованием.

Note

Проверка использует простое совпадение подстрок, которое не учитывает границы китайских слов. Поэтому биграмма может дать ложное срабатывание на границе составных слов — например, 區塊鏈接口 (= 區塊鏈 + 接口) содержит подстроку 鏈接, хотя ни одно из слов не является ошибочным. Если вы столкнулись с неожиданным сбоем CI такого рода, добавьте ключ перевода в ZH_TW_ALLOWED_EXCEPTIONS, а не удаляйте шаблон.

Формат языкового пакета

// ~/.qwen/locales/es.js export default { Hello: 'Hola', Settings: 'Configuracion', // ... more translations };

Связанные команды

  • /language — Показать текущие языковые настройки
  • /language ui [lang] — Установить язык интерфейса
  • /language output <language> — Установить язык вывода LLM
  • /settings — Открыть диалог настроек
Last updated on