co-op-translator

Logo

Co-op Translator: Automatize a Tradução de Documentação Educacional Sem Esforço

Automatique facilmente a tradução da sua documentação para vários idiomas e alcance um público global.

Python package License: MIT Downloads Downloads Code style: black

GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

Suporte a Idiomas Impulsionado pelo Co-op Translator

[!NOTE] Estas são as traduções atuais do conteúdo deste repositório. Para uma lista completa dos idiomas suportados pelo Co-op Translator, consulte a seção Language Support.

GitHub watchers GitHub forks GitHub stars

Azure AI Community Discord

Open in GitHub Codespaces Open in Dev Containers

Visão Geral: Simplifique a Tradução do Seu Conteúdo Educacional

As barreiras linguísticas dificultam significativamente o acesso a recursos educacionais valiosos e ao conhecimento técnico para aprendizes e desenvolvedores ao redor do mundo. Isso limita a participação e desacelera o ritmo da inovação e do aprendizado global.

Co-op Translator surgiu da necessidade de resolver o processo manual ineficiente de tradução para as séries educacionais em larga escala da Microsoft (como os guias “For Beginners”). Ele evoluiu para uma ferramenta poderosa e fácil de usar, projetada para derrubar essas barreiras para todos. Ao fornecer traduções automatizadas de alta qualidade via CLI e GitHub Actions, o Co-op Translator capacita educadores, estudantes, pesquisadores e desenvolvedores globalmente a compartilhar e acessar conhecimento sem limitações linguísticas.

Veja como o Co-op Translator organiza o conteúdo educacional traduzido:

Example

Arquivos Markdown e textos em imagens são traduzidos automaticamente e organizados em pastas específicas para cada idioma.

Desbloqueie o acesso global ao seu conteúdo educacional com o Co-op Translator hoje mesmo!

Apoio ao Acesso Global para os Recursos de Aprendizado da Microsoft

O Co-op Translator ajuda a reduzir a barreira linguística em iniciativas educacionais importantes da Microsoft, automatizando o processo de tradução para repositórios que atendem a uma comunidade global de desenvolvedores. Exemplos que já utilizam o Co-op Translator incluem:

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

Principais Funcionalidades

Como Funciona

Architecture

O Co-op Translator pega arquivos Markdown e imagens da sua pasta de projeto e os processa da seguinte forma:

  1. Extração de Texto: Extrai o texto dos arquivos Markdown e, se configurado (por exemplo, com Azure AI Vision), o texto embutido nas imagens.
  2. Tradução por IA: Envia o texto extraído para o LLM configurado (Azure OpenAI, OpenAI, etc.) para tradução.
  3. Salvamento do Resultado: Salva os arquivos Markdown traduzidos e as imagens (com o texto traduzido) em pastas específicas para cada idioma, preservando a formatação original.

Começando

Comece rapidamente com o CLI ou configure a automação completa com GitHub Actions. Escolha a abordagem que melhor se adapta ao seu fluxo de trabalho:

  1. Linha de Comando (CLI) - Para traduções pontuais ou controle manual
  2. GitHub Actions - Para traduções automatizadas a cada push

[!NOTE] Embora este tutorial foque em recursos do Azure, você pode usar qualquer modelo de linguagem suportado.

Suporte a Idiomas

O Co-op Translator suporta uma ampla variedade de idiomas para ajudar você a alcançar um público global. Aqui está o que você precisa saber:

Referência Rápida

Idioma Código Idioma Código Idioma Código
Árabe ar Bengali bn Búlgaro bg
Birmanês (Myanmar) my Chinês (Simplificado) zh Chinês (Tradicional, HK) hk
Chinês (Tradicional, Macau) mo Chinês (Tradicional, TW) tw Croata hr
Tcheco cs Dinamarquês da Holandês nl
Finlandês fi Francês fr Alemão de
Grego el Hebraico he Hindi hi
Húngaro hu Indonésio id Italiano it
Japonês ja Coreano ko Malaio ms
Marathi mr Nepali ne Norueguês no
Persa (Farsi) fa Polonês pl Português (Brasil) br
Português (Portugal) pt Punjabi (Gurmukhi) pa Romeno ro
Russo ru Sérvio (Cirílico) sr Eslovaco sk
Esloveno sl Espanhol es Suaíli sw
Sueco sv Tagalog (Filipino) tl Tailandês th
Turco tr Ucraniano uk Urdu ur
Vietnamita vi

Usando os Códigos de Idioma

Ao usar o Co-op Translator, você precisará especificar os idiomas usando seus códigos. Por exemplo:

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

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

[!NOTE] Para informações técnicas detalhadas sobre suporte a idiomas, incluindo:

Veja nossa Documentação de Idiomas Suportados.

Modelos e Serviços Suportados

Tipo Nome
Modelo de Linguagem Azure OpenAI OpenAI
Visão por IA Azure AI Vision

[!NOTE] Se um serviço de visão por IA não estiver disponível, o co-op translator alternará para o modo apenas Markdown.

Configuração Inicial

Antes de começar, você precisará configurar os seguintes recursos:

  1. Recurso de Modelo de Linguagem (Obrigatório):
    • Azure OpenAI (Recomendado) - Oferece traduções de alta qualidade com confiabilidade empresarial
    • OpenAI - Opção alternativa caso não tenha acesso ao Azure
    • Para informações detalhadas sobre modelos suportados, veja Modelos e Serviços Suportados
  2. Recurso de Visão por IA (Opcional):
    • Azure AI Vision - Permite tradução de texto dentro de imagens
    • Se não configurado, o tradutor usará automaticamente o modo apenas Markdown
    • Recomendado para projetos com imagens que contenham texto a ser traduzido
  3. Passos de Configuração:
    • Siga nosso guia de configuração do Azure AI para instruções detalhadas
    • Crie um arquivo .env com suas chaves de API e endpoints (veja a seção Quick Start)
    • Certifique-se de ter as permissões e cotas necessárias para os serviços escolhidos

