O SPIP exibe naturalmente os elementos de interface (datas, rótulos dos botões) no idioma escolhido pelo usuário.
Criar templates multilíngues
Ao se criar um template multilíngue, é indispesável utilizar as cadeias de idiomas para que o conteúdo da interface seja exibido na língua solicitada.
O SPIP já fornece as expressões mais comuns (como "Mapa do site", "Responder a esta matéria" etc...). Esta matéria mostra como incluir novas expressões conforme a sua necessidade.
Além disso, o uso das cadeias de idiomas facilita a manutenção do seu template (ao se alterar uma cadeia de idioma, todas as páginas que a usam são atualizadas).
Usar arquivos de idioma
Criar um arquivo de idioma
Seja qual for a estrutura decidida para o site (setores de idioma, ou não) basta inserir uma "cadeia de idioma" no formato <:cadeia_de_idioma:>
e o SPIP irá procurar a tradução num dos arquivos SPIP ou num arquivo local_xx.php (xx sendo o código do idioma) que tenhamos criado.
O sufixo de idioma xx
corresponde geralmente ao usado nas normas ISO:
Por exemplo fr
para francês.
As variantes regionais também são também são suportadas:
Por exemplo pt_br
para o portugues do Brasil.
Por exemplo, exibimos uma seção música no nosso site
<h4>Música</h4>
Para internacionalizar, o texto será passado por uma cadeia de idioma
<h4><:musique:></h4>
De acordo com o idioma requerido, a cadeia <:musique:>
exibirá
— em français, a expressão «Musique»,
— em anglais, a expressão «Music»,
— em japonais, a expressão «音楽»,
Será necessário criar tantos arquivos de idiomas quanto as línguas usadas pelo seu site. No caso acima, deverão ser criados os arquivos lang/local_fr.php
, lang/local_en.php
e lang/local_ja.php
.
A estrutura de um arquivo de idioma
Arquivos de idiomas ficam armazenados num diretório lang
e são estruturado como a seguir:
Os arquivos de idioma contêm as diferentes traduções dos códigos que você utilizará; são arquivos PHP contendo, cada um, uma tabela associando os códigos às expressões correspondentes em cada língua.
Atenção :
O nome desses arquivos de idioma não poderão conter o caracter «_
» («underscore» ou «sublinhado») exceto para marcar a separação com a sigla do idioma (en, fr, it, ...). Por exemplo, «meuarquivo_pt.php» é correto, mas «meu_arquivo_pt.php» está incorreto.
Arquivos de idioma que são variantes de uma língua também separam a sigla da variante, como no caso dos arquivos para o português brasileiro, que devem ser nomeados como «meuarquivo_pt_br.php»
Estes arquivos conterão, por exemplo:
Versão português do Brasil (lang/meuarquivo_pt_br.php):
<?php
$GLOBALS[$GLOBALS['idx_lang']] = array(
'telechargement' => 'Baixar a versão mais recente',
'quoideneuf' => 'Alterações recentes'
);
Versão catalão (lang/meuarquivo_ca.php):
<?php
$GLOBALS[$GLOBALS['idx_lang']] = array(
'telechargement' => 'Descarregar la darrera versió',
'quoideneuf' => 'Modificacions recents'
);
Sintaxe dos arquivos de idioma
— Cada linha de definição termina com uma vírgula, exceto a última linha.
— Os apóstrofos no interior da cadeia devem ser escapados], ou seja precedidos de uma contra-barra. Por exemplo, a cadeia «sur l’internet» deve ser escrita como: sur l\'internet
.
— Pode-se não escapar os apóstrofos desde que se utilize apóstrofos do tipo "aspa simples de fechamento" ’
Criar os seus próprios códigos
É possível criar os seus próprios códigos, correspondentes às cadeias com expressões que se desejar incluir.
São arquivos de idioma personalizados, no modelo dos arquivos public_xx.php. Para criar os seus próprios arquivos, grave-os num diretório squelettes/lang (a ser criado, caso o mesmo não exista)
— local_fr.php para definir cadeias com expressões em francês,
— local_pt_br para cadeias com expressões em português do Brasil,
— local_en.php para cadeias em inglês,
— ...
A parte que é necessário acrescentar por si mesmo consiste de diversas linhas de definições, no modelo:
'codigo' => 'A expressão a ser exibida',
Os plugins e os arquivos de idiomas
Diversas funcionalidades são fornecidas por plugins, sejam eles nucleares, como o porte-plume ou o svp, sejam plugins incluídos pelos webmasters, porque eles desejam usar uma funcionalidade específica.
Todos esses plugins possuem arquivos de idiomas
Ver também
Para saber mais sobre as cadeias de idiomas, você pode consultar https://programmer.spip.net/-Elements-linguistiques-