Multilingual Plugin for WordPress
Multilingual is a WordPress plugin I’ve been developing with Chris Waigl (who blogs bilingually herself). Its goal is to provide a powerful means to blog in any number of languages, and we hope to make it the most intuitive, powerful and elegant multilingual blogging tool available — all in a simple plugin form.
It was inspired by a post on Stephanie Booth’s blog listing, among other things, some functionality she’d like to have in a bilingual plugin. Chris & I took Stephanie’s ideas even further, and have already built functionality for:
- Writing unlimited alternate-language versions of any post, in any language — including title, excerpt and post content — while maintaining support for
<!--more-->links and pagination - Post-level language switching for readers, using cookies to save the state of multiple posts
- Page-level language switching for readers
- Automatic discovery of readers’ preferred languages
- A WordPress localization module switcher
- Customizable locales when outputting date and time information (on a per-post basis, with translation)
- Semantically correct (X)HTML
langandxml:langattributes
In addition, we plan to build support for the following:
- Permalink integration, with alternate-language versions of post slugs and sanitized category names
<link>s to alternate-language versions, as well as other semantically correct elements (with thanks to Firas)- Alternate-language category names
- Alternate-language template text
- Machine translation tie-ins
Some folks, like Firas, have already contributed some great ideas to the project. We absolutely welcome these, and encourage you to let us know if you think of anything you’d like to see incorporated into the project.
As the project matures, we will be taking pains to cover as many bases as possible in terms of locales and language support. But obviously, together Chris & I only speak three languages — so we’ll be relying heavily on support from the international WordPress community for testing in languages that we don’t speak (Chinese in particular will need some heavy testing) and contributions of locale and localization information. (Thanks go out already to Andreas Pedersen, Dr. Dave, and neuro` for their help with the Danish, Japanese, and French locales, respectively.) At some point we will set up a permanent resource where folks can contribute this information, but until then please contact us directly by email or comment if you’d like to help out. (I’m morgan at this domain.)
Currently the project is still pre-alpha, so it is not ready to be used. Like all other plugins at wp-plugins.org, it can be downloaded at any time, but it is currently not recommended for anything other than non-production testing. Its development is progressing rapidly, so if you want to test it at this point, please be sure you know what you’re doing and can troubleshoot if an update is not backward-compatible. Naturally, I advise anyone interested in testing to take all necessary precautions to avoid or recover from a system meltdown should the plugin go awry. And if it does, please tell us about it.
The changelog and documentation will be placed here at some point in the future. I’ll be posting further updates here as the development progresses, so stay tuned!
February 19th, 2005 at 3:24 am
But something like this already exists!
I’m using slightly enhanced version of LanguagePicker plugin. It deals with all mentioned problems as you can see in my page. I have added automatic detection of visitor’s language and it works with <–more–> as well. If you are interested send me e-mail.
February 19th, 2005 at 4:12 am
Yes, I’m familiar with the LanguagePicker plugin. My aim with Multilingual is to go quite a bit further than the functionality found in LP.
February 25th, 2005 at 1:03 pm
Ooh, this is VERY exciting! It sounds like you’re going to do everything I WISH I had done with LanguagePicker but never did (or didn’t do very well!) I’ll happily test and contribute fixes wherever/whenever I can… I had been thinking about making a LanguagePicker 2.0 from scratch, but it would be redundant at this point.
March 15th, 2005 at 5:13 pm
Hi. I did a pt_BR.po file for the multilingual plugin. It’s available at http://leoboiko.8x.com.br/misc/Multilingual-pt_BR.po .
It’s been more than a month since the last svn commit… how it’s
may I help with anything?
)
going? I’m really rooting for this plugin
March 16th, 2005 at 1:46 am
Thanks for your support Leonardo! I’ve been pretty busy of late, so my plugin development time has been limited, but I plan to pick up development again this week or next. The next version will be a pretty major refactor with a lot of optimization, which it’s in dire need of right now. Look for another commit within the next couple of weeks.
Just FYI, I anticipate that the UI (and therefore the gettextable messages) will change frequently and significantly before 1.0, so I apologize if I end up breaking your PO. You may want to hold off updating it until the messages stabilize, to avoid a lot of repetitive and short-lived maintenance work. Thanks a lot though for taking that initiative!
April 14th, 2005 at 5:40 am
Guys, this is great! I also wanted to contribute and here is my Turkish po for you: http://dyn.ansync.com/fethiye/misc/Multilingual-tr_TR.po
Anyway we can help you finish this so all of us can enjoy?
April 15th, 2005 at 3:31 pm
How is going this Multilingual plugin?
I want to use it!!
Great idea!!!
My best wishes.
May 29th, 2005 at 1:33 pm
This plugin looks promising. I would really like to use it. PS: I am sorry if I messed something while tracbacking back here. I was experimentiong with my new blog and may be I did something wrong
June 3rd, 2005 at 5:25 pm
Multilingual blogging
First of all: some clarification is due about the terminology. As I mentioned in one of my first posts I chose WP beacuse I loved “the possibility of writing in different languages, with different alphabets without having to think for a moment …
July 6th, 2005 at 12:10 am
I’m giving a try at testing this great plugin. Congratulations, this is really good work !
I appreciate this is an alpha version. However, I just wanted to report what I noticed while testing.
I’m unable to manage multilingual categories. Whenever I want to add a language in a category, I get a blank page then nothing happens.
Also, one question : is there a way we can manage multilingual on pages or is this still in development ?
I’ve tested with two languages (French and English) and so far so good as far as the posts are concerned.
Please let us know when you get further
July 6th, 2005 at 12:25 am
I forgot to tell you I’m using WP 1.5.1.3 which is probably the reason why categories aren’t working. I know there has been major changes in the code in this version.
July 7th, 2005 at 2:08 pm
Is there still any development going on? This is the best approach to a multilingual blog solution I’ve seen yet. Don’t let it fall down!
As far as I can see static pages can not be translated. Is there some chance to see this feature in a forthcoming version?
July 13th, 2005 at 10:58 am
Hi! I’d love to test this plugin, but after copying multilingual.php to my plugin-folder, WordPress doesn’t list multilingual in the plugins-admin-panel. It also looks like there’s a lot of HTML in the file. And the last change was five months ago. Are still developing this? Please say you are! Regards.
July 13th, 2005 at 11:38 am
Now I see! I was trying to get this to work locally on my G4. Looks like the config wasn’t rewritable. Testing online now. Sorry for crying for help prematurely!
July 21st, 2005 at 7:20 am
I’ve just had a look at http://dev.wp-plugins.org/file/multilingual/trunk/multilingual.php - didn’t have the guts or time at the moment to actually test it. I notice it hasn’t moved in five months. Is it somewhat complete or usable ? I would gladly contribute, since I could definately use this for many projects.
July 29th, 2005 at 2:27 am
Just asking how far development has come?
I’m curious on it.
August 1st, 2005 at 2:30 pm
hey. . trying to/would like to test, have a question… a big one perhaps..
what syntax must be used.. i am going through the code, and could debug, but i thought maybe you knew and could give me a leg up so to speak..
looking specifically for..
looking specifically for..
1> how to flag text in the post/pages as another language i assume it is something like
alkjdf;lkajd
.. but that doesn’t seem to go
2> how to list posts/pages with the default/currently selected language
3> how to call for a translation (eg the permalinks and fr / en buttons you have up on top)
also.. perusing the code (i am quite a novice at it
.. i know, you aren’t asking for those of us in that realm really..) but there are a number of “
" which seems to misalign / leave things open?feel free to mail me
August 17th, 2005 at 1:15 pm
hi,
just wanted to check how things are going with the development… i’ve noticed that the last cvs checkin was quite a while ago
if there is an update (relatively) imminent, i’d wait it out - otherwise i’d grab the old version and hack it into submission on my site (since i am in dire need of multilingual support). last time i checked it seemed to be sort of non-functional with the short links feature. might have been my fault though.
August 18th, 2005 at 5:38 pm
I’d like to start a multilingual website, using WordPress more as a CMS than a blogging system, and after searching the web for a solution I’d rather say that this is the plugin I like.
I’m new at both PHP and WordPress (although I have a C++/Java background), but after a few hours of hacking with Multilingual I’ve already learnt a lot.
I’d like to help out whenever I can, and I was wondering which is the preferred way to contribute. I’m also learning how to use SVN, and I hope coming from CVS it won’t be too hard.
Anyway, I got the latest version of Multilingual with TortoiseSVN (I have WP 1.5.1.3) and I already have two comments to do:
After activating the plugin, I went to the Dashboard and I got this warning under the Comments section in the sidebar:
Warning: Missing argument 2 for ml_post_link() in W:\xampplite\htdocs\wordpress\wp-content\plugins\multilingual.php on line 1610
After some interesting search inside WP source files, that showed me how plugins work, I came up with this fix, around line 1747:
add_filter('post_link', 'ml_post_link', 1, 2);I had some Pages I wanted to “translate” as well, but the plugin was not showing options in the Page edit form, so I tried to add this around line 1400:
add_action('edit_page_form', 'ml_edit_form', 5);It seems to work. By the way, since it was hard to type into a textarea with 40 columns I also added the inline
style="width:97%;left-margin:1%"to match the original WP post edit field.Now some oddities, or probably it’s just me ’cause I’m new to all this…
I have WP 1.5.1.3 with an Italian language pack (.po) but after I activated the Multilingual plugin (I selected English and Italian as “frequent languages” and Italian for “WP localization” options) the WP Admin interface went back to English (default). As soon as I disable Multilingual, the interface comes back to Italian.
What did I miss?
When I first specified “lang=it” or “lang=it-IT” in the browser URL nothing happened, my Pages and Post were still displayed in English (default).
So I commented out
/*if (is_feed())*/in theml_the_contentfunction around line 1450 and I got my italian content.Notheless, only “lang=it-IT” gives me Italian date format. If I specify “lang=it” or nothing (the browser has Italian language preference in the HTTP headers) I get English formatting for dates. I tried calling
get_post_lang($id)inside The Loop in my own theme template, and it always displays “it-IT” in any of the afore mentioned three cases.Well, I guess that’s all. Thanks for sharing your wonderful plugin. I know it’s in Alpha stage, but I can’t wait to see the first official release, and I definitely want to help out, even if I’m a beginner.
August 23rd, 2005 at 10:56 pm
How do I install the plugin? I copied the files multilingual.php, Multilingual-es_ES.po and Multilingual-es_ES.mo into my \wp-content\plugins directory, logged into Plugin menu in the Admin panel, but it didn´t work.
What am I doing wrong?
TIA!
August 25th, 2005 at 8:14 pm
Hi,
i’m trying to test multilingual plugin but I’m getting some errors:
When setting language or creating new ones in category section a “Call to undefined function: get_currentuserinfo() …”
also in the options page, I cannot set the “WordPress Localization” field. It appears blank and cannot set any language.
Thanks in advance and greetings for your great work.
sgon
September 14th, 2005 at 10:23 pm
How is the development of the plugin?
September 24th, 2005 at 3:09 pm
Very interesting! I would love to see this happen!
Tell me about a planning if you can.
October 17th, 2005 at 5:01 pm
I’m trying get multi lingual with Chinese and Japanese as well as English. I’m learning these languages at the moment and figured a way of improving is to blog. Any developments in this area or should I start learning PHP too?
October 17th, 2005 at 5:37 pm
Xuan: No developments of yet, but I will be picking it up again soon.
November 10th, 2005 at 6:10 am
Hi,
I am very interested in this plugin, are there any news about it’s development?
November 12th, 2005 at 4:50 am
Also, please take a look at ticket number 1762 in WP trac; it warns that the word “page” is hardcoded in the permalinks structure (there is no $page_base variable).
November 16th, 2005 at 1:06 pm
[…] snapup.net/blog jetzt zweisprachig und mit 0,1% Fett Wed, Nov 16th, 2005 at 22:06 | Posted in metablog Translation: If you’re smart and you’re visiting this site with your eyes instead of looking at the RSS-Feed you can see that this blog has changed. Aehm, … yes, it’s still a Kubick-based-theme, s-o-r-r-y, but I’ve added dual-language support with the nice multilangual-plugin for WordPress and some templates-changes here and some handcoding there. Since my english is far away from beeing perfect don’t hesitate to learn some german, es lohnt sich. […]
December 6th, 2005 at 8:07 am
En flersprÃ¥kig blogg, ja…
Det kan ju verka lite pretentiöst att skriva pÃ¥ flera sprÃ¥k i en och samma blogg. Samtidigt är det ganska naturligt för mig, framför allt när jag skriver om saker som har väldig mycket med ett land (och därmed sprÃ¥k) att göra - och väldigt…
December 6th, 2005 at 6:56 pm
Ah, this is exactly what I have been trying to find, toutes catégories de weblog confondues. Mais plus encore, I am trying to figure out some way to incorporate that idea into a multilingual website where all the texts would reside into the database, with some CSS switching for the skin, especially when there are some words into the images.
Now, is this plugin still in development, and will it work with WP 2.0?
December 13th, 2005 at 8:00 am
When will this plugin be officialy done? thanks in advance
December 14th, 2005 at 11:03 pm
Any one able to get this working? or interested in continuing development? I really need this plugin and I am willing to hack it into working shape, but wondering if anyone else has done some of it or is currently working on it.
adeh -at - desandies.com
December 16th, 2005 at 9:56 am
[…] I tried the multilingual plugin today, but it didn’t work out too well. First, I would have to manually convert the language of all existing posts, and then the plugin ate the post titles in the RSS feed. Also, I wonder if I would still have been able to edit posts in MarsEdit. […]
December 28th, 2005 at 8:07 am
[…] The site is backed by wordpress with the multingual plugin. I had to fix some bugs and add some additional code, but multilingual was awesome. […]
January 11th, 2006 at 2:55 pm
Hi Morgan,
I am American, but speak and write pretty good German (I’d say about 98% accuracy or so) if you need help with it. I know some Italian, am currently learning it, but only have about 70% accuracy, better than the translation programs anyhow. Am interested in using WordPress and your plug in when it is finished. Write me if you could use my help.
Carmen
February 1st, 2006 at 5:27 am
How do I install the multilingual plugin? I downloaded Multilingual.php and the .mo file to the plugins folder and activated it, but the options/Multilingual link points to wp-admin/multilingual.php. Where do I get this file from? Copying Multilingual.php from the plugins to the admin folder does not help: “Call to undefined function: is_plugin_page() ”
So how do I install it correctly?
Christian
February 10th, 2006 at 2:27 am
This is exactly what I have been looking to implement, and I would be happy to contribute to it. Is the project still active???
April 28th, 2006 at 7:35 am
I’m looking forward to use it for my site to post and practice German, English and Japanese!
May 28th, 2006 at 6:23 pm
I managed to solve the problem of having WordPress in two (or more) languages in a rather new way, check it out if you think it can be useful
www.emanueleferonato.com/2006/05/26/wordpress-in-two-or-more-languages/
May 30th, 2006 at 3:50 pm
[…] Googling did provide me with one ambitious project, the Multilingual plugin for Wordpress by Morgan Doocy and Chris Waigl. Unfortunatly […]
July 5th, 2006 at 10:21 am
[…] Multilingual is in Alpha. Polyglot might be a good one to use for now. Gengo is another possibility. […]
January 1st, 2007 at 1:12 pm
This looks like a great plugin. I looked at several others but this one seems to have the features I want. I am having some trouble with the installation. On the Write page, when I click the ‘Add language’ button I get a page with the following error:
Warning: Missing argument 2 for ml_post_link() in /home/myahyaor/public_html/wp-content/plugins/multilingual/multilingual.php on line 1610
Warning: Cannot modify header information - headers already sent by (output started at /home/myahyaor/public_html/wp-content/plugins/multilingual/multilingual.php:1610) in /home/myahyaor/public_html/wp-includes/pluggable-functions.php on line 269
I appreciate any help!
September 17th, 2007 at 12:06 am
[…] Visit […]