What is WP_Multilingual?
WP_Multilingual is extension that brings WordPress multilingual support. With it's help you can publish more that in one language at a time. Its easy, cheap and simple way to use multilingual advantages of blogging.
Rincewind could shout `help!` in fourteen languages and scream for mercy in a further twelve.
“Eric” by Terry Pratchett
WP_Multilingual is extension that brings WordPress multilingual support. With it's help you can publish more that in one language at a time. Its easy, cheap and simple way to use multilingual advantages of blogging.
For instance, if the post is in English, and the default language is English, the existing posts would have "en" as the key. Other examples would be de / fr/ ja when German, French and Japanese are the default language. Don’t worry, WP_Multilingual does not touch your existing posts – it just doesn't use the posts table for saving content information.
Copyright (C) 2008 United Nations University
This program is free software developed by Oleg Butuzov for the United Nations University: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
First you need to check what version of Wordpress drives your blog. We've developed WP_Multilingual from version 2.3* (that means any Wordpress branch from version 2.3 will work with the WP_Multilingual plug-in). If you have an earlier WP version you will need to upgrade before proceeding.
It also work with WordPress 2.5 RC1 (betta mode).
You will need to check which character set your database is set to before you proceed. Almost 99% of hosting services that provide MySQL set the default language to Latin. Before you proceed you will need to change this to UTF-8. Not doing so will prevent your chosen character set from displaying and saving correctly. You can check your character set using PhpMyAdmin ( http://phpmyadmin.net ). If your database is set to UTF-8 then you can proceed, otherwise you will need to follow the step below.
Before proceeding with modifying your database remember to make a backup

As you see from the example screen shot above, the second database has latin-swidish collation, but all tables have utf8 collation. This is correct. If your database looks like the 1st one in the screen shot – I.e. With a character set other than utf8 you can run this query for each one of the tables.
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
Replace tbl_name with the original table name that needs to be converted. The table list you can find with the help of phpMyAdmin.
If you encounter problems with the above approach, there are a number of online resources that explain how to convert latin mysql to utf mysql. For example Convert mysql from unconfigured encoding to utf8
Assuming you were successful in converting the database or your database was already utf8 move on to the next step.
Open your wp-config.php from your site and check it has the constant definition:
define('DB_CHARSET', 'utf8');
If not, ad it to the list of definitions.
This is needed to create collation when a connection is made to mysql.
OK. The hard part is over. Lets move to easy part.
Copy all content from your extracted Wp_Multilingual plug-in download to wp-content/plugins directory and activate it via Plugins page from wp-admin.
As you see you will need install one more plug-in…
Unfortunately WP_Multilingual only supports Dean’s FCKeditor for now, but with thousands of developers using it, it must be good!
Download, install and activate Dean’s FCKeditor and let's finish the installation.
Once installed you will find a menu item in your Wordpress Admin panel.
Select the default language via the options page of Wp_Multilingual. This language will be the default for all your current posts/pages.
Congratulations WP_Multilingual is now installed! Moving to next step…
Via “Language List” you can edit/add/remove languages for you blog.
Now you have defined 2 languages (default and 2nd language) write a new post to see how it works.
IMPORTANT NOTICE
You always need to write at least a title in the Default language to save ML (multi language) post.
Default language variable (title, content or excerpt (for blog entries) ) will replace localized variable if this variable does not exists.
You can customize these variables via the categories bar in the Language page (WP_Multilingual page in wp-admin called Languages). You can edit titles and descriptions for each of these categories (as tags do not support descriptions , these cannot be edited). Slug’s localization is currently not supported.
You can manage these via writing/management posts/pages pages in wp-admin.
By default Wp_Multilingual works with permanent and dirty (dynamic) links, but if you switch on permanent links you also should write a tag (tag_base) and category (category_base) base starting from "/" char (/categories and /tags) for example.
You should add language identify to your form action to make the right selection for specific languages.
<form method="get" id="searchform" action="<?php bloginfo('home').'/'.$language; ?>/">
<form method="get" id="searchform" action="<?php bloginfo('home').'/?language='.$language; ?>/">
You can change the WP_Multilingual localization (use plugin in your native language) via the Options page (Language bar at wp-admin) of via your profile edition.
WP_Multilingual currently localized in English, Russian, Ukrainian, Italian, Franch and Greek
If you have a localization file that was used (“was used” because WP_LANG constant was replaced at the time of installation by a dummy constant) in wordpress and exists at wp-includes/languages/ directory – you can see a WP localization select box with a list of possibilities for localizations.
Front-end localization is used for localization of your theme. You can do it yourself or change main the localization that is used for the localization of WP. It should be called LOCALE_NAME.mo and be located: wp-includes/languages/
It will be automatically loaded when user opens your blog in a specific language. You can easy diversificate WP-admin and front-end localizations by naming mo files using LOCALE_NAME for front end and language code (or LOCALE_NAME) for WP-admin. Locale name you can view in Languages List page (Language bar).
You are free to use the built in switcher or make your own. Sample switch code for the language switcher can be viewed on the Options page (Language Bar).
All you need to do its write your own css for the switcher (you also can write it into your style.css in your theme).
If you want to help me to localize WP_Multilingual in your language - just ask me.
Ask for free help via icq 318183, email qwerty@qwerty.co.ua or directly via Help page of Multilingual plugin, i will answer you asap.
This plugin was created with help and by the request of the UNU MediaStudio team. Please visit (http://mediastudio.unu.edu/) for more information on team and it's projects.