Prática recomendada para valores-chave em arquivos de tradução

Em geral, os métodos de conversão usam um mapeamento de chave> de valor e usam a chave para transformar isso em um valor. Agora reconheço dois métodos diferentes para nomear suas chaves de tradução e, dentro da minha equipe, não chegamos ao consenso de qual parece ser o melhor método.

Método 1: Use palavras ou frases completas em inglês:

Name => Name
Please enter your email address => Please enter your email address

Método 2: Use palavras-chave descrevendo a situação:

NAME => Name
ENTER_EMAIL => Please enter your email address

Eu pessoalmente prefiro o método # 1 porque mostra diretamente o significado da mensagem. Se a tradução não estiver presente, você pode voltar para a chave e isso não causa nenhum problema. No entanto, o método é complicado quando uma tradução muda com freqüência, porque todos os arquivos precisam ser atualizados. Também para textos mais longos, essas teclas se tornam muito grandes. Isso é resolvido usando chaves comoENTER_EMAIL, mas o fraseado está completamente fora do contexto. A lista de chaves de tradução abstratas seria enorme, você precisa de metadados para todas as chaves que explicam seu uso e as colisões podem ser muito mais fáceis.

Existe o melhor dos dois mundos ou um terceiro método? Como você usa as chaves de tradução em seu aplicativo? No nosso caso, é um webapplication baseado em php, mas acho que o problema acima é genérico o suficiente para falar sobre o i18n em geral.

questionAnswers(2)

yourAnswerToTheQuestion