opa,
Esse é um assunto que me interessa muito e que já ia levantar aqui na lista para achar outros desenvolvedores que se interessem.
Eu já pesquisei bastante esse plugins e não gostei totalmente de nenhum.
Comecei então o projeto de um plugin que resolva essa questão.
O plugin está praticamente pronto para ser usado. Gostaria muito de saber se algum desenvolvedor se anima. Abaixo copio e colo a apresentação da ideia que mandei há muito tempo atrás para a lista wp-hackers (em ingles). Ali eu argumento os pontos fracos dos outros plugins e proponho a estrutura do meu.
O código tá aqui:
http://wordpress.org/extend/plugins/multi-language-framework/(não gosto desse nome, pretendo mudar)
O plugin já está totalmente usável. A única coisa que falta para uma versão 1.0 é tradução de taxonomias e itens do menu.
1. What Ive seen
The 2 best plugins Ive seen are Q-Translate and WPML.
Why I dont like them:
Q-Translate
-> saves the content of the post int the same post_content field of
the database, separating the languages with html comments.. When the
theme outputs the content of a post, it gets filtered and displays only
one language. Appart from that, this is an excelent plugin. But I just
cant sleep well at night knowing my database is like this...
WPML -> creates a lot of extra tables in a complex database
structure and is associated with a translating service. In the top of
that, the plugin does a lot more than just adding the multi language
support and claims itself as a cms solution for wordpress... I like
plugins that do only one thing very well done.
2. How do I think that can be done?
2.1 translating posts
First, I think it can be done without adding any extra table or doing anything out of the database structure.
The
approach Im using is to treat translations as post types. So, for
instance, if I would translate my posts to spanish, there would be the
native "post" post type and the plugin would add the
"post_translation_es" post type.
In the edit posts screen, there would be an extra column called
'translations' that would show for each post if it already have the
spanish translation. If it has, there is a button 'edit', if it dont,
'add'. If you go to the edit screen of the spanish posts, you would see
the same thing, the other way round.
This part is already coded and working fine.
2.2 translating everything else (appart from taxonomies)
I
think its nice to be able to translate everything on the site (The site
title, te text of a text widget, etc). So what Im trying to do is to
add a filter in get_option() and update/add_option() to allways check
which language are we visiting right now (int the front end or the
admin, does not matter) and allways look for a corresponding option in
the current language.
For instance.. if you do a get_option('option_name') and are
visiting the spanish site, it will try to find an option called
'option_name_es'. If there is not, it will get the default. Same thing
when saving.
You can have a look at the code here:
http://wordpress.org/extend/plugins/multi-language-framework/--
leogermani.com.br