2013-04-04 4 views
0

Я работаю в течение нескольких часов и часов, но я не мог найти четкий и эффективный способ решить мою проблему.Как сделать веб-сайт codeigniter многоязычным Арабский и французский

У меня есть 2 шаблона (header + content + footer) на арабском языке & французский. Для каждого языка в моем контроллере используются разные страницы и разные функции. Как я могу сделать многоязычный сайт?

Чтобы пройти в моей ссылке ?lang=fr или ?lang=ar без ущерба для моей ссылке, которая похожа на: localhost/site/controleur/method/id

Ps: я использую БД MySQL.

ответ

1

Да, вы можете создать отдельную lang папку (для каждого языка), имеющего файл с похожими ключами, но значение (текст) будет соответствовать типу языка. Затем включите этот конкретный языковой файл (папку) по запросу по идентификатору.

+0

как насчет текстовой позиции ??? мы читаем арабский справа, а французский слева. –

+1

Я думаю, что в этом случае вам нужно загрузить всю библиотеку 'lang' и настроить файлы' lang' дальше, добавив позицию как французский налево, тогда каждый из них будет начните с LEFT_KEY_NAME. и использование выражения 'if' может определять положение текста. Значит динамически вы можете переключить позицию 'lang' Надеюсь, это будет иметь для вас смысл :) – MaNKuR

+0

Я попробую это спасибо :) –

0

Почему вы просто не используете sub-folders для своих контроллеров на основе языка?

controllers/ar/my_controller.php 
controllers/fr/my_controller.php 

http://www.example.com/fr/home 
http://www.example.com/ar/home 
+0

thats, как я продолжаю, но мой босс хочет использовать Multilingue codeigniter ... –

0

Зачем вам нужны разные страницы для вашего сайта? IMO, вам нужно переключать шаблоны или загружать разные контроллеры на основе языка

На всякий случай, и если вы только начинаете свой проект, вы можете найти Bonfire, который намного лучше подходит для этого. Он поддерживает шаблонизацию и интернационализацию в гораздо более легком способе .

+0

спасибо за ответ, мне нужны разные страницы, потому что я использую 2 разных языка при чтении, мы читаем арабский справа, французский слева, поэтому мы дали мне 2 разных шаблона с разными css –

0

Codeigniter уже обеспечен Многоязычный объект, его поддержка интернационализации,

Все, что вам нужно, это контроллер, языковые файлы, а также просматривать.

На основе выбранного языка ваш контроллер загрузит соответствующий языковой файл, а в файле вида будут отображены шаблоны, написанные в файле языка.

Ваш языковой файл будет выглядеть как этот

$lang['language_key'] = "The actual message to be shown"; 

Ваш контроллер, значение siteLang может быть получен либо из URL-адрес, или вы можете их сохранить, как куки в браузере.

function home(){ 
    $this->lang->load('home', $this->siteLang); 
} 

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

<?php echo $this->lang->line('language_key'); ?> 

Некоторые ключевые моменты, как nomencalature файлов Ланг и т.д., Вы можете найти больше об этом, в ссылке ниже http://ellislab.com/codeigniter/user-guide/libraries/language.html

Смежные вопросы