Traduzir comentários de código
Esta capacidade traduz os comentários e docstrings de um arquivo de código sem alterar uma linha da lógica: identificadores, strings e estrutura voltam intactos. Para equipes que herdaram código comentado em outro idioma ou que precisam internacionalizar o repositório para contratar e colaborar fora.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Só o comentário muda — string é sagrada
A distinção que importa: comentário é conversa entre devs, string é comportamento do programa. Traduzir uma string muda o que o usuário vê e pode quebrar teste; por isso a ferramenta traduz apenas comentários — de linha, de bloco e docstrings — e não encosta em strings, identificadores, imports ou qualquer coisa executável. O diff do resultado deve mostrar mudança só em linha de comentário; se a sua revisão vir outra coisa, é sinal para reportar, não para aceitar.
Código herdado em idioma que o time não lê
Acontece mais do que se admite: o sistema veio de uma software house que comentava em espanhol, o módulo crítico foi documentado num inglês carregado de jargão, ou o projeto open source que você adotou está comentado em alemão. Comentário que ninguém lê é comentário que não existe — e o conhecimento gravado ali se perde a cada manutenção. Traduzir os comentários devolve essa documentação ao time por centavos.
Beta e a revisão pelo diff
A capacidade está em beta. Na rotina de dev, isso se traduz num hábito que você já tem: rodar o resultado num branch, abrir o diff e revisar antes do merge. Comentário traduzido errado não derruba produção — o código não muda —, mas revisão de diff é barata e mantém o padrão da casa. Os formatos de comentário das linguagens principais são reconhecidos pela própria sintaxe do arquivo.
Preço por 1.000 palavras de comentário
US$ 0,003 por chamada mais US$ 0,0135 por 1.000 palavras traduzidas — e só comentário conta como palavra. Um arquivo de 800 linhas com comentários normais tem poucas centenas de palavras: a tradução custa menos de um centavo de dólar. Um repositório inteiro, processado arquivo a arquivo num script, fica na faixa de poucos dólares, com o limite de 20.000 tokens por chamada definindo o tamanho de cada lote.
Casos de uso
Repositório indo para o inglês
A empresa vai contratar devs de fora e traduz os comentários do monólito para o inglês — o onboarding deixa de esbarrar em “// ajusta o cálculo do frete aqui” que ninguém novo entende.
Sistema herdado de terceiros
A software house anterior comentava em espanhol; a equipe atual traduz módulo a módulo conforme mexe neles, e cada manutenção fica menos arqueologia.
Open source adotado
A lib essencial do projeto veio comentada em outro idioma: uma passada da API e o time passa a ler as anotações do autor original.
Docstrings para documentação gerada
As docstrings traduzidas alimentam o gerador de documentação — a doc pública sai no idioma novo sem ninguém reescrever assinatura por assinatura.
Perguntas frequentes
As strings do programa são traduzidas?
Não — string é comportamento, não documentação. Para traduzir textos de interface, o caminho é o arquivo de i18n do projeto, que é outro tipo de tarefa.
Quais linguagens funcionam?
As principais: a detecção usa a sintaxe de comentário do próprio arquivo (//, #, /* */, docstrings). Se a sua linguagem usa um formato comum, tende a funcionar — teste com um arquivo antes do lote.
O código pode voltar reformatado?
A proposta é não tocar em nada além dos comentários. Confira pelo diff: mudança fora de comentário não é esperada.
TODO, FIXME e marcadores de ferramenta?
Marcadores consagrados como TODO: e FIXME: são convenção de tooling e permanecem; o texto depois deles é traduzido.
Quanto custa um repositório com 50 arquivos?
Depende das palavras de comentário — cada 1.000 custam US$ 0,0135, mais US$ 0,003 por chamada. Num projeto típico, o total fica em poucos dólares.
Meu código-fonte é o ativo da empresa. Qual a garantia?
O arquivo é processado para gerar a tradução e devolvido. Não é publicado, não é compartilhado e não é reaproveitado para nenhuma outra finalidade.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/translate/code-comments \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/translate/code-comments", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/translate/code-comments",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/translate/code-comments", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/translate/code-comments", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "translate.code_comments",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_tokens | 20000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |