Microsoft Co-Op Translator — это мощный инструмент для бесшовного перевода Markdown-документов. В этом руководстве вы найдете решения распространенных проблем, которые могут возникнуть при работе с этим инструментом.
Проблема: В переведённом Markdown-документе появляется тег markdown в начале, что вызывает ошибки отображения.
Решение: Просто удалите тег markdown в начале файла. После этого файл будет корректно отображаться.
Шаги:
- Откройте переведённый Markdown (
.md) файл. - Найдите тег
markdownв самом начале документа. - Удалите этот тег.
- Сохраните изменения.
- Откройте файл заново и убедитесь, что он отображается правильно.
Проблема: URL встроенных изображений не соответствует языковой локали, из-за чего изображения отображаются неправильно или отсутствуют.
Решение: Проверьте URL изображений и убедитесь, что они соответствуют языковой локали. Все изображения находятся в папке translated_images, и в имени каждого файла есть тег локали.
Шаги:
- Откройте переведённый Markdown-документ.
- Найдите встроенные изображения и их URL.
- Проверьте, что тег локали в имени файла изображения совпадает с языком документа.
- При необходимости обновите URL.
- Сохраните изменения и откройте документ заново, чтобы убедиться, что изображения отображаются корректно.
Проблема: Переведённый текст неточен или требует доработки.
Решение: Просмотрите переведённый документ и внесите необходимые правки для повышения точности и читаемости.
Шаги:
- Откройте переведённый документ.
- Внимательно проверьте содержимое.
- Внесите необходимые изменения для улучшения качества перевода.
- Сохраните изменения.
Если изображения или текст не переводятся на нужный язык, а при запуске в режиме -d debug появляется ошибка 401, это классическая проблема с аутентификацией — ключ недействителен, истёк или не связан с регионом конечной точки.
Запустите co-op translator с флагом -d debug, чтобы лучше понять причину ошибки.
- Сообщение об ошибке:
Access denied due to invalid subscription key or wrong API endpoint. - Возможные причины:
- Ключ подписки был скрыт или неверно указан в запросе.
- Ключ AI Services или Subscription Key принадлежит другому ресурсу Azure (например, Translator или OpenAI), а не Azure AI Vision.
Тип ресурса
- Перейдите в Azure Portal или Azure AI Foundry и убедитесь, что ресурс имеет тип
Azure AI services→Vision. - Проверьте ключи и убедитесь, что используется правильный ключ.
В новой системе выборочного перевода Co-op Translator теперь явно сообщает об ошибках, если необходимые сервисы не настроены.
Проблема: Вы запросили перевод изображений (флаг -img), но Azure AI Service не настроен.
Сообщение об ошибке:
Error: Image translation requested but Azure AI Service is not configured.
Please add AZURE_AI_SERVICE_API_KEY and AZURE_AI_SERVICE_ENDPOINT to your .env file.
Check Azure AI Service availability and configuration.
Решение:
-
Вариант 1: Настроить Azure AI Service
- Добавьте
AZURE_AI_SERVICE_API_KEYв ваш.envфайл - Добавьте
AZURE_AI_SERVICE_ENDPOINTв ваш.envфайл - Убедитесь, что сервис доступен
- Добавьте
-
Вариант 2: Уберите запрос на перевод изображений
# Instead of: translate -l "ko" -img # Use: translate -l "ko" -md
Проблема: Не хватает обязательной конфигурации LLM.
Сообщение об ошибке:
Error: No language model configuration found.
Please configure either Azure OpenAI or OpenAI in your .env file.
Решение:
-
Проверьте, что в вашем
.envфайле есть хотя бы одна из следующих конфигураций LLM:- Azure OpenAI:
AZURE_OPENAI_API_KEYиAZURE_OPENAI_ENDPOINT - OpenAI:
OPENAI_API_KEY
Должна быть настроена либо Azure OpenAI, либо OpenAI, но не обе сразу.
- Azure OpenAI:
Проблема: Файлы не были переведены, хотя команда завершилась успешно.
Возможные причины:
- Неправильные флаги типа файлов (
-md,-img,-nb) - Нет подходящих файлов в проекте
- Неправильная структура каталогов
Решение:
-
Используйте режим отладки, чтобы понять, что происходит:
translate -l "ko" -md -d -
Проверьте типы файлов в вашем проекте:
# For markdown files find . -name "*.md" -not -path "./translations/*" # For notebooks find . -name "*.ipynb" -not -path "./translations/*" # For images find . -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -not -path "./translations/*"
-
Проверьте комбинации флагов:
# Translate everything (default) translate -l "ko" # Translate specific types translate -l "ko" -md -img
Проблема: Команды, которые раньше автоматически переводили только Markdown, больше не работают как раньше.
Старое поведение:
# This used to automatically switch to markdown-only mode
translate -l "ko" # (when Azure AI Vision was not configured)Новое поведение:
# This now produces an error if image translation is requested but not configured
translate -l "ko" -imgРешение:
- Явно указывайте, что именно хотите перевести:
translate -l "ko" -md # Only markdown translate -l "ko" -md -img # Markdown and images translate -l "ko" # Everything (if all services configured)
Проблема: Ссылки в переведённых файлах ведут в неожиданные места.
Причина: Динамическая обработка ссылок зависит от выбранных типов файлов.
Решение:
-
Поймите новое поведение ссылок:
- Включён
-nb: ссылки на ноутбуки ведут на переведённые версии -nbне включён: ссылки на ноутбуки ведут на оригинальные файлы- Включён
-img: ссылки на изображения ведут на переведённые версии -imgне включён: ссылки на изображения ведут на оригинальные файлы
- Включён
-
Выберите правильную комбинацию для вашей задачи:
# All internal links point to translated versions translate -l "ko" -md -img -nb # Only markdown translated, other links point to originals translate -l "ko" -md
Симптом: В логах workflow для peter-evans/create-pull-request написано:
Branch 'update-translations' is not ahead of base 'main' and will not be created
Возможные причины:
- Нет изменений: Шаг перевода не создал различий (репозиторий уже актуален).
- Игнорируемые выходные файлы:
.gitignoreисключает файлы, которые вы хотите закоммитить (например,*.ipynb,translations/,translated_images/). - Несоответствие add-paths: Пути, указанные в action, не совпадают с фактическими выходными файлами.
- Логика workflow/условия: Шаг перевода завершился раньше или записал файлы не туда.
Как исправить / проверить:
- Проверьте выходные файлы: После перевода убедитесь, что в рабочей директории появились новые/изменённые файлы в
translations/и/илиtranslated_images/.- Если переводите ноутбуки, убедитесь, что файлы
.ipynbдействительно записаны вtranslations/<lang>/....
- Если переводите ноутбуки, убедитесь, что файлы
- Проверьте
.gitignore: Не игнорируйте сгенерированные файлы. Убедитесь, что НЕ игнорируются:translations/translated_images/*.ipynb(если переводите ноутбуки)
- Проверьте соответствие add-paths выходным файлам: Используйте многострочное значение и включите обе папки, если нужно:
with: add-paths: | translations/ translated_images/
- Принудительно создайте PR для отладки: Временно разрешите пустые коммиты, чтобы убедиться, что всё настроено правильно:
with: commit-empty: true
- Запустите с отладкой: Добавьте
-dк команде перевода, чтобы увидеть, какие файлы были найдены и записаны. - Права доступа (GITHUB_TOKEN): Убедитесь, что workflow имеет права на запись для создания коммитов и PR:
permissions: contents: write pull-requests: write
При устранении проблем с переводом:
- Используйте режим отладки: Добавьте флаг
-dдля подробных логов - Проверьте флаги: Убедитесь, что
-md,-img,-nbсоответствуют вашим задачам - Проверьте конфигурацию: Убедитесь, что в
.envесть необходимые ключи - Тестируйте поэтапно: Начните с
-md, затем добавляйте другие типы - Проверьте структуру файлов: Убедитесь, что исходные файлы существуют и доступны
Для подробной информации о доступных командах и флагах смотрите Command Reference.
Отказ от ответственности: Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на стремление к точности, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется использовать профессиональный человеческий перевод. Мы не несём ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.