mirror of
https://github.com/Azure/co-op-translator
synced 2026-08-09 12:00:08 +00:00
245 lines
18 KiB
Markdown
245 lines
18 KiB
Markdown
# Co-op Translator
|
||
|
||
_Automatize e mantenha facilmente traduções do seu conteúdo educativo no GitHub em múltiplos idiomas à medida que o seu projeto evolui._
|
||
|
||

|
||
[](https://pypi.org/project/co-op-translator/)
|
||
[](https://github.com/azure/co-op-translator/blob/main/LICENSE)
|
||
[](https://pepy.tech/project/co-op-translator)
|
||
[](https://pepy.tech/project/co-op-translator)
|
||
[](https://github.com/azure/co-op-translator/pkgs/container/co-op-translator)
|
||
[](https://github.com/psf/black)
|
||
|
||
[](https://GitHub.com/azure/co-op-translator/graphs/contributors/)
|
||
[](https://GitHub.com/azure/co-op-translator/issues/)
|
||
[](https://GitHub.com/azure/co-op-translator/pulls/)
|
||
[](http://makeapullrequest.com)
|
||
|
||
**Comece aqui:** [Escolha o seu fluxo de trabalho](https://azure.github.io/co-op-translator/workflows/) | [Configuração](https://azure.github.io/co-op-translator/configuration/) | [CLI](https://azure.github.io/co-op-translator/cli/) | [API Python](https://azure.github.io/co-op-translator/api/) | [Servidor MCP](https://azure.github.io/co-op-translator/mcp/)
|
||
|
||
### 🌐 Suporte Multilíngue
|
||
|
||
#### Suportado por [Co-op Translator](https://github.com/Azure/co-op-translator)
|
||
|
||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||
[Árabe](../ar/README.md) | [Bengalês](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh-CN/README.md) | [Chinês (Tradicional, Hong Kong)](../zh-HK/README.md) | [Chinês (Tradicional, Macau)](../zh-MO/README.md) | [Chinês (Tradicional, Taiwan)](../zh-TW/README.md) | [Croata](../hr/README.md) | [Checo](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estónio](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalês](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polaco](../pl/README.md) | [Português (Brasil)](../pt-BR/README.md) | [Português (Portugal)](./README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tâmil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
|
||
|
||
> **Prefere clonar localmente?**
|
||
>
|
||
> Este repositório inclui mais de 50 traduções de idiomas, o que aumenta significativamente o tamanho do download. Para clonar sem as traduções, use sparse checkout:
|
||
>
|
||
> **Bash / macOS / Linux:**
|
||
> ```bash
|
||
> git clone --filter=blob:none --sparse https://github.com/Azure/co-op-translator.git
|
||
> cd co-op-translator
|
||
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
|
||
> ```
|
||
>
|
||
> **CMD (Windows):**
|
||
> ```cmd
|
||
> git clone --filter=blob:none --sparse https://github.com/Azure/co-op-translator.git
|
||
> cd co-op-translator
|
||
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
|
||
> ```
|
||
>
|
||
> Isto dá-lhe tudo o que precisa para completar o curso com um download muito mais rápido.
|
||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||
|
||
[](https://GitHub.com/azure/co-op-translator/watchers/)
|
||
[](https://GitHub.com/azure/co-op-translator/network/)
|
||
[](https://GitHub.com/azure/co-op-translator/stargazers/)
|
||
|
||
[](https://discord.gg/nTYy5BXMWG)
|
||
|
||
[](https://codespaces.new/azure/co-op-translator)
|
||
|
||
## Visão geral
|
||
|
||
**Co-op Translator** ajuda a localizar o seu conteúdo educativo do GitHub em múltiplos idiomas sem esforço.
|
||
Quando atualiza os seus ficheiros Markdown, imagens ou notebooks, as traduções mantêm-se automaticamente sincronizadas, assegurando que o seu conteúdo permanece preciso e atualizado para alunos em todo o mundo.
|
||
|
||
Use-o a partir da CLI para traduzir repositórios, a partir da API Python para automatização, ou através do servidor MCP para fluxos de trabalho com agentes e editores.
|
||
|
||
Exemplo de como o conteúdo traduzido é organizado:
|
||
|
||

|
||
|
||
## Porque o Co-op Translator?
|
||
|
||
Traduzir um ficheiro é fácil. Manter um repositório inteiro de documentação
|
||
traduzido, ligado e atualizado é a parte difícil.
|
||
|
||
| Problema | Como o Co-op Translator ajuda |
|
||
| --- | --- |
|
||
| Long docs are not one prompt | Ficheiros Markdown grandes são divididos em blocos, de modo que um README longo não depende de uma única resposta frágil do modelo. Se um bloco falhar, o Co-op Translator pode tentar novamente e voltar a dividir apenas a parte falhada. |
|
||
| Incomplete translations should not be marked current | Uma tradução truncada nunca deve ser assinalada como atual. O Co-op Translator verifica a integridade da tradução antes de guardar e pode detetar traduções existentes estruturalmente incompletas. |
|
||
| Links should match the translated repo structure | Traduções manuais frequentemente deixam links relativos apontando de volta para a árvore de origem. O Co-op Translator reescreve ligações em Markdown, notebooks, imagens e README para corresponder à estrutura `translations/<lang>/...`. |
|
||
| Translation should work across an entire repo | O Co-op Translator trata ficheiros README, documentação, notebooks e texto de imagens como parte de um único fluxo de trabalho do repositório, em vez de traduzir ficheiros um a um. |
|
||
| Maintaining translations matters more than creating them once | Hashes de origem e metadados de tradução permitem ao Co-op Translator encontrar ficheiros desatualizados, saltar ficheiros não alterados e manter o conteúdo traduzido sincronizado à medida que o repositório fonte evolui. |
|
||
|
||
## Como é gerido o estado da tradução
|
||
|
||
O Co-op Translator gere o conteúdo traduzido como **artefactos de software versionados**,
|
||
não como ficheiros estáticos.
|
||
|
||
A ferramenta rastreia o estado de Markdown, imagens e notebooks traduzidos
|
||
usando **metadados com âmbito por idioma**.
|
||
|
||
Este design permite ao Co-op Translator:
|
||
|
||
- Detetar fiavelmente traduções desatualizadas
|
||
- Tratar Markdown, imagens e notebooks de forma consistente
|
||
- Escalar com segurança em repositórios grandes, dinâmicos e multilíngues
|
||
|
||
Ao modelar traduções como artefactos geridos,
|
||
os fluxos de trabalho de tradução alinham-se naturalmente com as práticas modernas
|
||
de gestão de dependências e artefactos de software.
|
||
|
||
→ [Como é gerido o estado da tradução](https://techcommunity.microsoft.com/blog/azuredevcommunityblog/rethinking-documentation-translation-treating-translations-as-versioned-software/4491755)
|
||
|
||
### Leituras aprofundadas relacionadas
|
||
|
||
- [Corrigindo Markdown quebrado na tradução por IA: Reforço de uma pipeline de produção](https://techcommunity.microsoft.com/blog/azuredevcommunityblog/fixing-broken-markdown-in-ai-translation-hardening-a-production-pipeline/4511378)
|
||
|
||
## Começar
|
||
|
||
O Co-op Translator pode ser usado a partir da CLI, da API Python, ou do servidor MCP. Comece pelo guia de fluxo de trabalho se estiver a escolher entre tradução local, automatização, CI, e integração com agentes/editors.
|
||
|
||
- [Escolha o seu fluxo de trabalho](../../docs/workflows.md)
|
||
- [Configurar credenciais](../../docs/configuration.md)
|
||
- [Traduzir a partir da CLI](../../docs/cli.md)
|
||
- [Automatizar com a API Python](../../docs/api.md)
|
||
- [Ligar ao servidor MCP](../../docs/mcp.md)
|
||
- [Executar no GitHub Actions](../../docs/github-actions.md)
|
||
|
||
Exemplo mínimo de CLI após a configuração:
|
||
|
||
```bash
|
||
python -m venv .venv
|
||
# Windows
|
||
.venv\Scripts\activate
|
||
# macOS/Linux
|
||
source .venv/bin/activate
|
||
|
||
pip install co-op-translator
|
||
translate -l "ko" -md
|
||
co-op-review -l "ko"
|
||
```
|
||
|
||
Para as primeiras execuções em repositórios grandes, use `--dry-run` antes de escrever ficheiros traduzidos. Veja a [Referência da CLI](../../docs/cli.md) para flags de tipo de conteúdo, logs, revisão e migração de links.
|
||
|
||
Execução rápida em contentor com Bash/Zsh:
|
||
|
||
```bash
|
||
docker run --rm -it --env-file .env -v "${PWD}:/work" ghcr.io/azure/co-op-translator:latest -l "ko" -md
|
||
```
|
||
|
||
Execução rápida em contentor com PowerShell:
|
||
|
||
```powershell
|
||
docker run --rm -it --env-file .env -v ${PWD}:/work ghcr.io/azure/co-op-translator:latest -l "ko" -md
|
||
```
|
||
|
||
## Funcionalidades
|
||
|
||
- Tradução automatizada para Markdown, notebooks e imagens
|
||
- Mantém as traduções sincronizadas com as alterações de origem
|
||
- Funciona localmente (CLI) ou em CI (GitHub Actions)
|
||
- Expõe ferramentas de tradução de Markdown, notebooks, imagens, revisão e projetos através do MCP
|
||
- Usa Azure OpenAI ou OpenAI para tradução suportada por fornecedor
|
||
- Permite que o MCP hospede agentes que traduzem blocos de Markdown e notebooks sem credenciais LLM do Co-op Translator
|
||
- Usa Azure AI Vision para extração e tradução de texto em imagens
|
||
- Revê a estrutura e a atualidade das traduções com verificações determinísticas
|
||
- Preserva a formatação e estrutura do Markdown
|
||
|
||
## Documentação
|
||
|
||
- [Site da documentação](https://azure.github.io/co-op-translator/)
|
||
- [Escolha o seu fluxo de trabalho](../../docs/workflows.md)
|
||
- [Configuração](../../docs/configuration.md)
|
||
- [Configuração do Azure AI](../../docs/azure-ai-setup.md)
|
||
- [Referência da CLI](../../docs/cli.md)
|
||
- [API Python](../../docs/api.md)
|
||
- [Servidor MCP](../../docs/mcp.md)
|
||
- [GitHub Actions](../../docs/github-actions.md)
|
||
- [Modelo de README de idiomas](../../docs/readme-languages-template.md)
|
||
- [Idiomas suportados](../../docs/supported-languages.md)
|
||
- [Contribuir](../../CONTRIBUTING.md)
|
||
- [Resolução de problemas](../../docs/troubleshooting.md)
|
||
|
||
### Guia específico da Microsoft
|
||
> [!NOTE]
|
||
> Para mantenedores dos repositórios Microsoft “For Beginners” apenas.
|
||
|
||
- [Atualizar a lista “outros cursos” (apenas para repositórios MS Beginners)](../../docs/microsoft-beginners.md)
|
||
|
||
## Apoie-nos e promova a aprendizagem global
|
||
|
||
Junte-se a nós na revolução de como o conteúdo educativo é partilhado globalmente! Dê uma ⭐ ao [Co-op Translator](https://github.com/azure/co-op-translator) no GitHub e apoie a nossa missão de derrubar barreiras linguísticas na aprendizagem e tecnologia. O seu interesse e contributos têm um impacto significativo! Contribuições de código e sugestões de funcionalidades são sempre bem-vindas.
|
||
|
||
### Explore o conteúdo educativo da Microsoft no seu idioma
|
||
- [LangChain4j-for-Beginners](https://github.com/microsoft/LangChain4j-for-Beginners)
|
||
- [AZD for Beginners](https://github.com/microsoft/AZD-for-beginners)
|
||
- [Edge AI for Beginners](https://github.com/microsoft/edgeai-for-beginners)
|
||
- [Model Context Protocol (MCP) For Beginners](https://github.com/microsoft/mcp-for-beginners)
|
||
- [AI Agents for Beginners](https://github.com/microsoft/ai-agents-for-beginners)
|
||
- [Generative AI for Beginners using .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
|
||
- [Generative AI for Beginners](https://github.com/microsoft/generative-ai-for-beginners)
|
||
- [Generative AI for Beginners using Java](https://github.com/microsoft/generative-ai-for-beginners-java)
|
||
- [ML for Beginners](https://aka.ms/ml-beginners)
|
||
- [Data Science for Beginners](https://aka.ms/datascience-beginners)
|
||
- [AI for Beginners](https://aka.ms/ai-beginners)
|
||
- [Cybersecurity for Beginners](https://github.com/microsoft/Security-101)
|
||
- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
|
||
- [IoT for Beginners](https://aka.ms/iot-beginners)
|
||
- [PhiCookBook](https://github.com/microsoft/PhiCookBook)
|
||
|
||
## Apresentações em vídeo
|
||
|
||
👉 Clique na imagem abaixo para assistir no YouTube.
|
||
|
||
- **Open na Microsoft**: Uma breve introdução de 18 minutos e um guia rápido sobre como usar o Co-op Translator.
|
||
|
||
[](https://www.youtube.com/watch?v=jX_swfH_KNU)
|
||
|
||
## Contribuir
|
||
|
||
Este projeto aceita contribuições e sugestões. Tem interesse em contribuir para o Azure Co-op Translator? Consulte o nosso [CONTRIBUTING.md](../../CONTRIBUTING.md) para obter diretrizes sobre como pode ajudar a tornar o Co-op Translator mais acessível.
|
||
|
||
## Contribuidores
|
||
|
||
[](https://github.com/Azure/co-op-translator/graphs/contributors)
|
||
|
||
## Código de Conduta
|
||
|
||
Este projeto adotou o [Código de Conduta de Código Aberto da Microsoft](https://opensource.microsoft.com/codeofconduct/).
|
||
Para mais informações consulte as [Perguntas Frequentes sobre o Código de Conduta](https://opensource.microsoft.com/codeofconduct/faq/) ou contacte [opencode@microsoft.com](mailto:opencode@microsoft.com) para quaisquer perguntas ou comentários adicionais.
|
||
|
||
## IA Responsável
|
||
|
||
A Microsoft compromete-se a ajudar os nossos clientes a utilizar os nossos produtos de IA de forma responsável, a partilhar os nossos aprendizados e a construir parcerias baseadas na confiança através de ferramentas como Notas de Transparência e Avaliações de Impacto. Muitos destes recursos podem ser encontrados em [https://aka.ms/RAI](https://aka.ms/RAI).
|
||
A abordagem da Microsoft à IA responsável está fundamentada nos nossos princípios de IA de equidade, fiabilidade e segurança, privacidade e segurança, inclusão, transparência e responsabilidade.
|
||
|
||
Modelos de linguagem natural, imagem e fala de grande escala — como os utilizados neste exemplo — podem potencialmente comportar-se de maneiras que sejam injustas, pouco fiáveis ou ofensivas, causando danos. Consulte a [Nota de Transparência do serviço Azure OpenAI](https://learn.microsoft.com/legal/cognitive-services/openai/transparency-note?tabs=text) para se informar sobre riscos e limitações.
|
||
|
||
A abordagem recomendada para mitigar estes riscos é incluir um sistema de segurança na sua arquitetura que consiga detetar e prevenir comportamentos prejudiciais. [Azure AI Content Safety](https://learn.microsoft.com/azure/ai-services/content-safety/overview) fornece uma camada independente de proteção, capaz de detetar conteúdo prejudicial gerado por utilizadores e por IA em aplicações e serviços. O Azure AI Content Safety inclui APIs de texto e imagem que lhe permitem detetar material que é prejudicial. Também temos um Content Safety Studio interativo que lhe permite ver, explorar e experimentar exemplos de código para detetar conteúdo prejudicial em diferentes modalidades. A seguinte [documentação de início rápido](https://learn.microsoft.com/azure/ai-services/content-safety/quickstart-text?tabs=visual-studio%2Clinux&pivots=programming-language-rest) orienta-o na realização de pedidos ao serviço.
|
||
|
||
Outro aspeto a ter em conta é o desempenho global da aplicação. Em aplicações multimodais e com múltiplos modelos, consideramos desempenho o facto de o sistema funcionar como espera, incluindo não gerar saídas prejudiciais. É importante avaliar o desempenho da sua aplicação global utilizando [métricas de qualidade de geração e de risco e segurança](https://learn.microsoft.com/azure/ai-studio/concepts/evaluation-metrics-built-in).
|
||
|
||
Pode avaliar a sua aplicação de IA no seu ambiente de desenvolvimento usando o [prompt flow SDK](https://microsoft.github.io/promptflow/index.html). Com um conjunto de dados de teste ou um objetivo, as gerações da sua aplicação de IA generativa são medidas quantitativamente com avaliadores integrados ou avaliadores personalizados à sua escolha. Para começar com o prompt flow SDK para avaliar o seu sistema, pode seguir o [guia de início rápido](https://learn.microsoft.com/azure/ai-studio/how-to/develop/flow-evaluate-sdk). Depois de executar uma execução de avaliação, pode [visualizar os resultados no Azure AI Studio](https://learn.microsoft.com/azure/ai-studio/how-to/evaluate-flow-results).
|
||
|
||
## Marcas registadas
|
||
|
||
Este projeto pode conter marcas registadas ou logótipos de projetos, produtos ou serviços. A utilização autorizada de marcas ou logótipos da Microsoft está sujeita e deve seguir as [Diretrizes de Marcas e Identidade da Microsoft](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
|
||
A utilização de marcas ou logótipos da Microsoft em versões modificadas deste projeto não deve causar confusão nem implicar patrocínio da Microsoft.
|
||
Qualquer utilização de marcas ou logótipos de terceiros está sujeita às políticas desses terceiros.
|
||
|
||
## Obter Ajuda
|
||
|
||
Se ficar bloqueado ou tiver alguma questão sobre a criação de aplicações de IA, junte-se:
|
||
|
||
[](https://discord.gg/nTYy5BXMWG)
|
||
|
||
Se tiver feedback sobre o produto ou encontrar erros durante o desenvolvimento, visite:
|
||
|
||
[](https://aka.ms/foundry/forum) |