Skip to content

Locale en é um placeholder, e textos da aplicação estão hardcoded #84

Description

@Hirley

Problema

Dois problemas distintos, ligados pelo mesmo arquivo:

1. O locale en promete um suporte que não existe. config/application.rb declara available_locales = %i[pt-BR en], e config/locales/en.yml tem duas linhas:

en:
  hello: "Hello world"

É o placeholder que o Rails gera. Qualquer coisa que dependa de I18n.available_locales — um seletor de idioma, um Accept-Language, uma futura API multi-idioma — vai acreditar que inglês funciona.

2. A maior parte dos textos da aplicação está hardcoded. O pt-BR.yml cobre mensagens do Rails e do Devise, mas os textos próprios vivem espalhados em controllers, models, services, views, mensagens do Telegram e respostas da API — inclusive mensagens reutilizadas em mais de um lugar.

Isso não é defeito funcional: o app é de locale único e assumido em português. É dívida, e o custo aparece no dia em que a mesma frase precisar mudar em três arquivos.

Proposta

Duas fatias, independentes:

  • agora, barato: remover en de available_locales enquanto não houver tradução de verdade. Deixa de comunicar um suporte inexistente e é reversível numa linha.
  • gradual: mover para o I18n os textos reutilizáveis e os exibidos ao usuário, começando pelos que já aparecem repetidos. Não vale converter tudo de uma vez.

Critério de aceite

  • available_locales reflete o que existe de fato.
  • Mensagens duplicadas em mais de um arquivo passam a ter uma chave só.
  • Nenhuma mudança de texto visível ao usuário.

Onde

  • config/application.rb, config/locales/

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationprioridade: baixaPolimento e dívida técnica de baixo impacto

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions