Dite os seus code reviews no seu próprio idioma
O código é em inglês. Os seus comentários de review não. Como ditar feedback de review em um de 25 idiomas on-device, e por que fixar o idioma importa.
Existe uma suposição silenciosa embutida na maior parte do ferramental de desenvolvedor: o código é em inglês, então o desenvolvedor também tem que ser. Palavras-chave são em inglês. Nomes de biblioteca são em inglês. Mensagens de erro são em inglês. E então, segue o raciocínio, o ditado para desenvolvedores pode ser só em inglês e ninguém vai se importar.
O code review quebra essa suposição imediatamente. Um comentário de review não é código. É uma frase dirigida a uma pessoa, e em muitíssimos times essa pessoa compartilha o seu primeiro idioma. Um time romeno revisando um serviço em Rust escreve comentários em romeno sobre identificadores em inglês. Um time polonês faz o mesmo em polonês, um time alemão em alemão. O código continua em inglês; a conversa sobre o código, não.
O ditado é inusitadamente bom para comentários de review, porque revisar é uma atividade de leitura e digitar interrompe a leitura. Mas ele só é bom se funcionar no idioma em que o comentário de fato está. Este post é sobre fazer isso funcionar: quais idiomas o Keebye cobre on-device, como o idioma fixado se comporta e onde estão as fronteiras. Se você quer o argumento de por que qualquer coisa disso importa, por que o ditado para desenvolvedores não deveria ser só em inglês faz esse argumento; aqui está a continuação prática.
Por que comentários de review são o alvo ideal do ditado
Um comentário de review tem três propriedades que o encaixam melhor na voz do que quase qualquer outro texto de desenvolvedor.
Ele é curto. A maioria dos comentários tem de uma a três frases. Isso é um sopro, um segurar de hotkey, uma fala.
Ele é prosa. Diferente de uma mensagem de commit com formato rígido ou de um arquivo de config com sintaxe exata, um comentário de review é só como você explicaria o problema em voz alta. "Isso tenta de novo para sempre se o socket nunca responder; coloque um teto." As versões falada e digitada são quase idênticas.
Ele acontece enquanto os seus olhos estão ocupados. Você está lendo um diff. No momento em que você para para digitar, perde o seu lugar nele. Ditar deixa você continuar lendo e falar o comentário dentro da caixa de texto em que você já clicou.
Agora adicione a dimensão do idioma. Se o seu time revisa em polonês, uma ferramenta de ditado só em inglês força uma escolha: revisar em inglês (pouco natural, e os seus colegas podem ler mais devagar) ou digitar (perdendo o benefício). Nenhuma das duas era o que você queria.
O que o Keebye realmente suporta
Dois mecanismos on-device importam aqui, e vale ser exato sobre eles.
O mecanismo padrão é ajustado para inglês. Ele é rápido, é o que a maioria usa, e não é o que você quer para um comentário de review em polonês. Apontado para fala fora do inglês, ele vai produzir um inglês foneticamente plausível que não é o que você disse.
O segundo mecanismo, o Canary, cobre exatamente 25 idiomas: alemão, búlgaro, croata, dinamarquês, eslovaco, esloveno, espanhol, estoniano, finlandês, francês, grego, holandês, húngaro, inglês, italiano, letão, lituano, maltês, polonês, português, romeno, russo, sueco, tcheco e ucraniano. Ele é opt-in, é baixado uma vez, e depois disso roda offline como tudo o mais no Keebye. Não cem idiomas; vinte e cinco, listados, e se o seu não está na lista este post ainda não pode te ajudar.
Existe também a opção de usar o reconhecimento de fala nativo da Apple como mecanismo, que traz a própria cobertura de idiomas do seu Mac. Esse é um caminho separado, com características diferentes; o resto deste post é sobre o Canary.
Fixe o idioma; não deixe ele adivinhar
O ajuste mais importante para review fora do inglês é fixar o idioma.
A detecção automática parece o padrão certo e é o padrão errado para desenvolvedores. Comentários de review são densos em identificadores em inglês: nomes de função, nomes de pacote, as palavras "null", "async" e "callback". Um comentário que é oitenta por cento romeno e vinte por cento tokens em inglês dá a um detector de idioma exatamente o sinal misturado com que ele lida pior. Ele vai virar no meio da frase, ou decidir que a coisa toda era inglês, e você vai receber uma transcrição confiantemente errada. Fixe o idioma do seu ditado percorre essa falha em detalhe.
Com o Canary, o Keebye deixa você definir o idioma explicitamente. Fixe romeno e o modelo decodifica romeno; os identificadores em inglês dentro da sua frase são tratados como estrangeirismos, não como prova de que você trocou de idioma. O reconhecimento de um identificador incomum ainda pode sair imperfeito, mas o idioma em si para de ser cara ou coroa.
Um detalhe de comportamento que vale conhecer: o idioma fixado é lido para a próxima fala. Troque o pin e o ditado que você está a ponto de fazer já usa o novo; o que você acabou de soltar não é retranscrito. Na prática isso significa: troque, depois fale. Se você revisa em dois idiomas ao longo do dia, a troca é barata. A bandeja na barra de menus expõe uma lista curta de 11 idiomas para troca rápida, e os Ajustes expõem todos os 25.
Uma sessão de review, ditada
É assim que uma sessão fica em um time que revisa em romeno.
Você abre o pull request. A bandeja já mostra romeno fixado desde ontem, então não há nada a fazer. Você lê o primeiro arquivo. Terceiro hunk, um loop de retry sem teto. Clique na caixa de comentário, segure a ⌘ direita, fale o comentário em romeno, solte. O texto cai, com o "hum" e um falso começo removidos pela limpeza baseada em regras, e o identificador reconnectSocket intacto porque você o adicionou ao dicionário personalizado uma semana atrás.
Próximo arquivo. O comentário que você quer deixar é uma sugestão de código, não prosa. Esse você digita; ditar um diff é uma experiência ruim em qualquer idioma.
Mais tarde, uma pessoa de outro time entra na thread e escreve em inglês. Você quer responder em inglês. Clique na bandeja, escolha inglês na lista curta, e a próxima fala é decodificada como inglês. Responda, depois volte.
Nada disso precisa de uma janela. O Keebye fica na barra de menus; a hotkey funciona em qualquer app que estiver em foco, seja uma aba do navegador com o review, um cliente Git de desktop ou um terminal rodando uma ferramenta de review em CLI.
Limites honestos
Vinte e cinco idiomas, não todos eles. Se você revisa em turco, japonês, árabe ou qualquer idioma fora da lista do Canary, o segundo mecanismo não cobre. O mecanismo nativo da Apple pode cobrir, dependendo do suporte de idiomas do seu sistema, mas esse é outro mecanismo com outro comportamento.
A lista curta da bandeja tem onze. Inglês, romeno, francês, alemão, espanhol, italiano, português, holandês, polonês, russo e ucraniano estão a dois cliques. Os outros quatorze estão nos Ajustes. Se o seu par diário inclui, digamos, tcheco e finlandês, um dos lados passa pelos Ajustes.
Identificadores continuam sendo identificadores. Um modelo de fala em qualquer idioma sofre com nomes_em_snake_case. O dicionário ajuda com os recorrentes; o resto você corrige na mão. Leia o comentário antes de publicá-lo.
Sem transcrição ao vivo. O Canary transcreve quando você solta a tecla, em um lote só. Você não vai ver as palavras enquanto as diz. Para um comentário de review, de uma a três frases, isso é quase imperceptível.
O polimento é opcional e literal por padrão. Se você ativa o polimento por LLM local on-device, ele arruma a estrutura das frases e uma proteção de fidelidade recua para a transcrição bruta quando a saída mostra perda severa de tokens, expansão ou repetição. Essa proteção é uma heurística; ela não verifica se o seu sentido sobreviveu. Para comentários de review, onde uma negação invertida muda o veredito, a maioria das pessoas mantém o polimento desligado e deixa a limpeza baseada em regras fazer o trabalho.
Onde isso se encaixa
Se fixar o idioma é o recurso que mais te interessa, Keebye vs Wispr Flow compara os dois em onde a fala roda e como o idioma é tratado, incluindo onde o Wispr Flow serve melhor. Para o caso mais amplo de ditar com as mãos sobre o diff, o guia para desenvolvedores cobre o dia a dia, e o guia do Mac cobre a configuração.
A suposição de que desenvolvedores são só de inglês nunca foi verdadeira. Ela era apenas conveniente para as ferramentas. Revisar no seu próprio idioma, por voz, com fala que nunca sai da sua máquina, não é um pedido de nicho. É o que uma fatia enorme das pessoas que escrevem software faria se o ferramental deixasse.
Revise no idioma em que você pensa
Comece o teste grátis, fixe o seu idioma e dite um comentário de review do jeito que você diria a um colega.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Continue lendo
A detecção automática erra sempre: fixe o seu idioma
O ditado sai no idioma errado? A detecção automática oscila em fala bilíngue por natureza. Fixe o seu idioma uma vez e ele fica fixado.
Por que ditado para desenvolvedores deve ir além do inglês
Código é em inglês; o trabalho ao redor nem sempre. Ditado multilíngue on-device para mensagens de Slack, revisões e docs que você escreve no seu idioma.
Ditando prompts para agentes paralelos, lane por lane
Rodar dois ou três agentes de código ao mesmo tempo transforma o prompt no gargalo. Um fluxo por voz para alimentar lanes paralelas sem sair da que você está.