Home
Qui
21
Ago

JCC Multilanguage Support Pack

Atenção, abrir em uma nova janela. PDFImprimirE-mail

O que é ?

 

É um pacote de extensões para Joomla 1.5 que desenvolvi com a finalidade de auxiliar na criação e na disponibilização de conteúdo em vários idiomas.

 

 

Motivação

 

Antes de partir para o “faça você mesmo”, dei uma olhada nos componentes existentes para este fim. Vi boas opções, entretanto, percebi que a maioria se apoiava firmemente em hacks (alterações diretas sobre o código do núcleo do Joomla) e/ou criavam mecanismos proprietários para o suporte a multi-idiomas. Naturalmente não tenho nada contra soluções criativas, mas não gostaria de ter uma experiência infeliz com um componente que mudasse profundamente o core da minha instalação. Da mesma forma, gostaria que o conteúdo traduzido fosse independente da extensão que estou usando, assim, me propus a desenvolver uma solução 100% apoiada sobre os mecanismos de extensão do Joomla e que resultasse na elaboração de conteúdo que pudesse ser reutilizado no site mesmo que eu precisasse desativar a extensão. Daí nasceu o JCC Multilanguage Support Pack.

 

 

Como funciona ?

 

O pacote é composto pelas seguintes extensões:

 

- com_JCCMultilanguageContent;

- mod_JCCMultilangSelector;

- plg_ContentJCCMultilangSave;

- plg_SystemJCCMultilangSwap;

 

Todas as extensões precisam estar instaladas e habilitadas. Cada uma tem um papel bem definido na solução do proble, mas seu funcionamento é muito simples e pode ser explicado em 7 passos:

 

1) Instale cada extensão do pacote e habilite ambos os plugins. Atenção especial para plg_SystemJCCMultilangSwap, que deve ser configurado como o PRIMEIRO plugin:

 

Propriedades do plg_SystemMultilangSwap

 

2) Vá ao “Article Manager” do Joomla para definir o idioma de cada artigo, através do atributo “Content Language” na guia “Parameters (Advanced)” das propriedades do artigo:

 

Propriedades do Artigo

 

Obs.: Este passo precisa ser realizado mesmo se o idioma já tiver sido selecionado para os artigos antes da instalação das extensões. Neste caso, basta abrir o artigo, verificar que o idioma esteja adequadamente selecionado e salvar.

 

3) Acione o “Multilanguage Article Manager”, através do comando “JCC Multilanguage Content”, do menu “Componentes”:

 

Comando JCC Multilanguage Content

 

Observe que a interface é idêntica ao “Article Manager”, com exceção de dois novos controles:

 

Controles de Idioma

 

Primeiro, temos um campo que nos permite filtrar os artigos apresentados por idioma. Segundo, cada artigo tem botões na forma de bandeiras, representando os idiomas instalados no site e também as traduções que podem ser editadas ou criadas para aquele artigo.

 

4) Para criar uma nova tradução, basta clicar sobre a bandeira do respectivo idioma:

 

Edição da Tradução

 

Ao fazer isso, será aberta a tela do editor que copiará alguns atributos do artigo original (como autor, data de criação, etc) mas te obrigará a entrar com um novo título e um novo apelido. A mudança da seção e da categoria é opcional.

 

O texto original é copiado como guia para auxiliar na tradução.

 

Observe que o atributo “Content Language” na guia “Parameters (Advanced)” do artigo já virá selecionado em conformidade com a bandeirinha de idioma clicada, que iniciou a edição da nova tradução:

 

Propriedades Novas

 

Perceba também que as propriedades do artigo, editadas a partir do “Multilanguage Article Manager” apresentam um novo campo: “Translation Article-Base”.

 

Este campo registra o artigo em seu idioma original, ajudando a estabelecer a relação entre traduções de um mesmo conteúdo.

 

Importante: NÃO EDITE ESTE CAMPO, a menos que você saiba perfeitamente o que está fazendo! O relacionamento entre as traduções de um mesmo conteúdo é estabelecido e mantido automaticamente pelas extensões do JCC Multilanguage Content Support.

 

5) Após criar as traduções dos artigos que julgar conveniente, vá ao editor do menu principal do site e altere o tipo do menu default:

 

Novos Tipos de Menu

 

Normalmente, o menu default está associado ao layout “Frontpage”. O JCC Multilanguage Content traz layouts análogos ao do componente de “Artigos” do Joomla, só que estes suportam a troca de idioma. Basta então, trocar o lay-out do menu default para o “Layout da Página Inicial como Blog” de JCC Multilanguage Content.

 

