Skip Navigation
9

FeedBurner is an excellent tool for delivering your RSS feed and a newsletter. It's reliable, easy to use, gives handy statistics and is free. I'll show you how you can use FeedBurner to deliver multilingual feeds (and a multilingual newsletter).

1. Create different feeds for each language

You want visitors to receive news in their language only and not sent a whole mix of languages for them to choose from.

WordPress' RSS feed is normally located in http://YOURBLOG/feed/ (see full details in the Codex for how to access your feed).

WPML will produce per language feeds in URLs that depend on your language negotiation scheme. Basically, it will be the language domain ending with feed/. For example, if you're using languages per directories, your Spanish feed would be at http://mysites.com/es/feed/.

There are different formats for RSS feeds. We experimented and discovered that the standard WordPress /feed format produces invalid feeds when posts have non English characters.

What we're using is http://YOURBLOG/es/feed/rdf/ which keeps all UTF-8 characters unchanged (and valid).

So, head over to your FeedBurner account and create a different feed per language.

Create a new FeedBurner feed

Create a new FeedBurner feed

1.1 Validate your new FeedBurner feed

This is optional, but highly recommended. After I create a new RSS feed, I validate it. I use the W3 Feed Validator. Among the errors that existed in my multilingual feeds were character encoding issues and bad names.

2. FeedBurner language setup

The BrowserFriendly screen under Optimize, lets you select the language for each feed page.

FeedBurner BrowserFriendly
FeedBurner BrowserFriendly

Click on Theme and select one that has the right language.

3. Displaying the right feed for each language

Your feed is normally added to the theme. Some people use the excellent FD FeedBurner plugin. Unfortunately, since it can accept only a single FeedBurner URL, you'll have to roll up your sleeves and replace those RSS links manually. Don't worry, it doesn't bite.

What we did was to use GetText to localize the feed URL, just like other texts. Here is the code to put in the theme:

<a href="<?php _e('http://feeds2.feedburner.com/YOURFEED','YOUR_TEXT_DOMAIN'); ?>" >RSS</a>

Remember to replace YOURFEED and YOUR_TEXT_DOMAIN with real values. This text will be added to your theme's .po file. Then, when translate it, enter URLs of the other language feeds. For example, this is what we have in the es_ES.po file (real URLs here, change for your own):

msgid "http://feeds2.feedburner.com/wpml"
msgstr "http://feeds2.feedburner.com/wpmles"

4. Localized email signup

Many people, us included, also use FeedBurner to deliver a newsletter. It's just a copy of recent posts, delivered as an email. Since we write our news in our blog, we don't see a special need to maintain a secret newsletter that gets sent only to newsletter subscribers.

The newsletter subscription process requires visitors to confront FeerBurner's CAPTCHA. It's difficult enough when it's in your language, so why make it any more of a problem by presenting in a differnt language?

Luckily, FeedBurner lets you control which language will be used to display their sign-up confirmation page.

The raw FeedBurner email sign-up form looks like this:

<form action="http://feedburner.google.com/fb/a/mailverify" method="post">
Email: <input name="email" type="text" />
<input name="uri" type="hidden" value="YOURFEED_NAME" />
<input name="loc" type="hidden" value="en_US" />
<input type="submit" value="Subscribe" /> </form>

See that hidden input called "loc"? This is what controls the sign-up language. To have an Argentina Spanish sign-up form, enter value="es_AR" in that tag. For German, enter "de_DE" (and so on).

Summary

We've created different FeedBurner feeds, one for each language. Then, we created a theme function that returns the correct feed URL based on the language and used that in our theme. Finally, if you're also using an email subscription, we showed how to localize the subscription process.

Give it a try and let us know how it's working out for you!