-
Notifications
You must be signed in to change notification settings - Fork 0
i18n Multi language Library Helper
Not finished yet!!!
[b]Multi-domain:[/b] http://domain.nl (dutch = nl) http://domain.com (english = en)
[b]Multi-language:[/b] http://domain.nl/en (default dutch = nl, override english = en) http://domain.com/nl (default english = en, override dutch = nl)
[b]Multi-segments:[/b] http://domain.nl/en/news (default dutch = nl, override english = en, english segments) http://domain.com/nl/nieuws (default english = en, override dutch = nl, dutch segments)
In this tutorial I use libraries, helpers, routes, configs, hooks, etc.
HMVC proof to use modules...
[b]Used ideas:[/b]
[url=http://maestric.com/doc/php/codeigniter_i18n]Internationalization (i18n) library by Jérôme Jaglale[/url] [url=http://codeigniter.com/wiki/URI_Language_Identifier/]URI Language Identifier by Wiredesignz[/url]
This library / helper uses the usual way CI stores language-files. Inside the [b]application[/b] folder a folder named [b]languages[/b]. Inside laguages the language folders (dutch english etc.) and inside the language folders the language-files. application/languages/dutch/urls_lang.php
[b]application/config/routes.php[/b]
[code]
// Urls start
$route['^mobiel|^handy|^movil|^cell(/:any)?'] = "mobile$1";
// Urls end
[/code]
The part "Urls" is only for the controllers. In my case I have a database with three tables "languages", "url_segments" and "url_languages".
Table "url_languages" > columns: lang_id, lang_ci, lang_cc Table "url_segments" > columns: urlseg_id, urlsec_first (bool), urlsec_line, lang Table "url_languages" > columns: urllang_id, urlseg_id, lang_id, urllang_line, urllang_lang
And I will generate the routes and language-files automaticaly. Later more on this...
[b]application/config/config.php[/b]
[code]
[/code]
- Original author: Derek Jones
- How to extend helpers: See User Guide
- Modified by: Thomas Stapleton (id, classes, selected country option and all option)
- Modified by: Bradley De-Lar (construct, setLayout example)