IMPORTANTE: Na versão BETA, somente os layouts “Layout da Página Inicial como Blog” e “Layout Padrão de Artigo” foram implementados, assim, não é possível fazer o mesmo para menus que usem outros layouts como os de categoria, seção e arquivo.

 

6) Vá ao “Module Manager” e edite o mod_JCCMultilangSelector:

 

Propriedades mod_JCCMultilangSelector

 

Este módulo gera a interface que vai permitir ao usuário do seu site trocar entre os idiomas disponíveis.

 

Habilite o módulo e posicione-o na área do lay-out que julgar mais adequada para esta função. O módulo também permite customização a partir de seus parâmetros:

Module Class Suffix Para os templates que suportem esta funcionalidade.
Control Style

Temos três opções:

Flags - Exibe bandeiras representativas do idioma;
Combo - Uma lista dos idiomas para selecionar;
Both - Exibe ambos os controles.

Flags Width

O pacote já instala as bandeiras para pt-BR, en-GB e es-ES,
nos quatro tamanhos indicados.

 

7) Verifique o resultado em seu site:

 

Abaixo tenho um exemplo do resultado final:

 

Exemplo pt-BR

 

 

O destaque abaixo do Menu Principal mostra o módulo mod_JCCMultilangSelector em plena ação. Escolhi Control Style = Both e Flags Width = 24 x 24.

 

Clicando na bandeira inglesa ou selecionado a opção “English (United Kingdom)” no combo do módulo, resulta na imagem abaixo:

 

Exemplo en-GB

 

Perceba, pelos destaques em ambas as imagens, que não só o conteúdo do artigo se traduziu como também as mensagens do template.

 

Isto ocorre porque as extensões trabalham integradas ao mecanismo de idiomas do Joomla. Desde a apresentação das opções (são apresentados somente os idiomas que possuem pacotes de linguagem instalados) até a mudança da língua de todo o site é coordenada com os pacotes de idioma do site.

 

 

Finalizando

 

Para mim, 5 são os principais pontos positivos desta extensão:

 

a) Não hackeia nenhuma parte do Joomla, assim, não tem risco de “detonar” sua instalação;
b) Todo o conteúdo gerado a partir dela é 100% compatível com o conteúdo padrão do Joomla;
c) Compatível com todos os templates e customizações para conteúdo padrão do Joomla;
d) Utiliza consistentemente as mesmas configurações do componente de artigos do Joomla;
e) Compatível com as traduções do Joomla;
f) Trata idioma de site e idioma de conteúdo como uma única coisa.

 

Mas também esta é uma versão beta e – por isso – ainda tem limitações. Algumas delas são:

 

a) Não incluir layouts para categoria, seção e arquivo;
b) Não cobre a tradução dos menus;
c) Não cobre a tradução do título do site;

 

Este é um trabalho em andamento. Assim, pode-se esperar melhorias no futuro.

 

Estarei usando estas extensões em meus sites e assim, estarei dando manutenção nelas sempre que houver necessidade. Qualquer um que as utilize é bem vindo para trazer sugestões, críticas (construtivas, por favor) e indicações de bugs. Não se tratará, naturalmente, de um serviço de suporte, pois as extensões são fornecidas “no estado”, mas teremos o máximo prazer em analisar todas as idéias e – pelo menos – responder a seus interessados.

 

 

Obs.:

 

Em linhas gerais, posso adiantar que suporte multi-idioma para categorias e seções somente deve sair com o lançamento do Joomla 1.6, uma vez que categorias e seções sofrerão profundas mudanças.

 

 

Download

 

O componente é fornecido "no estado". Nenhuma garantia, nem suporte estará associado ao seu uso. O componente é disponibilizado nos termos da licença GNU-GPL. Conheça estes termos aqui.

 

JCC Multilanguage Support Pack vs 0.5 (beta)
Arquivo contendo todas as extensões do JCC Multilanguage Support

 

 

 

Sobre o Autor

 

Júlio Oliveira
Júlio Oliveira é Analista de Sistemas com Pós-graduação em Gerência de Projetos de Software pela PUC/Rio. Têm 20 anos de experiência em desenvolvimento de software corporativo, dos quais 10 anos, em seguradoras de médio e grande porte, atualmente, trabalha com consultoria de TI e desenvolvimento de web sites.

 



