Wordpress multilanguage com qTranslate
by Felipe 'chronos' Prenholato on Sexta, 04 Dezembro/2009, under Multilanguage, My Blog
A pedido do nosso amigo Handrus Nogueira, meu amigo e colega de trabalho a muito tempo, vou hoje postar sobre como estou trabalhando com multilanguage no Wordpress.
Existia um conceito básico em manter um blog multilanguage, até um certo tempo atráz, que era: mantenha dois blogs e poste de acordo em cada um deles.
Com o plugin qTranslate para o Wordpress as coisas ficaram mais fáceis. O qTranslate te permite trabalhar as diferentes linguagens para categorias, posts, titulo do post, etc. Com essa facilidade fica fácil postar em duas linguagens sem precisar manter dois Wordpress rodando.
Vamos a instalação, baseada na página do qTranslate e no que eu fiz aqui (eu tenho uma conta na dreamhost):
- Faça o download na pasta de plugins do seu Wordpress, a última versão hoje é a 2.3.4:
cd pasta/de/plugins; wget http://downloads.wordpress.org/plugin/qtranslate.2.3.4.zip
- Descompacte o arquivo:
unzip -x qtranslate.2.3.4.zip
- Ative o plugin na área administrativa do seu blog
- Na página de plugins do seu blog, na linha do qTranslate, existe um link Settings, é lá que você configura seu qTranslate. Clique e você poderá configurar quais linguagens vai usar e quais não.
Agora, na configuração do qTranslate será feita da seguinte maneira:
- Vá a parte de ‘Languages’, onde você deve adicionar a sua linguagem caso ela não exista, remover ou não as não usadas (eu removi para não ter uma lista longa a toa) e configurar as ativas e não ativas. A linguagem pt_BR não existe por default quando instalei, então precisei criar. A adição de uma nova é bem simples, preencha com os dados:
- Language Code: pt
- Flag: br.png (pode ter várias br.png, escolha a correta)
- Name: o nome desejado, eu coloquei Português
- Locale: nome da locale correta, no estilo usado pelo Wordpress, PHP, gettext, o correto para nós é pt_BR
- Date format: formato da data baseado na função strftime do PHP, meu valor é: %A, %d em %B/%G
- Time format: formato da hora baseado na função strftime do PHP, meu valor é: %H:%M
- Not avaliable message: mensagem para caso não for achado um post naquela linguagem, meu valor é: Sorry, this entry is only available in %LANG:, : and %.
- Ative as linguagens desejadas e selecione a linguagem padrão. Eu marquei as caixas ‘Hide Untranslated Content’ e ‘Detect Browser Language’ também, a descrição segue ao lado delas no seu Wordpress.
- Em ‘Advanced Settings’ você configura como o qTranslate vai trabalhar no seu Wordpress. Leia atentamente todas as opções, mas aqui destaco as três mais importantes para mim:
- URL Modification Mode: define como vai ser exibido os posts em teu site de acordo com a linguagem.
- Update Gettext Databases: pode ser útil para tradução da sua interface do Wordpress.
- Date / Time Conversion: marque ‘Use strftime instead of date and replace formats with the predefined formats for each language.’. Isto permite que você possa até usar a saida de data de acordo com o país, e já garante que os nomes de dias e meses saim com a linguagem correta.
Pronto, vá a página de posts e caso esteja usando o editor visual irá ver as abas correspondentes as linguagens selecionadas bem como o título.nn Veja como ficou minha janela:
Uma última dica, é, como a página do qTranslate indica, ativar o widget para mudança de linguagem. Este widget fornece os links para as linguagens usadas para caso o ususuário queira mudar de linguagem e adiciona um widget na sidebar. Eu como prefiri colocar ele no header do site e no tema que escolhi não havia nada para configurar no header sem ser fuçei um pouco no código do qTranslate e achei a função qtrans_generateLanguageSelectCode. Seu uso é bastante simples, veja como usei em meu blog:
<?echo qtrans_generateLanguageSelectCode('both');?>
Agora é postar a vontade em qualquer linguagem
. Comentários ou dicas sobre o assunto por favor, é muito muito bem vindo.
Abraços!

