co-op-translator

Logo

Co-op Translator: Автоматизируйте перевод образовательной документации без усилий

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

Python package License: MIT Downloads Downloads Code style: black

GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

Поддержка языков на базе Co-op Translator

Французский | Испанский | Немецкий | Русский | Арабский | Персидский (фарси) | Урду | Китайский (упрощенный) | Китайский (традиционный, Макао) | Китайский (традиционный, Гонконг) | Китайский (традиционный, Тайвань) | Японский | Корейский | Хинди | Бенгальский | Маратхи | Непальский | Пенджабский (гурмукхи) | Португальский (Португалия) | Португальский (Бразилия) | Итальянский | Польский | Турецкий | Греческий | Тайский | Шведский | Датский | Норвежский | Финский | Нидерландский | Иврит | Вьетнамский | Индонезийский | Малайский | Тагалог (филиппинский) | Свахили | Венгерский | Чешский | Словацкий | Румынский | Болгарский | Сербский (кириллица) | Хорватский | Словенский | Украинский | Бирманский (Мьянма)

[!NOTE] Это текущие переводы содержимого этого репозитория. Для полного списка языков, поддерживаемых Co-op Translator, см. раздел Language Support.

GitHub watchers GitHub forks GitHub stars

Azure AI Community Discord

Open in GitHub Codespaces Open in Dev Containers

Обзор: Оптимизируйте перевод вашего образовательного контента

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

Co-op Translator возник из необходимости решить проблему неэффективного ручного перевода масштабных образовательных серий Microsoft (например, руководств «Для начинающих»). Сейчас это удобный и мощный инструмент, созданный, чтобы разрушить эти барьеры для всех. Предоставляя качественный автоматический перевод через CLI и GitHub Actions, Co-op Translator помогает преподавателям, студентам, исследователям и разработчикам со всего мира свободно делиться знаниями и получать к ним доступ без языковых ограничений.

Посмотрите, как Co-op Translator организует переведённый образовательный контент:

Example

Файлы Markdown и текст на изображениях автоматически переводятся и аккуратно сортируются по папкам для каждого языка.

Откройте глобальный доступ к вашему образовательному контенту с Co-op Translator уже сегодня!

Поддержка глобального доступа к образовательным ресурсам Microsoft

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

Generative-AI-for-beginners ML-For-Beginners AI-For-Beginners ai-agents-for-beginners PhiCookBook Generative-AI-for-beginners-dotnet

Основные возможности

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

Architecture

Co-op Translator обрабатывает Markdown-файлы и изображения из вашей папки проекта следующим образом:

  1. Извлечение текста: Извлекает текст из Markdown-файлов и, если настроено (например, с Azure AI Vision), из текста на изображениях.
  2. AI-перевод: Отправляет извлечённый текст в выбранную LLM (Azure OpenAI, OpenAI и др.) для перевода.
  3. Сохранение результатов: Сохраняет переведённые Markdown-файлы и изображения (с переведённым текстом) в папках, соответствующих языкам, сохраняя исходное форматирование.

Начало работы

Быстро начните работу с помощью CLI или настройте полную автоматизацию с GitHub Actions. Выберите подход, который лучше всего подходит для вашего рабочего процесса:

  1. Командная строка (CLI) — для одноразовых переводов или ручного управления
  2. GitHub Actions — для автоматического перевода при каждом пуше

[!NOTE] В этом руководстве основное внимание уделяется ресурсам Azure, но вы можете использовать любую поддерживаемую языковую модель.

Поддержка языков

Co-op Translator поддерживает широкий спектр языков, чтобы помочь вам охватить глобальную аудиторию. Вот что нужно знать:

Быстрая справка

Язык Код Язык Код Язык Код
Arabic ar Bengali bn Bulgarian bg
Burmese (Myanmar) my Chinese (Simplified) zh Chinese (Traditional, HK) hk
Chinese (Traditional, Macau) mo Chinese (Traditional, TW) tw Croatian hr
Czech cs Danish da Dutch nl
Finnish fi French fr German de
Greek el Hebrew he Hindi hi
Hungarian hu Indonesian id Italian it
Japanese ja Korean ko Malay ms
Marathi mr Nepali ne Norwegian no
Persian (Farsi) fa Polish pl Portuguese (Brazil) br
Portuguese (Portugal) pt Punjabi (Gurmukhi) pa Romanian ro
Russian ru Serbian (Cyrillic) sr Slovak sk
Slovenian sl Spanish es Swahili sw
Swedish sv Tagalog (Filipino) tl Thai th
Turkish tr Ukrainian uk Urdu ur
Vietnamese vi

Использование языковых кодов