Preparação do Projeto Antes da Tradução

Antes de iniciar o processo de tradução, siga estes passos para preparar seu projeto:

  1. Prepare seu README:
    • Adicione uma tabela de traduções no seu README.md para vincular às versões traduzidas
    • Formato de exemplo:

      
      ### 🌐 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. Limpe Traduções Existentes (se necessário):
    • Remova quaisquer pastas de tradução existentes (por exemplo, translations/)
    • Apague arquivos de tradução antigos para começar do zero
    • Isso evita conflitos com o novo processo de tradução

Início Rápido: Linha de Comando

Para começar rapidamente usando a linha de comando:

  1. Crie um ambiente virtual:

     python -m venv .venv
    
  2. Ative o ambiente virtual:

    • No Windows:
     .venv\scripts\activate
    
    • No Linux/macOS:
     source .venv/bin/activate
    
  3. Instale o pacote:

     pip install co-op-translator
    
  4. Configure as Credenciais:

    • Crie um arquivo .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 flag:
     translate -l "ko ja fr"
    

    (Substitua "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)

Solução de Problemas e Dicas

Recursos Adicionais

Apresentações em Vídeo

Saiba mais sobre o Co-op Translator através das nossas apresentações (Clique na imagem abaixo para assistir no YouTube.):

Apoie-nos e Incentive o Aprendizado Global

Junte-se a nós para revolucionar a forma como o conteúdo educacional é compartilhado globalmente! Dê uma ⭐ no Co-op Translator no GitHub e apoie nossa missão de eliminar barreiras linguísticas no aprendizado e na tecnologia. Seu interesse e contribuições fazem uma grande diferença! Contribuições de código e sugestões de funcionalidades são sempre bem-vindas.

Contribuindo

Este projeto aceita contribuições e sugestões. Interessado em colaborar com o Azure Co-op Translator? Por favor, consulte nosso CONTRIBUTING.md para orientações sobre como você pode ajudar a tornar o Co-op Translator mais acessível.

Colaboradores

co-op-translator contributors

Código de Conduta

Este projeto adotou o Microsoft Open Source Code of Conduct. Para mais informações, consulte o FAQ do Código de Conduta ou entre em contato pelo e-mail opencode@microsoft.com para quaisquer dúvidas ou comentários adicionais.

IA Responsável

A Microsoft está comprometida em ajudar nossos clientes a usar nossos produtos de IA de forma responsável, compartilhando nossos aprendizados e construindo parcerias baseadas na confiança por meio de ferramentas como Transparency Notes e Impact Assessments. Muitos desses recursos podem ser encontrados em https://aka.ms/RAI.
A abordagem da Microsoft para IA responsável está fundamentada em nossos princípios de IA: justiça, confiabilidade e segurança, privacidade e segurança, inclusão, transparência e responsabilidade.

Modelos de linguagem natural, imagem e fala em larga escala — como os usados neste exemplo — podem apresentar comportamentos que sejam injustos, pouco confiáveis ou ofensivos, causando danos. Consulte a Transparency note do serviço Azure OpenAI para se informar sobre riscos e limitações.

A abordagem recomendada para mitigar esses riscos é incluir um sistema de segurança na sua arquitetura que possa detectar e prevenir comportamentos prejudiciais. O Azure AI Content Safety oferece uma camada independente de proteção, capaz de detectar conteúdo gerado por usuários e por IA que seja prejudicial em aplicações e serviços. O Azure AI Content Safety inclui APIs de texto e imagem que permitem identificar material nocivo. Também dispomos do Content Safety Studio interativo, que permite visualizar, explorar e testar códigos de exemplo para detectar conteúdo prejudicial em diferentes modalidades. A seguinte documentação de início rápido orienta você a fazer requisições ao serviço.

Outro aspecto a considerar é o desempenho geral da aplicação. Em aplicações multimodais e com múltiplos modelos, consideramos desempenho como o sistema funcionando conforme você e seus usuários esperam, incluindo não gerar saídas prejudiciais. É importante avaliar o desempenho da sua aplicação como um todo usando métricas de qualidade de geração, risco e segurança.

Você pode avaliar sua aplicação de IA no ambiente de desenvolvimento usando o prompt flow SDK. Com um conjunto de dados de teste ou um objetivo definido, as gerações da sua aplicação de IA generativa são medidas quantitativamente com avaliadores integrados ou avaliadores personalizados de sua escolha. Para começar a usar o prompt flow sdk para avaliar seu sistema, siga o guia de início rápido. Após executar uma avaliação, você pode visualizar os resultados no Azure AI Studio.

Marcas Registradas

Este projeto pode conter marcas registradas ou logotipos de projetos, produtos ou serviços. O uso autorizado das marcas ou logotipos da Microsoft está sujeito e deve seguir as Diretrizes de Marca e Uso de Marcas Registradas da Microsoft.
O uso de marcas ou logotipos da Microsoft em versões modificadas deste projeto não deve causar confusão nem implicar patrocínio da Microsoft.
Qualquer uso de marcas ou logotipos de terceiros está sujeito às políticas desses terceiros.

Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução automática Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.