Adicionar este artigo ao seu site de favoritos ?
Digg! Reddit! Del.icio.us! Google! Live! Facebook! Technorati! StumbleUpon! MySpace! Netvouz! Mister-Wong! Diigo! Faves! Ask! DZone! Swik! Twitter! LinkedIn!

Comentários (5)
5 Qua, 27 de Janeiro de 2010 11:27
jami
Bom dia,intale o seu modulo, e segui os passos acima, mas nao esta aparecendo as bandeiras como o combo....
Como posso resolver isso?


Att.
4 Sáb, 23 de Janeiro de 2010 18:42
Viriato
Caro Júlio,
Em primeiro lugar deixe-me felicitá-lo por este componente, que irá com certeza tornar-se numa excelente (e a meu ver vantajosa) alternativa ao Joomfish. Só falta mesmo arranjar maneira de traduzir os módulos e os menus e acertar um ou outro pormenor. Por exemplo: reparei que, ao traduzir um texto, a versão original e a traduzida aparecem uma a seguir à outra na listagem "em blog" dos textos dessa categoria. Haverá maneira de dar a volta a isto?
Também seria muito útil que o selector de linguagem aparecesse sempre visível quando está configurado para "todos os menus", e não apenas na página inicial do menu default. Foi isto que sucedeu comigo, pelo menos. Aliás, aconteceu-me também que não consegui instalar o módulo selector de linguagem através do instalador do Joomla: aparecia-me a indicação de erro dizendo que não existe um ficheiro de instalação. Assim, acabei por fazer o upload via FTP e instalá-lo manualmente, mas não sei se ficou como devia...
Estes meus reparos pretendem ser uma crítica construtiva, dado que gostei mesmo muito deste componente, e gostaria de começar rapidamente a utilizá-lo nos meus saites.
Espero que em breve haja boas novidades.
Um grande abraço desde Lisboa.
3 Seg, 23 de Novembro de 2009 18:22
mcleyver
Caro Júlio, boa tarde! Este plugin que vc criou faz a tradução automatica ou gerencia apenas os artigos que farão parte daquele grupo de lingua? quantas linguas estão disponíveis? Grato e parabens pelo projeto.

*** Resposta 24/11/2009 06:37 - Rio de Janeiro ***
Olá McLeyver,

A extensão apenas gerencia os artigos que farão parte daquele grupo de língua.

No pacote, encaminho Português, Inglês e Espanhol, mas pode ser expandido para outros idiomas, bastando fazer a tradução e incluir as imagens correspondentes.

Obrigado.
2 Dom, 06 de Setembro de 2009 18:05
webrp
No joomfish não somos forçados a criar qualquer menu.

Essa sua extensão obriga a usar um "menu item" próprio? Então se usarmos um standard do joomla, a vossa extensao já não funciona nessa página?
Resposta do Administrador
Dom, 06 de Setembro de 2009 21:48
Administrator
Exato!

Ele faz tudo sem "hacks" no código do Joomla e, todo o conteúdo traduzido, é armazenado como conteúdo nativo do Joomla - que pode ser usado independente da extensão.
1 Dom, 06 de Setembro de 2009 04:22
webrp
nao conheço nenhuma alternativa ao joomfish, mas esta parece que tenta ser.
Espero que consigas desenvolver esta extensao, Não só os menus são importantes, mas também modulos, links, dados do global config, etc...
Só não percebi muito bem como é ue fuunciona isso de criar um menu da tua extensão. Boa sorte!
Resposta do Administrador
Dom, 06 de Setembro de 2009 13:34
Administrator
Obrigado pela força, amigo. Estamos desenvolvendo a extensão e pretendemos que ela se torne bastante funcional. Para isso, você está certo, precisamos contemplar, no mínimo, todos os aspectos que você citou. Aliás, a este respeito, teremos novidades em breve!

Quanto a sua dúvida, se estiver falando a respeito do ponto 5 do artigo, após a instalação do componente, os novos tipos de menu serão automaticamente disponibilizados na interface de criação e edição de menus do Joomla. Eles podem ser usados em substituição das opções padrão de lay-out de conteúdo, o que resultará no suporte a múltiplas traduções de um mesmo conteúdo.

Adicionar comentário

Seu apelido/nome:
Comentário:

Menu Principal

Editar traduo para English (United Kingdom) Editar traduo para Português (Brasil)
Blog Sistemas e Cia