Использование нескольких языковых представлений для одного и того же контроллера в CodeIgniter - PullRequest
0 голосов
/ 06 ноября 2010

Как использовать несколько языковых представлений в контроллере в соответствии с параметром url? У меня есть английская версия веб-сайта в CodeIgniter. Я хочу создать греческую и арабскую версию этого веб-сайта без изменения моделей и контроллеров. Кто-нибудь знает, как это сделать, чтобы я мог заставить CodeIgniter отображать различные представления для одного и того же контроллера в соответствии к языковым параметрам в URL. как URL ниже

http://www.example.com/en/ для английского

http://www.example.com/ar/ для арабского

http://www.example.com/gk/ для греческого

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 06 ноября 2010

Попробуйте с этим:

Библиотека интернационализации (i18n) для CodeIgniter

Я использовал его в своем проекте с небольшими изменениями, и это действительно здорово.

0 голосов
/ 09 ноября 2010

Вы можете сделать следующее, если у вас есть разные шаблоны / представления для каждого языка.

$lang = $this->uri->segment(1);

$this->load->view("view_folder/".$lang."/main_page");

Затем вы можете сохранить каждый из этих языков следующим образом:

view_folder/en/main_page.php
view_folder/ar/main_page.php
view_folder/gk/main_page.php

Не забывайте редактировать маршруты, чтобы вы могли использовать один и тот же контроллер.Я бы использовал Regex в системе маршрутизации, например:

$route['([a-z_A-Z]+)/controller'] = 'controller';

Затем, когда вы выполните http://www.example.com/en/controller, вы будете перенаправлены на контроллер, и $this->uri->segment(1); будет доступен для выбора языка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...