First Commit
This commit is contained in:
Executable
+73
@@ -0,0 +1,73 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user