开发者 | gh3 |
---|---|
更新时间 | 2008年8月20日 22:48 |
PHP版本: | 1.5 及以上 |
/wp-content/plugins/babel/
directorylang_tag.gif lang_tag_d.gif
lang_tag is the tag that you can setup in babel.php file (for more info about add/modify languages read Faqs)
<?php babelize(); ?>
in your templates[en]post in english[/en] [it]post in italian[/it]
You have only to write post, tagging each language:
eg. [it]Italiano[/it] [en]English[/en]
For titles, you have to write as normal title inside post, the one in the language you have set as default in babel.php file.
Then you have only to scroll till Custom Fields and add:
key: the short tag of the language ( eg. it or en, etc )
value: the title text
You have to open babel.php file and set all the default value in arrayLang variable to 0, execpt for the one you want to set as default visible.
You can do following these steps:
Open babel.php
Look at arrayLang var
Point your mouse between after this line:
1 => array ( "lang" => "it"�"default" => 0� "title" => "Italiano")
Add a comma and press enter
Add a new lang increasing the first number to 2, and setting all the info like:
1 => array ( "lang" => "fr"�"default" => 0� "title" => "French")
The last thing you have do to, is to put inside the babel directory two images called in the same way as lang attribue in the array.
Eg.
If lang => "fr" we will have to name the two gifs like: fr.gif ( the active flag one ) and dfr.gif ( for the disabled one )
First of all you have to open the functions.php file inside your theme, and add this: Now the system will be able to handle with localized urls like: http://p.osting.it/my-works/babel/ and http://p.osting.it/en/my-works/babel/ If you are using other languages, you will have to add these lines: $newrules['LANG/category/(.)$'] = 'index.php?category_name=$matches[1]&lang=LANG'; $newrules['LANG/tag/(.)$'] = 'index.php?tag=$matches[1]&lang=LANG'; $newrules['LANG/page/(.)$'] = 'index.php?paged=$matches[1]&lang=LANG'; $newrules['LANG/(.)$'] = 'index.php?name=$matches[1]&lang=LANG'; $newrules['LANG $'] = 'index.php?lang=LANG'; Per each new language. IMPORTANT, you have to substitute LANG with your lang tag.
If you are using pages in your blog and you are interested in localize their links/permalinks too you will have to this line to your functions.php file in the babel_rewrite_rules function: $newrules['en/about$'] = 'index.php?pagename=about&lang=en'; And if you want to localize permalinks also for children pages, you will have to add a line like this: $newrules['en/about/(.*)$'] = 'index.php?pagename=about/$matches[1]&lang=en';
Menu localization is actually on alpha stage, so it could not work perfectly.
Its usage is very simple, look at this example:
<?php _b("testo"�"http://"�"it"); _b("text"�"http://"�"en");?>
It's very similar to localize a link, you will have only to omit the link value with something like:
<?php _b("testo"�""�"it"); _b("text"�""�"en");?>
I saw that some templates misuse the the_title function for the anchor title value too, and this generate some troubles with Babel.
The solution to this problem is very easy, you have to edit a couple of your template files ( in particular single.php, index.php and page.php ).
First of all you have to find this line:
title="Permanent Link to <?php the_title(); ?>"
and the replace with this one:
title="Permanent Link to <?php echo strip_tags(get_the_title()); ?>"
More problem is very easy to fix with a simple workaround, you have just to write a post doing this: `[it]Before more italian[/it] [en]Before more english[/en] [it]After more italian[/it] [en]After more english[/en]`