При работе с Co-op Translator нужно указывать языки через их коды. Например:

# Translate to French, Spanish, and German
translate -l "fr es de"

# Translate to Chinese (Simplified) and Japanese
translate -l "zh ja"

[!NOTE] Для подробной технической информации о поддержке языков, включая:

смотрите Документацию по поддерживаемым языкам.

Поддерживаемые модели и сервисы

Тип Название
Языковая модель Azure OpenAI OpenAI
AI Vision Azure AI Vision

[!NOTE] Если сервис AI Vision недоступен, Co-op Translator переключится в режим только Markdown.

Первоначальная настройка

Перед началом работы необходимо подготовить следующие ресурсы:

  1. Ресурс языковой модели (обязательно):
    • Azure OpenAI (рекомендуется) — обеспечивает качественный перевод с корпоративной надёжностью
    • OpenAI — альтернатива, если нет доступа к Azure
    • Для подробной информации о поддерживаемых моделях смотрите Supported Models and Services
  2. Ресурс AI Vision (опционально):
    • Azure AI Vision — позволяет переводить текст на изображениях
    • Если не настроен, переводчик автоматически перейдёт в режим только Markdown
    • Рекомендуется для проектов с изображениями, содержащими текст для перевода
  3. Шаги настройки:
    • Следуйте нашему руководству по настройке Azure AI для подробных инструкций
    • Создайте файл .env с вашими API-ключами и конечными точками (см. раздел Quick Start)
    • Убедитесь, что у вас есть необходимые разрешения и квоты для выбранных сервисов

Подготовка проекта перед переводом

Перед началом перевода выполните следующие шаги для подготовки проекта:

  1. Подготовьте README:
    • Добавьте таблицу с переводами в README.md для ссылок на переведённые версии
    • Пример формата:

      
      ### 🌐 Multi-Language Support
           
      [French](/co-op-translator/translations/fr/) | [Spanish](/co-op-translator/translations/es/) | [German](/co-op-translator/translations/de/) | [Russian](/co-op-translator/translations/ru/) | [Arabic](/co-op-translator/translations/ar/) | [Persian (Farsi)](/co-op-translator/translations/fa/) | [Urdu](/co-op-translator/translations/ur/) | [Chinese (Simplified)](/co-op-translator/translations/zh/) | [Chinese (Traditional, Macau)](/co-op-translator/translations/mo/) | [Chinese (Traditional, Hong Kong)](/co-op-translator/translations/hk/) | [Chinese (Traditional, Taiwan)](/co-op-translator/translations/tw/) | [Japanese](/co-op-translator/translations/ja/) | [Korean](/co-op-translator/translations/ko/) | [Hindi](/co-op-translator/translations/hi/) | [Bengali](/co-op-translator/translations/bn/) | [Marathi](/co-op-translator/translations/mr/) | [Nepali](/co-op-translator/translations/ne/) | [Punjabi (Gurmukhi)](/co-op-translator/translations/pa/) | [Portuguese (Portugal)](/co-op-translator/translations/pt/) | [Portuguese (Brazil)](/co-op-translator/translations/br/) | [Italian](/co-op-translator/translations/it/) | [Polish](/co-op-translator/translations/pl/) | [Turkish](/co-op-translator/translations/tr/) | [Greek](/co-op-translator/translations/el/) | [Thai](/co-op-translator/translations/th/) | [Swedish](/co-op-translator/translations/sv/) | [Danish](/co-op-translator/translations/da/) | [Norwegian](/co-op-translator/translations/no/) | [Finnish](/co-op-translator/translations/fi/) | [Dutch](/co-op-translator/translations/nl/) | [Hebrew](/co-op-translator/translations/he/) | [Vietnamese](/co-op-translator/translations/vi/) | [Indonesian](/co-op-translator/translations/id/) | [Malay](/co-op-translator/translations/ms/) | [Tagalog (Filipino)](/co-op-translator/translations/tl/) | [Swahili](/co-op-translator/translations/sw/) | [Hungarian](/co-op-translator/translations/hu/) | [Czech](/co-op-translator/translations/cs/) | [Slovak](/co-op-translator/translations/sk/) | [Romanian](/co-op-translator/translations/ro/) | [Bulgarian](/co-op-translator/translations/bg/) | [Serbian (Cyrillic)](/co-op-translator/translations/sr/) | [Croatian](/co-op-translator/translations/hr/) | [Slovenian](/co-op-translator/translations/sl/) | [Ukrainian](/co-op-translator/translations/uk/) | [Burmese (Myanmar)](/co-op-translator/translations/my/) 
          
      
  2. Очистите существующие переводы (если необходимо):
    • Удалите все существующие папки с переводами (например, translations/)
    • Удалите старые файлы переводов, чтобы начать с чистого листа
    • Это предотвратит конфликты с новым процессом перевода

