Reputation: 1378
How do I use multiple language views in a controller according to the url parameter? I have a english version of a website in CodeIgniter.I want to make Greek and Arabic version of this website without changing the models and controllers.Anybody know how to do it so that i can get CodeIgniter to display different views for the same controller according to the language parameters in the URL. like the URL below
http://www.example.com/en/ for English
http://www.example.com/ar/ for Arabic
http://www.example.com/gk/ for Greek
Thanks in advance
Upvotes: 0
Views: 1995
Reputation: 6346
You can choose to do the following, if you have different templates/views for each language.
$lang = $this->uri->segment(1);
$this->load->view("view_folder/".$lang."/main_page");
Then you can store each different languages like this:
view_folder/en/main_page.php
view_folder/ar/main_page.php
view_folder/gk/main_page.php
Please keep in mind to edit the routes, so you can use the same controller. I would use Regex in the routing system, like this:
$route['([a-z_A-Z]+)/controller'] = 'controller';
Then when you do http://www.example.com/en/controller , you should be redirected to the controller and $this->uri->segment(1);
will be available for language selection.
Upvotes: 0
Reputation: 1110
Try with this:
Internationalization (i18n) library for CodeIgniter
I've used it in my project with little modification and it is really great.
Upvotes: 2