Automatize facilmente traduções multilíngues para seus projetos com tradutor cooperativo, desenvolvido com tecnologia LLM avançada e serviços de IA do Azure.
Co-op Translator é um pacote Python projetado para automatizar traduções multilíngues para seus projetos usando tecnologia avançada Large Language Model (LLM) e Azure AI Services. Este projeto visa simplificar o processo de tradução de conteúdo para vários idiomas, tornando-o acessível e eficiente para os desenvolvedores.
Ao integrar o Co-op Translator ao seu fluxo de trabalho, você pode gerar automaticamente pastas de tradução organizadas para diferentes idiomas e traduzir arquivos e imagens Markdown sem esforço.
Aqui está um exemplo de como o Co-op Translator estrutura as traduções e traduz arquivos Markdown e texto dentro de imagens em seu projeto:
Você teve dificuldades com as ferramentas de tradução tradicionais ao trabalhar com arquivos Markdown? Muitos mecanismos de tradução não preservam a sintaxe do Markdown, forçando você a corrigir manualmente os problemas de formatação após a tradução. Mesmo ferramentas avançadas como ChatGPT podem interpretar mal os blocos de código, dificultando a cópia e colagem do conteúdo traduzido, mantendo a estrutura original.
O Co-op Translator foi projetado especificamente para resolver esses problemas. Com um único comando, você pode traduzir todos os arquivos e imagens Markdown do seu projeto para qualquer idioma desejado, preservando a sintaxe correta do Markdown.
Traduza os arquivos Markdown do seu projeto sem esforço com o Co-op Translator!
O processo começa com Markdown e arquivos de imagem da pasta do projeto, que são processados pelos Serviços de IA do Azure :
O Markdown final traduzido e os arquivos de imagem são salvos na pasta de tradução designada, prontos para serem usados em vários idiomas.
pip install co-op-translator
poetry add co-op-translator
Estes estudos de caso mostram como o Co-op Translator foi aplicado para traduzir um projeto do mundo real. Destaca o processo de tradução, os desafios encontrados e os resultados alcançados, fornecendo uma referência útil para a aplicação da ferramenta em projetos semelhantes.
Antes de iniciar o processo de tradução, você pode adicionar uma tabela no README com links para as versões traduzidas do seu documento. O Co-op Translator ajustará automaticamente esses links durante o processo de tradução, permitindo que os usuários alternem facilmente entre versões de diferentes idiomas.
Por exemplo, se um usuário navegar para o README coreano, ele poderá facilmente mudar para outras traduções, como espanhol ou japonês, sem sair da página traduzida.
Aqui está um exemplo de como a tabela deve ficar antes de executar a tradução:
## ? Multi-Language Support
> ** Note: **
> These translations were automatically generated using the open-source [ co-op-translator ] ( https://github.com/Azure/co-op-translator ) and may contain errors or inaccuracies. For critical information, it is recommended to refer to the original or consult a professional human translation. If you'd like to add or update a translation, please refer to the [ co-op-translator ] ( https://github.com/Azure/co-op-translator ) repository, where you can easily contribute using simple commands.
| Language | Code | Link to Translated README | Last Updated |
| ---------------------- | ------ | --------------------------------------------------------- | -------------- |
| Chinese (Simplified) | zh | [ Chinese Translation ] ( ./translations/zh/README.md ) | 2024-10-04 |
| Chinese (Traditional) | tw | [ Chinese Translation ] ( ./translations/tw/README.md ) | 2024-10-04 |
| French | fr | [ French Translation ] ( ./translations/fr/README.md ) | 2024-10-04 |
| Japanese | ja | [ Japanese Translation ] ( ./translations/ja/README.md ) | 2024-10-04 |
| Korean | ko | [ Korean Translation ] ( ./translations/ko/README.md ) | 2024-10-04 |
| Spanish | es | [ Spanish Translation ] ( ./translations/es/README.md ) | 2024-10-04 |
## ? Multi-Language Support
| [English](./translations/en/README.md) | [French](./translations/fr/README.md) | [Spanish](./translations/es/README.md) | [German](./translations/de/README.md) | [Russian](./translations/ru/README.md) | [Arabic](./translations/ar/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Urdu](./translations/ur/README.md) | [Chinese (Simplified)](./translations/zh/README.md) | [Chinese (Traditional, Macau)](./translations/mo/README.md) | [Chinese (Traditional, Hong Kong)](./translations/hk/README.md) | [Chinese (Traditional, Taiwan)](./translations/tw/README.md) | [Japanese](./translations/ja/README.md) | [Korean](./translations/ko/README.md) | [Hindi](./translations/hi/README.md) | [Bengali](./translations/bn/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Portuguese](./translations/pt/README.md) | [Italian](./translations/it/README.md) | [Polish](./translations/pl/README.md) | [Turkish](./translations/tr/README.md) | [Greek](./translations/el/README.md) | [Thai](./translations/th/README.md) | [Swedish](./translations/sv/README.md) | [Danish](./translations/da/README.md) | [Norwegian](./translations/no/README.md) | [Finnish](./translations/fi/README.md) | [Dutch](./translations/nl/README.md) | [Hebrew](./translations/he/README.md) | [Vietnamese](./translations/vi/README.md) | [Indonesian](./translations/id/README.md) | [Malay](./translations/ms/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Swahili](./translations/sw/README.md) | [Hungarian](./translations/hu/README.md) | [Czech](./translations/cs/README.md) | [Slovak](./translations/sk/README.md) | [Romanian](./translations/ro/README.md) | [Bulgarian](./translations/bg/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Croatian](./translations/hr/README.md) | [Slovenian](./translations/sl/README.md) |
> ** Note: **
> These translations were automatically generated using the open-source [ co-op-translator ] ( https://github.com/Azure/co-op-translator ) and may contain errors or inaccuracies. For critical information, it is recommended to refer to the original or consult a professional human translation. If you'd like to add or update a translation, please refer to the [ co-op-translator ] ( https://github.com/Azure/co-op-translator ) repository, where you can easily contribute using simple commands.
A tabela abaixo lista os idiomas atualmente suportados pelo Co-op Translator . Inclui códigos de idioma, nomes de idiomas e quaisquer problemas conhecidos associados a cada idioma. Se desejar adicionar suporte para um novo idioma, adicione o código do idioma correspondente, nome e fonte apropriada no arquivo font_language_mappings.yml
localizado em src/co_op_translator/fonts/
e envie uma solicitação pull após o teste.
Código do idioma | Nome do idioma | Fonte | Suporte RTL | Problemas conhecidos |
---|---|---|---|---|
pt | Inglês | NotoSans-Medium.ttf | Não | Não |
franco | Francês | NotoSans-Medium.ttf | Não | Não |
é | Espanhol | NotoSans-Medium.ttf | Não | Não |
de | Alemão | NotoSans-Medium.ttf | Não | Não |
ru | russo | NotoSans-Medium.ttf | Não | Não |
ar | árabe | NotoSansArabic-Medium.ttf | Sim | Sim |
fa | Persa (farsi) | NotoSansArabic-Medium.ttf | Sim | Sim |
você | urdu | NotoSansArabic-Medium.ttf | Sim | Sim |
z | Chinês (simplificado) | NotoSansCJK-Medium.ttc | Não | Não |
mo | Chinês (Tradicional, Macau) | NotoSansCJK-Medium.ttc | Não | Não |
ok | Chinês (tradicional, Hong Kong) | NotoSansCJK-Medium.ttc | Não | Não |
dois | Chinês (tradicional, Taiwan) | NotoSansCJK-Medium.ttc | Não | Não |
sim | japonês | NotoSansCJK-Medium.ttc | Não | Não |
ko | coreano | NotoSansCJK-Medium.ttc | Não | Não |
oi | hindi | NotoSansDevanagari-Medium.ttf | Não | Não |
bilhões | bengali | NotoSansBengali-Medium.ttf | Não | Não |
senhor | Marathi | NotoSansDevanagari-Medium.ttf | Não | Não |
não | nepalês | NotoSansDevanagari-Medium.ttf | Não | Não |
pai | Punjabi (Gurmukhi) | NotoSansGurmukhi-Medium.ttf | Não | Não |
ponto | Português | NotoSans-Medium.ttf | Não | Não |
isto | italiano | NotoSans-Medium.ttf | Não | Não |
por favor | polonês | NotoSans-Medium.ttf | Não | Não |
tr | turco | NotoSans-Medium.ttf | Não | Não |
el | grego | NotoSans-Medium.ttf | Não | Não |
o | Tailandês | NotoSansThai-Medium.ttf | Não | Não |
SV | sueco | NotoSans-Medium.ttf | Não | Não |
sim | dinamarquês | NotoSans-Medium.ttf | Não | Não |
não | norueguês | NotoSans-Medium.ttf | Não | Não |
fi | finlandês | NotoSans-Medium.ttf | Não | Não |
nl | Holandês | NotoSans-Medium.ttf | Não | Não |
ele | hebraico | NotoSansHebrew-Medium.ttf | Sim | Não |
vi | vietnamita | NotoSans-Medium.ttf | Não | Não |
eu ia | indonésio | NotoSans-Medium.ttf | Não | Não |
EM | malaio | NotoSans-Medium.ttf | Não | Não |
tl | Tagalo (filipino) | NotoSans-Medium.ttf | Não | Não |
sw | suaíli | NotoSans-Medium.ttf | Não | Não |
hein | húngaro | NotoSans-Medium.ttf | Não | Não |
CS | Tcheco | NotoSans-Medium.ttf | Não | Não |
sk | Eslovaco | NotoSans-Medium.ttf | Não | Não |
ro | romeno | NotoSans-Medium.ttf | Não | Não |
obrigado | búlgaro | NotoSans-Medium.ttf | Não | Não |
senhor | Sérvio (cirílico) | NotoSans-Medium.ttf | Não | Não |
horas | croata | NotoSans-Medium.ttf | Não | Não |
sl | esloveno | NotoSans-Medium.ttf | Não | Não |
Para adicionar suporte para um novo idioma:
rtl
se o idioma for da direita para a esquerda.src/co_op_translator/fonts/
.Exemplo:
new_lang :
name : " New Language "
font : " NotoSans-Medium.ttf "
rtl : false
Este projeto aceita contribuições e sugestões. Interessado em contribuir para o Azure Co-op Translator? Consulte nosso CONTRIBUTING.md para obter diretrizes sobre como você pode ajudar a tornar o Co-op Translator mais acessível.
Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para obter mais informações, consulte as Perguntas frequentes sobre o Código de Conduta ou entre em contato com [email protected] com perguntas ou comentários adicionais.
A Microsoft está empenhada em ajudar os nossos clientes a utilizar os nossos produtos de IA de forma responsável, partilhando as nossas aprendizagens e construindo parcerias baseadas na confiança através de ferramentas como Notas de Transparência e Avaliações de Impacto. Muitos desses recursos podem ser encontrados em https://aka.ms/RAI. A abordagem da Microsoft à IA responsável baseia-se nos nossos princípios de IA de justiça, fiabilidade e segurança, privacidade e proteção, inclusão, transparência e responsabilidade.
Modelos de linguagem natural, imagem e fala em grande escala - como os usados neste exemplo - podem potencialmente se comportar de maneiras injustas, não confiáveis ou ofensivas, causando, por sua vez, danos. Consulte a nota de transparência do serviço Azure OpenAI para ser informado sobre riscos e limitações.
A abordagem recomendada para mitigar esses riscos é incluir um sistema de segurança em sua arquitetura que possa detectar e prevenir comportamentos prejudiciais. O Azure AI Content Safety fornece uma camada independente de proteção, capaz de detectar conteúdo prejudicial gerado pelo usuário e por IA em aplicativos e serviços. O Azure AI Content Safety inclui APIs de texto e imagem que permitem detectar materiais prejudiciais. Também temos um Content Safety Studio interativo que permite visualizar, explorar e testar exemplos de código para detectar conteúdo prejudicial em diferentes modalidades. A documentação de início rápido a seguir orienta você na realização de solicitações ao serviço.
Outro aspecto a levar em consideração é o desempenho geral do aplicativo. Com aplicativos multimodais e multimodelos, consideramos que desempenho significa que o sistema funciona conforme você e seus usuários esperam, inclusive não gerando resultados prejudiciais. É importante avaliar o desempenho de sua aplicação geral usando qualidade de geração e métricas de risco e segurança.
Você pode avaliar seu aplicativo de IA em seu ambiente de desenvolvimento usando o SDK de fluxo de prompt. Dado um conjunto de dados de teste ou um alvo, as gerações de aplicativos generativos de IA são medidas quantitativamente com avaliadores integrados ou avaliadores personalizados de sua escolha. Para começar a usar o SDK de fluxo de prompt para avaliar seu sistema, você pode seguir o guia de início rápido. Depois de executar uma execução de avaliação, você poderá visualizar os resultados no Azure AI Studio.
Este projeto pode conter marcas registradas ou logotipos de projetos, produtos ou serviços. O uso autorizado de marcas registradas ou logotipos da Microsoft está sujeito e deve seguir as Diretrizes de Marcas Registradas e Marcas da Microsoft. O uso de marcas registradas 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 registradas ou logotipos de terceiros está sujeito às políticas desses terceiros.