Быстрый старт: командная строка

Для быстрого старта с помощью командной строки:

  1. Создайте виртуальное окружение:

     python -m venv .venv
    
  2. Активируйте виртуальное окружение:

    • В Windows:
     .venv\scripts\activate
    
    • В Linux/macOS:
     source .venv/bin/activate
    
  3. Установите пакет:

     pip install co-op-translator
    
  4. Настройте учетные данные:

    • Создайте файл .env file in your project’s root directory.
    • Copy the contents from the .env.template file into your new .env file.
    • Fill in the required API keys and endpoint information in your .env file.
  5. Run Translation:

    • Navigate to your project’s root directory in your terminal.
    • Execute the translate command, specifying target languages with the -l флаг:
     translate -l "ko ja fr"
    

(Замените "ko ja fr" with your desired space-separated language codes)

Detailed Usage Guides

Choose the approach that best fits your workflow:

1. Using the Command Line (CLI)

2. Using GitHub Actions (Automation)

Устранение неполадок и советы

Дополнительные ресурсы

Видеопрезентации

Узнайте больше о Co-op Translator через наши презентации (нажмите на изображение ниже, чтобы посмотреть на YouTube):

Поддержите нас и способствуйте глобальному обучению

Присоединяйтесь к нам в революции обмена образовательным контентом по всему миру! Поставьте ⭐ проекту Co-op Translator на GitHub и поддержите нашу миссию по устранению языковых барьеров в обучении и технологиях. Ваш интерес и вклад имеют большое значение! Мы всегда рады вашим предложениям и коду.

Участие в проекте

Этот проект приветствует ваши идеи и вклад. Хотите помочь развитию Azure Co-op Translator? Ознакомьтесь с нашими рекомендациями в CONTRIBUTING.md, чтобы узнать, как сделать Co-op Translator более доступным.

Участники проекта

co-op-translator contributors

Кодекс поведения

В этом проекте принят Microsoft Open Source Code of Conduct. Для получения дополнительной информации смотрите Часто задаваемые вопросы о Кодексе поведения или свяжитесь с нами по адресу opencode@microsoft.com для любых вопросов или комментариев.

Ответственный ИИ

Microsoft стремится помочь своим клиентам использовать наши ИИ-продукты ответственно, делиться опытом и строить доверительные партнерства с помощью таких инструментов, как Transparency Notes и Impact Assessments. Многие из этих ресурсов доступны по адресу https://aka.ms/RAI. Подход Microsoft к ответственному ИИ основан на принципах справедливости, надежности и безопасности, конфиденциальности и защиты, инклюзивности, прозрачности и подотчетности.

Крупномасштабные модели обработки естественного языка, изображений и речи — как те, что используются в этом примере — могут иногда вести себя несправедливо, ненадежно или оскорбительно, что может причинять вред. Пожалуйста, ознакомьтесь с Transparency note для Azure OpenAI service, чтобы узнать о рисках и ограничениях.

Рекомендуемый способ снижения этих рисков — включить в архитектуру систему безопасности, способную выявлять и предотвращать вредоносное поведение. Azure AI Content Safety предоставляет независимый уровень защиты, позволяющий обнаруживать вредоносный контент, созданный пользователями и ИИ, в приложениях и сервисах. Azure AI Content Safety включает API для текста и изображений, которые помогают выявлять вредоносные материалы. Также у нас есть интерактивная Content Safety Studio, позволяющая просматривать, исследовать и тестировать пример кода для обнаружения вредоносного контента в разных форматах. Следующая документация для быстрого старта поможет вам сделать запросы к сервису.

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

Вы можете оценивать свое ИИ-приложение в среде разработки с помощью prompt flow SDK. Имея тестовый набор данных или цель, генерации вашего генеративного ИИ оцениваются количественно с помощью встроенных или настраиваемых оценщиков. Чтобы начать работу с prompt flow sdk для оценки вашей системы, воспользуйтесь руководством по быстрому старту. После выполнения оценки вы можете визуализировать результаты в Azure AI Studio.

Торговые марки

В этом проекте могут использоваться торговые марки или логотипы проектов, продуктов или сервисов. Авторизованное использование торговых марок или логотипов Microsoft регулируется и должно соответствовать Microsoft’s Trademark & Brand Guidelines. Использование торговых марок или логотипов Microsoft в изменённых версиях проекта не должно вводить в заблуждение или создавать впечатление спонсорства со стороны Microsoft. Использование торговых марок или логотипов третьих сторон регулируется политиками этих третьих сторон.

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