co-op-translator

Переводите ваш проект с помощью Co-op Translator

Co-op Translator — это инструмент с интерфейсом командной строки (CLI), который помогает переводить markdown-файлы и изображения вашего проекта на несколько языков. В этом разделе объясняется, как пользоваться инструментом, описываются различные опции CLI и приводятся примеры для разных сценариев использования.

[!NOTE] Для полного списка команд и их подробного описания обратитесь к разделу Справочник команд.


Примеры сценариев и команд

Ниже приведены несколько распространённых вариантов использования Co-op Translator с соответствующими командами.

1. Базовый перевод (один язык)

Чтобы перевести весь проект (markdown-файлы и изображения) на один язык, например, корейский, используйте следующую команду:

translate -l "ko"

Эта команда переведёт все markdown-файлы и изображения на корейский язык, добавляя новые переводы без удаления существующих.

[!TIP]

Хотите узнать, какие языковые коды доступны в Co-op Translator? Посетите раздел Supported Languages в репозитории для подробностей.

Пример на Phi-3 CookBook

В Phi-3 CookBook я использовал следующий способ, чтобы добавить корейский перевод для существующих markdown-файлов и изображений.

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l"ko"
Translating images: 100%|███████████████████████████████████████████████████| 276/276 [1:09:56<00:00, 15.37s/it]
Translating markdown files: 100%|████████████████████████████████████████████████| 153/153 [1:43:07<00:00, 241.31s/it]

2. Перевод на несколько языков

Чтобы перевести проект на несколько языков (например, испанский, французский и немецкий), используйте эту команду:

translate -l "es fr de"

Эта команда переведёт проект на испанский, французский и немецкий, добавляя новые переводы без перезаписи существующих.

Пример на Phi-3 CookBook

В Phi-3 CookBook, после получения последних изменений для отражения самых свежих коммитов, я использовал следующий способ для перевода недавно добавленных markdown-файлов и изображений.

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l"ko ja zh tw es fr" -a
Translating images: 100%|███████████████████████████████████████████████████| 273/273 [1:09:56<00:00, 15.37s/it]
Translating markdown files: 100%|████████████████████████████████████████████████| 6/6 [24:07<00:00, 241.31s/it]

[!NOTE] Хотя обычно рекомендуется переводить по одному языку за раз, в ситуациях, когда нужно добавить конкретные изменения, перевод на несколько языков одновременно может быть эффективным.

3. Обновление переводов (удаляет существующие переводы)

Чтобы обновить существующие переводы (то есть удалить текущие и заменить их новыми), используйте опцию -u. Она удалит все существующие переводы для указанных языков и выполнит повторный перевод.

translate -l "ko" -u

Внимание: эта команда запросит подтверждение перед удалением существующих переводов.

Пример на Phi-3 CookBook

В Phi-3 CookBook я использовал следующий способ для обновления всех переведённых файлов на испанский язык. Рекомендую этот метод при значительных изменениях в оригинальном содержимом в нескольких markdown-документах. Если нужно обновить лишь несколько файлов, эффективнее вручную удалить конкретные файлы, а затем использовать метод -a для добавления обновлённых переводов.

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l "es" -u
Warning: The update command will delete all existing translations for 'es' and re-translate everything.
Do you want to continue? Type 'yes' to proceed: yes
Proceeding with update...
Translating images: 100%|████████████████████████████████████████████| 150/150 [43:46<00:00, 15.55s/it]
Translating markdown files: 100%|███████████████████████████████████| 95/95 [1:40:27<00:00, 125.62s/it]

5. Перевод только изображений

Чтобы перевести только изображения в проекте, используйте опцию -img:

translate -l "ko" -img

Эта команда переведёт только изображения на корейский, не затрагивая markdown-файлы.

6. Перевод только markdown-файлов

Чтобы перевести только markdown-файлы, используйте опцию -md:

translate -l "ko" -md

7. Проверка ошибок в переведённых файлах

