Traduz arquivos Java .properties
Um arquivo .properties é um conjunto de linhas key=value onde os valores contêm argumentos {0} para MessageFormat. KAERIS traduz os valores, mantém seus comentários e a ordem das chaves, e escreve o arquivo em puro ASCII para que o Java o leia em qualquer lugar.
KAERIS traduziu esta página e verificou cada linha traduzindo-a de volta. Um falante nativo ainda não revisou. Original em inglês
Como um arquivo .properties é construído
key=value, key: value ou key value, comentários com # ou !, continuação de linha com uma barra invertida final. Versões mais antigas do Java leem pacotes como ISO-8859-1, então texto não latino é escrito como \uXXXX, que todas as versões leem.
# Login form login.title=Sign in to {0} login.attempts=You have {0} attempts left cart.total=Total: {0,number,currency} about.url=https\://example.com/about help.text=Need help?\nWrite to [email protected]
O que observar nas traduções de .properties
Argumentos do MessageFormat
{0},{1}e os tipados como{0,number,currency}devem retornar intactos. Na execução real abaixo,{0,number,currency}retornou tipado; um argumento alterado ou perdido seria reportado.Codificação
A saída é ASCII: um “ö” alemão ou um caractere japonês é escrito como um escape
\u, que todas as versões do Java leem.Aspas no MessageFormat
No MessageFormat do Java, uma aspa simples inicia uma seção entre aspas, então um padrão que usa argumentos precisa de
''para um apóstrofo. Verifique as strings com apóstrofos no aplicativo após a tradução.Escapes e URLs
\nem um valor permanece como quebra de linha. Um\:em uma URL é escrito de volta como um dois-pontos simples, o que também é válido.
Uma execução real: traduzido para Alemão e verificado
Uma execução real, 27 de outubro de 2026, nada editado manualmente: kaeris translate messages.properties --langs de com kaeris 0.2.35, 3,3 segundos, modelo openai/gpt-4.1-mini (o modelo de fallback do serviço respondeu a este trabalho). Abaixo, o arquivo alemão que ele escreveu e o que kaeris check diz sobre ele.
# Generated by KAERIS i18n Tool - de # Login form login.title=Anmelden bei {0} login.attempts=Sie haben noch {0} Versuche cart.total=Gesamt: {0,number,currency} about.url=https://example.com/about help.text=Brauchen Sie Hilfe?\nSchreiben Sie an [email protected]
$ kaeris check --source messages.properties --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
O que o KAERIS faz com isso
Comentários e ordem mantidos
Linhas de comentário, linhas em branco e a ordem das chaves são reemitidas ao redor dos valores traduzidos, e um cabeçalho de uma linha com o idioma é adicionado.
Argumentos contados
Um
{0}perdido ou um tipo alterado é encontrado sem um modelo.Verificação gratuita para este formato
A verificação gratuita em /check lê este formato e executa sem chave ou conta. O comando de terminal
kaeris checktambém o lê: ele aceita todos os 13 formatos desde kaeris 0.2.35, com as mesmas regras e nada enviado para lugar nenhum.
Execute em três etapas
Instale o CLI
Execute
pip install kaeris.Traduzir o pacote
Execute
kaeris translate messages.properties --langs de,ja.Verificar o resultado
Faça o upload da origem e do pacote traduzido na página de verificação gratuita.
pip install kaeris kaeris translate src/main/resources/messages.properties --langs de,ja --verify
Perguntas
Grava UTF-8 ou escapes \u?
Escapes. O arquivo de saída é ASCII, com caracteres não-ASCII gravados como \uXXXX.
Meus comentários são mantidos?
Sim. Comentários e linhas em branco da origem são gravados de volta no lugar, e uma linha de cabeçalho com o nome do idioma é adicionada.
É gratuito?
Sim, sem conta: 10.000 caracteres por arquivo e até 8 idiomas por execução. Uma chave API gratuita eleva o limite para 50.000 caracteres. A licença vitalícia custa $79 uma vez, usando sua própria chave OpenRouter; planos mensais começam em $19. Preços
Posso rodar pelo terminal ou em CI?
Sim. pip install kaeris, então kaeris translate messages.properties --langs de,ja. O GitHub Action executa a mesma tradução em um pull request. Docs da CLI · GitHub Action
Continue
Referência do CLI · Referência de verificação · Traduzir no navegador · Verificação gratuita · Converter formatos · Pseudo-localização
Outros formatos: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .resx · CSV · Markdown · Fluent · Android XML