2016-03-14 3 views
2

Я пытаюсь изменить языковой файл для моего form_validation_lang в моем LanguageLoader.php в моих крючках папка, как это:CodeIgniter изменить язык form_validation_lang

class LanguageLoader 
{ 
    function initialize() { 
     $ci =& get_instance(); 
     $ci->load->helper('language'); 
     $siteLang = $ci->session->userdata('site_lang'); 
     if ($siteLang) { 
      $ci->lang->load('message',$siteLang); 
      $ci->lang->load('form_validation',$siteLang); 
     } else { 
      $ci->lang->load('message','english'); 
      $ci->lang->load('form_validation','english'); 
     } 
    } 
} 

Для моего message_lang.php файла, он отлично работает, но CodeIgniter не загрузите form_validation_lang.php правильно после изменения языка.

В моей папке приложения:

-языка
- английский
--- message_lang.php
--- form_validation_lang.php
--german
--- message_lang.php
--- form_validation_lang.php

Он всегда берет файл form_validation_lang.php по-английски. Когда я перехожу на немецкий язык, он принимает правильный файл message_lang.php, но не файл form_validation_lang.php. Что я делаю неправильно?

Благодарим за помощь!

С наилучшими пожеланиями, сообщения Yab86

ответ

2

ошибок для form_validation всегда загружаются в языке, выбранном в вашем config.php. Чтобы изменить язык для form_validation сообщений, что вам нужно сделать небольшой трюк, изменив язык по умолчанию, как это:

$ci->config->set_item('language', $siteLang); 
+0

в config.php теперь $ конфиг [ «язык»] \t = «немецкий»; Должен ли я заменить его на $ ci-> config-> set_item ('language', 'german'); ? – yab86

+0

нет, это только если у вас есть многоязычный сайт, с языком по умолчанию на английском языке и хотите сменить на немецкий язык на лету. – Vickel

+0

Ahhh .... теперь он работает. Я изменил в config.php на $ config ['language'] = ''; и в LanguageLoader я добавил $ ci-> config-> set_item ('language', $ siteLang); Большое спасибо! – yab86

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