SPIP
Artigo submetido
O artigo « Internationalizar os templates
(SPIP) » foi submetido
à publicação depuis terça-feira de 12 de setembro de 2023.
Internationalizar os templates
terça-feira 12 de setembro de 2023 , por Ricardo
Porto
Sommaire
- Criar templates multilíngues
- Usar arquivos de idioma
- A estrutura de um arquivo de idioma
- Criar os seus próprios códigos
- Os plugins e os arquivos de idiomas
- Ver também
O SPIP exibe naturalmente os elementos de interface (datas, rótulos dos
botões) no idioma escolhido pelo usuário.
Criar templates multilíngues[|Retour au
sommaire](#s-Criar-templates-multilingues)
Ao se criar um template, é possível introduzir novas cadeias de idioma
para os rótulos mais frequentes (como « Mapa do site », « Responder a esta
matéria » etc…). Além de facilitar a manutenção (quando se modifica
uma cadeia de idioma, todas as páginas são alteradas), a funcionalidade
permite também realizar sites em outras línguas (e mesmo sites
multilíngues, onde se pode alternar de uma língua para outra).
Usar arquivos de idioma|Retour au sommaire
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.
Por exemplo, para exibir o rótulo muito frequente « Download » em diferentes
línguas, basta incluir no seu template o código
’<bouton_telecharger:>’ que se encontra nos arquivos de idioma do SPIP.
Por exemplo, podemos definir que o código « telechargement » corresponde:
— em francês, à cadeia « Télécharger »,
— em inglês, à cadeia ’Download’,
— em português, à cadeia « Baixar arquivo »
— etc.
Transferir
Se a matéria em questão for em francês, será exibido:
Télécharger (https://www.spip.net/IMG/jpg/meudocumento.jpg)
se a matéria for em inglês:
Download (https://www.spip.net/IMG/jpg/meudocumento.jpg)
e assim sucessivamente. Um único código no template exibirá uma
expressão traduzida em todas as línguas uzadas pelo site.
A estrutura de um arquivo de idioma[|Retour au
sommaire](#s-A-estrutura-de-um-arquivo-de-idioma)
Um arquivo de idioma fica armazenado num diretório lang
e é 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'
);
N.B.
— 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[|Retour au
sommaire](#s-Criar-os-seus-proprios-codigos)
É 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 em diversas
linhas de definições, no modelo:
'codigo' => 'A expressão a ser exibida',
Os plugins e os arquivos de idiomas[|Retour au
sommaire](#s-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|Retour au sommaire
Para saber mais sobre as cadeias de idiomas, você pode consultar
P.S.
Histórico:
as versões iniciais desta matéria apresentavam outras soluções além
dos arquivos de idioma para tornar os templates multilinguais. Note-se aqui
que essas soluções simplesmente não são recomendadas:
– « um template por idioma » (requeria o plugin
« squelettes_par_rubrique » - templates por seção, em português): pesado
para manter e simplesmente inútil para uma utilização básica.
– « os blocos multilíngues »: estes blocos<multi>
são muito
úteis na área redacional; exibir um título nas diversas línguas
possíveis, permitir a exibição de legendas diferentes por idioma… mas
devem ser evitados na parte estrutural
— Enviado por SPIP (https://www.spip.net/)