sexta, 24 em abril/2009 on 04:56
Muito bom artigo, parabéns,
utilizei ele para aprender a mexer com esse qtranslator, para montar o blog de um cliente aestevam.com.br
Um abraço
Vlwwss pela dica.
segunda, 18 em maio/2009 on 14:40
Valeu pelo tutorial!
sexta, 29 em maio/2009 on 09:46
Muito bom o post, estava a procura dessa solução para um cliente, estou testando é muito prático, um abraço!
sexta, 29 em maio/2009 on 09:53
Fico realmente muito feliz que possa ter sido util a tanta gente
.
Estou trabalhando em novos e bom posts, devagar, mas com qualidade
Thx!
quinta, 04 em junho/2009 on 10:04
Gostei do qTranslate também é uma ótimo solução. Agora pesquiso uma forma de traduzir também o resumo (excerpt) pois esse fica igual em todas as linguas. Você conhece alguma solução? Abraços.
quinta, 04 em junho/2009 on 10:16
Poxa, eu não conheço…. talvez a melhor maneira seria adicionar isso ao qTranslate mesmo, não creio que sejam necessárias muitas modificações e ainda se melhora um ótimo plugin (enquanto o WP não suportar isso nativamente) :]
sábado, 04 em julho/2009 on 19:29
Oi Felipe, tudo bem ?
Instalei o plugin no meu blog, mas não consigo adicionar a opção do português.
Recebo esta mensagem: Language is already enabled or invalid!
Tentei editar o codigo do plugin,mas isso gerou um série de erros. Você teria alguma idéia do que acontece ?
Desde já obrigada !
Luciana
domingo, 05 em julho/2009 on 18:17
Olá Luciana. Eu nunca vi acontecer, mas eu tentaria, na ordem:
1 – remover e reinstalar plugin
2 – checar permissionamento
3 – adicionar novamente a linguagem
Caso não funcione, e quiser entrar em contato comigo por email/msn/gmail podemos verificar juntos o que acontece, e de quebra deixar documentado.
Abraços!
terça, 07 em julho/2009 on 10:23
Oi Felipe, super obrigada !
Já instalei e desinstalei e nada …
Tenho uma desconfiança de incopatibilidade com algum outro plugin instalado, testei num outro blog e funcionou perfeitamente.
Deixei meu gmail,se puder entrar em contato, agradeço sua ajuda !
bjs
segunda, 13 em julho/2009 on 00:24
Embora já tenhamos tentado resolver o problema do plugin acho interessante notar que temos uma nova versão do qTranslate que saiu hoje, http://wordpress.org/extend/plugins/qtranslate/, suportando WP 2.8.1 ou superior. Lu, acho que caso ainda não tenha feito este é um bom motivo para atualizar sua versão do Wordpress
sábado, 18 em julho/2009 on 16:15
Estou com o seguinte problema: qTranslate Services could not load OpenSSL! Não sei o que fazer.
sábado, 18 em julho/2009 on 16:55
Olá Rodrigo. O problema parece bem simples, seu PHP parece não ter suporte a SSL. O qTranslate exige suporte a SSL quando seus serviços estão habilitados.
Tente ou dar suporte a SSL para seu PHP ou siga os seguintes passos:
1. Logue no admin do WP.
2. Vá para Settings -> Languages.
3. Desça até ‘qTranslate Services Settings’ e desabilite os serviços.
Deve deixar o qTranslate funcionando
.
Se funcionar ou não só confirme
Abraços.
domingo, 19 em julho/2009 on 15:24
Oi Felipe, os serviços do qtranslate já estavam desabilitados. Sabe como faço para dar suporte SSL ao PHP?
Obrigado pela ajuda
domingo, 19 em julho/2009 on 16:52
Opa Rodrigo. Se você estiver com um servidor onde você possa compilar o PHP, você deve ter instalado o OpenSSL e acertar corretamente o PHP (algumas distros devem ter o pacote separado). Caso seu site esteja hospedado com um serivço de hosting, você vai precisar entrar em contato com eles. Te passo abaixo o link para a página referente a OpenSSL no manual do PHP: http://br2.php.net/openssl
terça, 18 em agosto/2009 on 11:59
Oi Felipe, valeu pelo tutorial. Não conseguia por as flags no site. Deve ser algo bobo mas não consigo pôr elas lado a lado como ficou no seu. Alguma dica?
Grata,
carol
terça, 18 em agosto/2009 on 14:01
Oi Carol, é um simples CSS, basta flutuar as ‘<li's e elas ficarão lado a lado, se tiver alguma dúvida quanto a isso posso te ajudar mais a noite.
Abraços!
quarta, 19 em agosto/2009 on 23:48
Felipe,
copieir o codigo da tua página e vi como vc fez… com spans e puxando as flags… diferente do que tava no post, mas outra opção… só coloquei um li na instrução acima usando uma versão adaptada da classe dos menus logo abaixo. Só não entendo pq q acavala assim.
Alguma sugestão?
ficou:
e no stylesheet:
.header li.lang_item a, .header li.lang_item a:visited {list-style-type: none; float: right; font-size: 12px; background-color: none; color: #FFF; padding: 5px 5px 0px 5px; margin-left: 10px; text-decoration: none;}
quinta, 20 em agosto/2009 on 00:16
humm, esse padding é quem é o cara mau, se vc remover ele (o 5px 5px 0 5px) a lista do qtranslate não vai mais ficar zoada, testei aqui com o firebug no seu site.
, boa noite, bjos
Te add no gtalk, qq coisa podemos falar por lá