> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kiwify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Locales

> Arquivos de tradução para múltiplos idiomas

# Locales

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

## 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`)

<Warning>
  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.
</Warning>

## 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

```json theme={null}
// 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

```json theme={null}
// 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:

```liquid theme={null}
<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:

```json theme={null}
// en.default.json
{
  "courses": {
    "progress_info": "You have completed %{completed} of %{total} lessons"
  }
}
```

E no seu template Liquid:

```liquid theme={null}
<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:`:

```json theme={null}
{
  "name": "t:sections.banner.name"
}
```

## Melhores Práticas

<Tip>
  * 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
</Tip>

## 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.
