Texto e traduções¶
MRBS separa o vocabulário do aplicativo, o texto específico do site, as páginas de Ajuda e este manual do MkDocs. Escolha a camada correta para que as atualizações permaneçam gerenciáveis.
| Tarefa | Localização correta |
|---|---|
| Renomear um rótulo para uma instalação | $vocab_override em config.inc.php |
| Adicionar ou melhorar um idioma da interface do MRBS | web/lang/lang.<language> |
| Traduzir ou personalizar a página de ajuda do aplicativo | web/site_faq/site_faq_<language>.html |
| Traduzir este manual | Um arquivo com sufixo de idioma abaixo docs/ |
Substituir o texto de um site¶
Não edite um arquivo de idioma enviado apenas para renomear “Room” ou alterar o título do site. Encontre o token em web/lang/lang.en e substitua-o:
$vocab_override['en']['mrbs'] = 'Resource Booking';
$vocab_override['de']['mrbs'] = 'Ressourcenbuchung';
$vocab_override['fr']['mrbs'] = 'Réservation de ressources';
$vocab_override['es']['mrbs'] = 'Reserva de recursos';
A ordem do índice é sempre o idioma e depois o token: $vocab_override[LANG][TOKEN].
Tokens úteis definidos pelo site incluem:
$vocab_override['en']['room.coffee_machine'] = 'Coffee machine';
$vocab_override['en']['entry.catering'] = 'Catering';
$vocab_override['en']['entry.description.placeholder'] =
'Add information for the room team';
$vocab_override['en']['users.zip_code.oninvalid'] =
'Enter a valid ZIP code';
$vocab_override['en']['type.C'] = 'Customer booking';
Os tokens de campo personalizado são descritos em Campos personalizados. As descrições do tipo de reserva usam type.X, onde X é o código do tipo configurado.
As substituições sobrevivem a uma atualização porque residem na configuração do site. Verifique novamente seu significado se um lançamento alterar o token original ou seu contexto.
Preservar marcadores de substituição¶
As strings de idioma podem conter marcadores printf, como %s, %d, ou formas posicionais, como %1$d. Preserve cada marcador e seu tipo. Uma tradução pode reordenar argumentos apenas com a forma posicional.
Preserve também fragmentos HTML deliberados, semântica de pontuação e espaços circundantes. Teste strings com contagens de zero, um e muitos, quando aplicável.
Selecione o idioma da interface¶
Por padrão, MRBS escolhe um idioma no navegador:
Para forçar um idioma:
O token deve corresponder a um arquivo web/lang/lang.* disponível. A seleção de localidade para datas e horas pode ser substituída separadamente:
$override_locale também deve ser compatível com o sistema operacional do servidor. $cli_language controla comandos executados fora do navegador. Para diagnóstico, $language_debug = true grava informações de idioma e localidade no log de erros; desative-o novamente após a solução de problemas.
Adicionar ou manter um idioma de aplicativo¶
O arquivo em inglês é a referência e o substituto. Para criar um idioma cujo token detectado seja xx:
Então:
- Mantenha a linha de abertura PHP e todas as chaves
$vocab. - Traduza valores de string, não nomes de token.
- Salve o arquivo como UTF-8.
- Não use entidades HTML, exceto
; escreva caracteres UTF-8 diretamente. - Preservar marcadores de substituição e marcação intencional.
- Valide a sintaxe PHP.
MRBS primeiro carrega a referência em inglês e depois o idioma selecionado, de modo que os tokens ausentes voltam para o inglês.
Verifique a integridade¶
checklang.php compara arquivos de idioma com lang.en. Para uma instância de desenvolvimento, coloque-a ou mantenha-a no diretório web MRBS e abra:
Sem seleção de idioma, ele oferece todos os arquivos de idiomas instalados. A função opcional de atualização grava arquivos e, portanto, requer acesso de gravação; evite isso na produção e revise as alterações geradas. Restrinja ou remova este utilitário de desenvolvimento de uma implantação pública quando a verificação for concluída.
A verificação de sintaxe e checklang.php detectam problemas diferentes: use ambos.
Traduzir a página de ajuda do aplicativo¶
O texto de ajuda não vem de $vocab. Ele é armazenado separadamente:
web/site_faq/site_faq.html
web/site_faq/site_faq_de.html
web/site_faq/site_faq_fr.html
web/site_faq/site_faq_es.html
Selecione o sufixo sem sublinhado:
Valores mais antigos, como '_de', são aceitos para compatibilidade, mas estão obsoletos. A configuração é independente do idioma do navegador, portanto teste se o FAQ selecionado corresponde ao público-alvo. As edições locais nos arquivos de perguntas frequentes enviados devem ser registradas e reaplicadas ou mescladas durante uma atualização.
Traduzir este manual¶
O site de documentação usa arquivos de sufixo:
docs/admin-guide/custom-fields.md
docs/admin-guide/custom-fields.de.md
docs/admin-guide/custom-fields.fr.md
docs/admin-guide/custom-fields.es.md
Inglês é o substituto da documentação. Esses arquivos não afetam a interface do usuário do aplicativo MRBS ou sua página de Ajuda.
Fluxo de trabalho seguro para atualização¶
- Coloque o texto exclusivo do site em
$vocab_override. - Mantenha uma lista de idiomas e arquivos de perguntas frequentes mantidos localmente.
- Compare um novo
lang.encom a versão anterior para tokens adicionados ou alterados. - Execute
php -lem cada arquivo de idioma alterado. - Execute
checklang.phpem uma instância de desenvolvimento restrita. - Revise as alterações do FAQ separadamente.
- Teste todos os idiomas ativos antes da implantação.
Lista de verificação de verificação¶
- A detecção do navegador e o padrão forçado selecionam o idioma esperado.
- Os tokens ausentes voltam para um inglês compreensível.
- Páginas de navegação, formulários, erros, aprovações e administração são renderizadas corretamente.
%s,%de os marcadores posicionais recebem os valores corretos.- Datas, horários, dias da semana e fusos horários usam a localidade pretendida.
- Assuntos e corpos de email, relatórios, exportações e trabalhos de linha de comando usam o idioma pretendido.
- Campos personalizados, tipos de reserva, espaços reservados e mensagens de validação são traduzidos.
- A página de Ajuda usa o arquivo
site_faqesperado. - Os logs não contêm depuração de linguagem persistente ou valores de formulário confidenciais.