

== THE EASIEST MULTILANGUAGE HACK for XOOPS ==
SUMMARY:The easiest multilanguage hack I ever seen.

All you have to do is just copying a file and inserting a line into mainfile.php.
Block's cache and module's cache are valid.
Since this is just a patch to mainfile.php, don't mind about updating core files.
This hack might not harm the other hacks at all.
Even with ShortURLs, it is just an issue of order in mainfile.php
USAGE:- edit easiestml.php in this archive as you like
original:
define('EASIESTML_LANGS','en,ja');
eg)
define('EASIESTML_LANGS','en,fr');
- copy easiestml.php into XOOPS_ROOT_PATH/include/
- open mainfile.php with your editor and insert a line like this:
// XOOPS Virtual Path (URL)
// Virtual path to your main XOOPS directory WITHOUT trailing slash
define('XOOPS_URL', ...);
require XOOPS_ROOT_PATH.'/include/easiestml.php' ; // insert this
// Database
// Choose the database to be used
define('XOOPS_DB_TYPE', 'mysql');
- edit the other entries in CONFIGURATIONS of easiestml.php
- That's all!
If you define EASIESTML_LANGS as 'en,fr', you can desscribe it like this:
[en]English part[/en]
[fr]French part[/fr]
Common part
Visitors select the language at first visiting, and the language selection is stored in his cookie.
Thus, you'd better insert


tag into your theme or custom block.
If you want to enable auto-language-judgement from information sent by browser, edit the definition of EASIESTML_ACCEPT_CHARSET_REGEXES/EASIESTML_ACCEPT_LANGUAGE_REGEXES in configurations area.
In 1.23, a constant 'EASIESTML_CHARSETS' is added into the CONFIGURATIONS. Edit it please.
If you want to divide <input> for each languages, you can use post merger.
edit the CONFIGURATION
define('EASIESTML_USEPOSTMERGER',0 1);
and edit the templates like this:
<input type="text" name="subject" value="<{$value}>" />
English: <input type="text" name="subject[en]" value="<{$value|easiestml:"en"}>" />
Japanese: <input type="text" name="subject[ja]" value="<{$value|easiestml:"ja"}>" />
CHANGELOG2008-10-01 1.31
- modified ACCEPT_LANGUAGE is estimated former than ACCEPT_CHARSET (thx nobu)
2008-06-20 1.30
- added post merger
- added manual language switcher for dividing values of <input>
- modified [mlimg ] outputs flags separated with spaces (thx jagi) 1.30a
2007-04-02 1.26
- added a configuration specifying the default language
- modified mlimg tag HTML-lint friendly

2006-09-07 1.25
- fixed the logic judging clients's language
2006-01-29 1.24
- modified regex pattern for escaping <input type="text" value="...">
2005-12-29 1.23
- supported FastestCache (added a constant EASIESTML_CHARSETS in CONFIGURATIONS)
2005-12-24 1.22
- added a feature judging client's language by $_SERVER['HTTP_ACCEPT_CHARSET'] or $_SERVER['HTTP_ACCEPT_LANGUAGE'] using perl regex (Edit the definition of EASIESTML_ACCEPT_CHARSET_REGEXES/EASIESTML_ACCEPT_LANGUAGE_REGEXES in configurations area)
2005-04-11 1.21
- fixed a typo in excluding directory (thx domifara)
2005-03-18 1.20
- fixed troubles caused by buffer overflows of "forward readings"
2005-03-18 1.11
- fixed the logic eliminating <br /> just after language tags
2005-03-03 1.10
- added debugging mode -all- for system admin
- modified to eliminate <br /> just after language tags
- added a tag for images selecting languages [ mlimg]
2005-03-02 1.00
- The first public release
by GIJOE
http://www.peak.ne.jp/xoops/