25
Mai
JCC Multilanguage Support Pack
Escrito por Júlio Oliveira Última atualização (Sex, 28 de Agosto de 2009 11:09)
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:
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:
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”:
Observe que a interface é idêntica ao “Article Manager”, com exceção de dois novos controles:
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:
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:
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:
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:
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:
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:
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

























Como posso resolver isso?
Att.
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.
*** 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.
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?
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.
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!
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.