Files
dockerfluxodecaixapro/rules/09_LANGUAGE_CONFIG_README.md
T
2026-09-01 10:46:29 -03:00

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.