[SPIP] Submetido : Internationalizar os templates

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/)