Chronosbox
aricept intercourse (sexual) accutane buy prevacid diabetes mellitus buy buspar independent variable arimidex fresh water (FW) buy zetia online buy zocor online independent variable

WordPress multilanguage com qTranslate

by on Segunda, 10 Maio/2010, 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):

  1. 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
  2. Descompacte o arquivo:
    unzip -x qtranslate.2.3.4.zip
  3. Ative o plugin na área administrativa do seu blog
  4. 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:

  1. 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 %.
  2. 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.
  3. 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:

qTranslate in post page.

qTranslate in post page.

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:

Agora é postar a vontade em qualquer linguagem :) . Comentários ou dicas sobre o assunto por favor, é muito muito bem vindo.

Abraços!

** Alguns links **

  • qTranslate FAQ (erros básicos e suas soluções são listadas aqui): http://www.qianqin.de/qtranslate/forum/viewtopic.php?f=3&t=3&start=10
  • Um TAR com os arquivos .po e .mo (usados pelo qTranslate para traduzir) usados no meu blog: http://chronosbox.org/gettext_blog_files.tbz2 (não deixe de checar o MD5).

** updates **

:, , , , ,

43 Comments for this entry

  • Duhh

    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.

  • Eduardo

    Valeu pelo tutorial!

  • Assis Santos

    Muito bom o post, estava a procura dessa solução para um cliente, estou testando é muito prático, um abraço!

  • Gustavo Fernandes

    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.

  • Lu

    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

    • Felipe 'chronos' Prenholato

      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!

  • Lu

    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

  • Rodrigo

    Estou com o seguinte problema: qTranslate Services could not load OpenSSL! Não sei o que fazer.

    • Felipe 'chronos' Prenholato

      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.

  • Rodrigo

    Oi Felipe, os serviços do qtranslate já estavam desabilitados. Sabe como faço para dar suporte SSL ao PHP?
    Obrigado pela ajuda

  • carol

    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

  • carol

    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;}

  • André Canhadas

    Tive o mesmo problema com o openssl, não conseguia adicionar pelos widgets, a solução foi colocar o codigo citado:()no sidebar.php do meu tema ativo.

  • Bruno Eleutero

    Olá,

    Primeiro parabéns pelo artigo.
    Consegui realizar a instalação e configuração de outra forma e gostaria de replicar seu artigo em meu site: (http://brunoeleutero.com) se preferir vamos conversando por email.

    • Felipe 'chronos' Prenholato

      Muito obrigado Bruno, fique a vontade para reproduzir o artigo, apenas não esqueça de citar as fontes originais :) . Seu blog parece muito interessante, vou ficar de olho nele :) , se puder colocar o meio alternativo que você fez a configuração em um comentário ou me enviar por email, eu atualizo o meu artigo aqui.

      Até!

  • Bruno Eleutero

    Obrigado!

    Publiquei o artigo, pode ser acessado no link: http://www.brunoeleutero.com/2010/wordpress-multilanguage-com-qtranslate/ , se houver algo de errado no artigo me envie um email: brunosilva.ti@gmail.com
    Também gostei muito de seu blog, estou acompanhando seus posts :)

  • Tiago

    Opa, Felipe, muito bom seu tutorial. Queria mudar a cor do texto de Englis e Portugues que estão vermelho. Você pode me falar qual o codigo pra o style. Também Não estou entendendo porque o flag em Ingles ta vindo primeiro do que portugues que coloquei em defalt. Valeu.

  • Bruno Said

    Urgentíssimo.

    Como você faz pra ele traduzir os titulos do Widget?

    Estou louco com isso. Não tenho nenhuma idéia de como fazer ele traduzir automaticamente os títulos.

    Preciso de uma resposta rápida.
    Help! =/

    Abraços!

  • Paulo

    Olá Felipe, eu já estava pensando em montar um blog bilingue, e com a ajuda do seu ótimo post resolvi apostar no qtranslate, porém, já fiz várias tentativas sem sucesso para habilitar a língua portuguesa. Já instalei, reinstalei, etc e mesmo seguindo os passos do seu post o resultado é “Language is already enabled or invalid!”. Outra coisa que não consegui fazer funcionar é a tradução automática que supostamente o plugin oferece. Estou usando o WP 2.9.2 e o qTranslate 2.5.7. Teria alguma idéia do que está acontecendo???
    obrigado.
    abs
    Paulo

  • Gustavo

    Olá! O meu qtranlator instala tudo beleza, mais na hora que vou para o post ele da um erro:

    The qTranslate Editor has disabled itself because it hasn’t been tested with your WordPress version yet. This is done to prevent WordPress from malfunctioning. You can reenable it by clicking here (may cause data loss! Use at own risk!). To remove this message permanently, please update qTranslate to the corresponding version.

    Já viu algo parecido. Abraço.

  • philadelfo

    No Qtranslate ativei o services para ver o que acontecia… agora não consigo acionar a aba idiomas mais… mensagem que aparece quando clico:

    PHP Warning: openssl_pkey_export() [function.openssl-pkey-export]: cannot get key from parameter 1 in E:\home\clubedoautor2\web\escrevoaovivo\wp-content\plugins\qtranslate\qtranslate_services.php on line 97
    PHP Warning: openssl_pkey_get_details() expects parameter 1 to be resource, boolean given in E:\home\clubedoautor2\web\escrevoaovivo\wp-content\plugins\qtranslate\qtranslate_services.php on line 98
    PHP Warning: openssl_open() [function.openssl-open]: unable to coerce parameter 4 into a private key in E:\home\clubedoautor2\web\escrevoaovivo\wp-content\plugins\qtranslate\qtranslate_services.php on line 138
    PHP Warning: openssl_free_key() expects parameter 1 to be resource, boolean given in E:\home\clubedoautor2\web\escrevoaovivo\wp-content\plugins\qtranslate\qtranslate_services.php on line 144
    PHP Warning: Invalid argument supplied for foreach() in E:\home\clubedoautor2\web\escrevoaovivo\wp-content\plugins\qtranslate\qtranslate_services.php on line 228
    PHP Warning: Invalid argument supplied for foreach() in E:\home\clubedoautor2\web\escrevoaovivo\wp-content\plugins\qtranslate\qtranslate_services.php on line 405

  • juvejava

    Oi Felipe,
    Muito bom o seu blogue, eu estou me deparando com uma situação igual á do philadelfo, sabe para quando vem essa versão nova?

  • Erica

    Olá,
    estou traduzindo meu site para inglês e espanhol com o qtranslate e estou adorando. Somente tenho uma dúvida: tenho uma imagem no meu header (que é uma frase em portugues) e que preciso mudar conforme o idioma. No style.css tenho:
    .widget-area .textwidget .cabecalho { background: url(…… como faço para customizar por linguagem ?

  • newton

    Amigo,

    obrigado pela ajuda, mas preciso traduzir também o menu. que no meu header.php tá ‘menu’) ); ?>

    eu precisava q qnd traduzisse pra BR, além de trocar o conteúdo (ja funciona) trocasse o codigo para ‘menuBR’) ); ?>

    Alguém ai ja fez isso?

  • Carlos Viegas

    Oi. Conhecia o plugin já e cheguei até aqui procurando a solução para um problema que encontrei.

    Estou desenvolvendo um site que necessita que as suas URLs também sejam alteradas de acordo com a linguagem selecionada. Pelo que vi, no seu exemplo você possui também apenas uma URL para quaisquer dos idiomas que aplique. Não acho que isso seja certo. Afinal, se o título da página é “Maçã”, nada mais justo que a sua URL também seja “maca”, e não “Apple”, como prega a política de links da aplicação.

    Se alguém tiver a solução para este quase bug (do ponto de vista dos mecanismos de busca é um desastre) me avisem.

    Parabéns pelo blog e sorte o/

  • Mário Nilcain

    Gostaria de sabe como vc configurou pra coloca as imagens no seu topo personalizado o link das bandeiras.
    Vc falou pra gente da uma olhada aqui:
    qtrans_generateLanguageSelectCode. Seu uso é bastante simples, veja como usei em meu blog:

    Só que não mostrou de como usou?

    Estou tentando coloca aqui neste site, nas bandeiras no topo:
    http://www.renatalaterza.com.br/

    Se vc alguém me ajuda serei muito grato..

    valeuwww

  • Jonatha

    Olá a todos e principalmente ao dono do post.

    Eu já tinha algum tempo configurado o qTranslate em site que estou construindo mas, outros plugins que possuem linguagem eles não mudam de acordo com que ocorre com mudança de idioma.

    O site todo paginas, tags, categorias e tudo mais que é wordpress vai ok. Agora o language de outros plugins tem o Mo pt_BR e en_US mas não muda juntamente com qTranslate alguém tem alguma dica?

  • Daniele

    Olá! Eu não consegui visualizar o código para eu colocar na página principal, acima dos menus como vc fez… Vc pode me passar? Obrigada.

  • Ivan Ortiz

    Por favor eu instalei aqui o qtranslate mas só funciona para os posts, eu percebi que no seu caso quando se troca de idioma ele troca tambem o menu como eu faço isso???

  • Ivan Ortiz

    Ja aprendi é só adicionar rotulos valew!

1 Trackback or Pingback for this entry

Leave a Reply

StatPress

Visits today: 62 Visits since 6 de abril de 2009: 76383 Visitors now: %visitoronline%