Если вы хотите проверить переведённые файлы на ошибки и при необходимости повторить перевод, используйте опцию -chk:

translate -l "ko" -chk

Эта команда просканирует переведённые markdown-файлы и повторит перевод для файлов с ошибками.

Пример на Phi-3 CookBook

В Phi-3 CookBook я использовал следующий способ для проверки ошибок перевода в корейских файлах и автоматического повторного перевода для файлов с обнаруженными проблемами.

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l"ko" -chk 
Checking translated files for errors in ko...
Checking files for ko: 100%|██████████████████████████████████████████████████| 95/95 [00:01<00:00, 65.47file/s]
Retrying vsc-extension-quickstart.md for ko:   0%|                                     | 0/17 [00:00<?, ?file/s] 

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

Например, этот метод полезен для обнаружения отсутствующих частей или повреждённых переводов и автоматически повторит перевод таких файлов.

Однако если вы уже знаете, какие файлы проблемные, эффективнее вручную удалить эти файлы и использовать опцию -a option to re-translate them.

8. Debug Mode

To enable detailed logging for troubleshooting, use the -d:

translate -l "ko" -d

Эта команда запустит перевод в режиме отладки, предоставляя дополнительную информацию в логах, которая поможет выявить проблемы в процессе перевода.

Пример на Phi-3 CookBook

В Phi-3 CookBook я столкнулся с проблемой, когда переводы с большим количеством ссылок в markdown-файлах вызывали ошибки форматирования, такие как повреждённые переводы и игнорируемые переносы строк. Для диагностики я использовал опцию -d, чтобы увидеть, как работает процесс перевода.

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l "ko" -d
DEBUG:openai._base_client:Request options: {'method': 'post', 'url': '/chat/completions', 'headers': {'api-key': 'af04e0bea45747d8a7b8c131c1971044'}, 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': "Translate the following text to ko. NEVER ADD ANY EXTRA CONTENT OUTSIDE THE TRANSLATION. TRANSLATE ONLY WHAT IS GIVEN TO YOU.. MAINTAIN MARKDOWN FORMAT\n\n# Phi-3 Cookbook: Hands-On Examples with Microsoft's Phi-3 Models [![Open and use the samples in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/microsoft/phi-3cookbook) [![Open in Dev Containers](https://img.shields.io/static/v1?style=for-the-badge&label=Dev%
...

9. Перевод на все языки

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

[!WARNING] Перевод на все языки одновременно может занять значительное время в зависимости от размера проекта. Например, перевод Phi-3 CookBook на испанский занял около 2 часов. Учитывая объём, нецелесообразно одному человеку заниматься переводом на 20 языков. Рекомендуется распределить работу между несколькими участниками, каждый из которых будет отвечать за один-два языка, и постепенно обновлять переводы.

translate -l "all"

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

[!TIP]

Ручное удаление переведённых файлов (по желанию)

Переведённые файлы теперь автоматически обнаруживаются и очищаются при обновлении исходного файла.

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

В Windows:

  1. Через Командную строку:
    • Откройте Командную строку.
    • Перейдите в папку с файлами с помощью команды cd.
    • Используйте следующую команду для удаления файлов:
      del /s *filename*
      

      Опция /s ищет файлы и в подкаталогах.

  2. Через PowerShell:
    • Откройте PowerShell.
    • Выполните команду:
      Get-ChildItem -Path "C:\YourPath" -Filter "*filename*" -Recurse | Remove-Item -Force
      

      Команда "C:\YourPath" with the folder path and filename with the specific name.

On macOS/Linux:

  1. Using Terminal:
    • Open Terminal.
    • Navigate to the directory with cd.
    • Use the find:
       find . -type f -name "*filename*" -delete
      

      Команда filename with the specific name.

Always double-check the files before deleting to avoid accidental loss.

Once you have deleted the files which need to be replace simply rerun your translate -l обновит самые свежие изменения файлов.

Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, просим учитывать, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для критически важной информации рекомендуется обращаться к профессиональному человеческому переводу. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.