Posted:August 23, 2006
NOTE: With Google’s recent announcement of its language translation service (see, there is no longer a use or need for this AI3 blog to maintain its language translation service and Javascript. Thus, the downloads listed below are still available, but no longer maintained or supported. MKB

Author’s Note: There is zipped HTML and Javascript code that supports the information in this post. If you develop improvements, please email Mike and let him know of your efforts.

Download Language Translator and JS code file Click here to download the zipped file (2 KB)

For those of you that follow BrightPlanet, we have been moving aggressively for some time now into international document harvesting and all that that implies regarding language and encoding detection and roundtripping. In fact, there is a fairly definitive tutorial post on my blog that deals with these so-called i18n internationalization issues that has become quite the reference on these matters. With its partnership with Basis Tech, in fact, BrightPlanet now can harvest documents in about 140 different languages with accurate encoding translation in multiple legacy forms for about 40 of them and morphological analysis for another 20 or so. There can be no doubt that the need for multi-lingual searching and harvesting and encoding support is an abiding trend of the evolving Internet.

So it was a great surprise and pleasure to encounter Lorelle VanFossen‘s blog site where she has cleverly linked in Google’s machine language translation capabilities. Her explanation of that approach is provided by this specific posting. So, using these techniques, my site has now embraced these language translation capabilities for the nine languages shown as follows:

So add some language translation links to your sidebar or posts and help spread the word about your blog to the world. (Go ahead, actually click on these!):

Translate into Spanish

Translate into German

Translate into French

Translate into Portuguese

Translate into Italian

Translate into Arabic

Translate into Japanese

Translate into Chinese

Translate into Korean

You will also note that my blog now has a standard panel link (different format; see below) to translations into these languages on the main and subsidiary pages.

Try this! It’s fun and impressive. Some have criticised the “ultimate” quality of these translations, but Google improves them continuously over time.

Actual Implementation and Javascript

You should note that Google itself limits the amount of actual text it will translate at any given time. Thus, if you use the translate links
from this site’s main page with its many cascading prior posts, you will see only a few posts translated. If you use the links on specific posts, however, you will find most of the content even for my longish entries translate fully.

Also, these translations are uni-directional. Don’t continue to cascade from language to language; you will get processing errors. Always begin with the English pages as originally published on this site.

There are also two other flaws in the straight implementation as described above:

  1. Google’s listing of machine translated languages is growing, and the nine listed above already take up some real estate for the languages listed. We’re probably already past the point of buttonitis
  2. There is not context for picking up the dynamic URL of wherever a user might be in a Web site or blog.

So, Graham Beynon, one of BrightPlanet’s senior developers, wrote a more generalized Javascript approach, a variant of which presently appears on this site. Via standard option listings, the languages can easily be expanded should more become available from Google, simply by adding another option entry and using the appropriate two-letter language code. Great work, Graham, and thanks.

If you inspect the source code, you’ll also see a couple of other choices you can make in the code operation by removing or adding comments. And, of course, should you choose to use this snippet, make sure you get rid of the test query and remove the HTML header stuff. You can, however, use the LanguageTranslator.html as is.

To download this file, click on the link at the top of this post. And, enjoy!

So, Welcome to Adaptive Information on the Modern Web. Or, rather:

  • In Spanish — Recepción a la información adaptante sobre el Web moderno
  • In German — Willkommen zu den anpassungsfähigen Informationen über das moderne Netz
  • In French — Bienvenue à l’information adaptative sur le Web  moderne
  • In Portuguese — Boa vinda à informação adaptável na correia fotorreceptora moderna
  • In Italian — Benvenuto alle informazioni adattabili sul fotoricettore moderno
  • In Arabic — ارحب التكيف معلومات عن شبكه حديثه
  • In Japanese — 現代網の適応性がある情報への歓迎
  • In Chinese (simplified) — 欢迎在适应现代信息网络
  • In Korean — 현대 웹에 적합한 정보에 환영.

Why is it that all of us get on particular jags?  I started yesterday with a minor interest in pursuing some semantic Web relationships with my blog site and soon found I was cruising in all directions plugins.

My last post describes the first stages of semantic readiness for my blog, with a number of follow-on enhancements in the works.  But in the process, I also came upon a nice display of social bookmark sites at the Ebiquity blog (thanks, Tim Finin, it is one of my favorites) that I immediately envied.

Well, after an amazingly short time in research, I came across one plugin that puts such links on WordPress — Sociable — that is a very clean and capable plugin.  It not only installs like a dream in WordPress (standard procedure), but it also adds some nice option settings that allow you, the blog administrator, to:

  • Select which pages the bookmark links appear on
  • Select which bookmarks get listed
  • And, select the order and some other display options.

In fact, install was so easy in looking at the PHP I was confused as to how the obvious settings and options in the plugin could be set.  My only silly criticism of the Sociable plugin is that there is virtually NO documentation and NO hype, which meant it took me a little poking around to see that when installed these site administrator options even became available.  But once discovered, cool.  How these setting options look in my WordPress administration center is shown below: 

Now we’re talking real power and coolness in a plugin.

Socialble was inspired by Paul Stamatiou and Kirk Montgomery developed and released the first version of the plugin as WP-Sociable in January 2006. In February 2006, Peter Harkins took over development. So, as you notice the new cool icons at the bottoms of my posts, credit goes to Peter and his predecessors and the Sociable plugin.  Nice work, guys.

Posted by AI3's author, Mike Bergman Posted on August 23, 2006 at 9:06 am in Blogs and Blogging, Site-related | Comments (3)
The URI link reference to this post is:
The URI to trackback this post is: