Locales

A pasta locales contém arquivos de tradução para suportar múltiplos idiomas, tornando sua Área de Membros acessível para estudantes internacionais.

Visão Geral

Cada idioma tem dois arquivos:
  1. Traduções de conteúdo ([idioma].default.json) - Para texto voltado ao usuário
  2. Traduções de schema ([idioma].schema.json) - Para rótulos e instruções do editor de tema

Idiomas Suportados

  • Português (pt.default.json e pt.schema.json)
  • Inglês (en.default.json e en.schema.json)
  • Espanhol (es.default.json e es.schema.json)
Estes arquivos seguem uma estrutura fixa e não podem ser deletados ou renomeados. Todos os arquivos devem ser mantidos em sincronia ao adicionar novas chaves de tradução.

Estrutura de Diretórios

locales/
├── en.default.json
├── pt.default.json
├── es.default.json
├── en.schema.json
├── pt.schema.json
└── es.schema.json

Exemplo de Tradução de Conteúdo

// en.default.json
{
  "general": {
    "continue": "Continue",
    "view_all": "View All",
    "completed": "Completed"
  },
  "courses": {
    "progress": "Progress",
    "start_course": "Start Course",
    "continue_course": "Continue Learning"
  }
}

Exemplo de Tradução de Schema

// en.schema.json
{
  "sections": {
    "banner": {
      "name": "Banner",
      "settings": {
        "title": {
          "label": "Title",
          "info": "Heading displayed at the top of the banner"
        },
        "full_width": {
          "label": "Full Width",
          "info": "Extend the banner across the entire page width"
        }
      }
    }
  }
}

Usando Traduções em Templates

Para usar traduções em seus templates Liquid, use o filtro t com a chave de tradução:
<button class="button">
  {{ 'courses.start_course' | t }}
</button>
A tradução apropriada será selecionada baseada na preferência de idioma do usuário.

Tradução com Variáveis

Você pode incluir variáveis em suas traduções:
// en.default.json
{
  "courses": {
    "progress_info": "You have completed %{completed} of %{total} lessons"
  }
}
E no seu template Liquid:
<p>
  {{ 'courses.progress_info' | t: completed: course.user_data.completion_count, total: course.total_lessons }}
</p>

Usando Tradução em Schemas

Para usar traduções em seus schemas, use o prefixo t::
{
  "name": "t:sections.banner.name"
}

Melhores Práticas

  • Use uma estrutura de nomeação consistente para chaves de tradução
  • Organize traduções por funcionalidade ou seção
  • Mantenha as traduções concisas e claras
  • Sempre atualize todos os arquivos de idioma ao adicionar novas chaves
  • Use IA ou tradutores profissionais para traduções precisas

Comportamento de Fallback

Se uma chave de tradução estiver ausente no idioma selecionado pelo usuário, o sistema tentará usar a versão em português como fallback. Se a chave estiver ausente em todos os idiomas, a própria chave será exibida.