73 lines
2.4 KiB
Markdown
Executable File
73 lines
2.4 KiB
Markdown
Executable File
# Configurações de Idioma no SysCMS
|
|
|
|
O SysCMS agora suporta configurações de idioma através das variáveis de ambiente `APP_MULTI_LANG` e `APP_LANG_DEFAULT` no arquivo `.env`.
|
|
|
|
## Variáveis de Ambiente
|
|
|
|
### APP_MULTI_LANG
|
|
- **Descrição**: Controla se o seletor de idiomas deve ser exibido no sistema
|
|
- **Valores possíveis**: `true` ou `false`
|
|
- **Padrão**: `false`
|
|
- **Exemplo**: `APP_MULTI_LANG=true`
|
|
|
|
### APP_LANG_DEFAULT
|
|
- **Descrição**: Define o idioma padrão do sistema quando nenhum idioma estiver selecionado
|
|
- **Valores possíveis**: Códigos de idioma suportados (pt_BR, en_US, es_ES, de_DE, fr_FR)
|
|
- **Padrão**: `pt_BR`
|
|
- **Exemplo**: `APP_LANG_DEFAULT=en_US`
|
|
|
|
## Como Funciona
|
|
|
|
### 1. Inicialização do Sistema
|
|
- O sistema verifica as variáveis de ambiente durante a inicialização
|
|
- O idioma padrão é definido na sessão com base em `APP_LANG_DEFAULT`
|
|
- O tradutor é configurado com o idioma apropriado
|
|
|
|
### 2. Controle do Seletor de Idiomas
|
|
- Quando `APP_MULTI_LANG=false`, o seletor de idiomas não é exibido
|
|
- Quando `APP_MULTI_LANG=true`, o seletor de idiomas é exibido na interface
|
|
- A troca de idioma é bloqueada quando `APP_MULTI_LANG=false`
|
|
|
|
### 3. Troca de Idioma
|
|
- Quando habilitado, os usuários podem selecionar entre os idiomas disponíveis:
|
|
- Português (pt_BR)
|
|
- English (en_US)
|
|
- Español (es_ES)
|
|
- Deutsch (de_DE)
|
|
- Français (fr_FR)
|
|
|
|
## Exemplo de Configuração
|
|
|
|
```env
|
|
# Habilita o seletor de idiomas
|
|
APP_MULTI_LANG=true
|
|
|
|
# Define o inglês como idioma padrão
|
|
APP_LANG_DEFAULT=en_US
|
|
```
|
|
|
|
## Arquivos Modificados
|
|
|
|
1. **kernel/Application.php**
|
|
- Modificado para usar `APP_LANG_DEFAULT` ao definir o idioma padrão
|
|
- Mantém compatibilidade com a configuração de multi-idioma
|
|
|
|
2. **modules/index/classes/Controllers/IndexController.php**
|
|
- Modificado para verificar `APP_MULTI_LANG` antes de permitir troca de idioma
|
|
- Bloqueia alteração de idioma quando multi-idioma está desabilitado
|
|
|
|
3. **templates/partials/language-switcher.twig**
|
|
- Modificado para só exibir o seletor quando `APP_MULTI_LANG=true`
|
|
- Usa a função helper `is_multi_lang_enabled()`
|
|
|
|
4. **app/helpers.php**
|
|
- Adicionada a função `is_multi_lang_enabled()` para verificar se multi-idioma está habilitado
|
|
|
|
## Testes
|
|
|
|
Para testar as configurações, execute:
|
|
```bash
|
|
php simple_test.php
|
|
```
|
|
|
|
Este script irá exibir os valores atuais das variáveis de ambiente. |