2017-01-25 2 views
0

Ich bin mit neuesten codeigniter 3.1.3codeigniter lang-> Last (ERROR)

Es gibt Anleitung, wie Sprachen https://www.codeigniter.com/userguide3/libraries/language.html#handling-multiple-languages

$idiom = $this->session->get_userdata('language'); 
$this->lang->load('error_messages', $idiom); --> gives ERROR (home_view line 14) 
$oops = $this->lang->line('message_key'); 
echo $oops; 

verwenden, aber wenn ich schreibe, dass Codezeilen ich folgende Fehlermeldung:

A PHP Error was encountered

Severity: Warning

Message: preg_match() expects parameter 2 to be string, array given

Filename: core/Lang.php

Line Number: 109

Backtrace:

File: .../application/views/home_view.php Line: 14 Function: load

File: .../controllers/Home.php Line: 14 Function: view

File: .../project/index.php Line: 315 Function: require_once

Wenn ich entfernen

$idiom = $this->session->get_userdata('language'); 
$this->lang->load('error_messages', $idiom); --> ERROR (home_view 

und in autoload.php

$autoload['language'] = array('error_messages'); 

alles ist in Ordnung.

Aber ich möchte nicht alle Sprachdateien automatisch laden, da ich nicht weiß, ob der Benutzer alle von ihnen benötigt.

Jeder kann helfen?

dank

+0

hast du Sitzung festgelegt .. –

+0

überprüfen Sie Ihre Sitzungsdaten, wenn seine Array so wenden Sie sich bitte in String konvertieren oder bestimmte Daten aus Session –

+0

gut erhalten, dank es wurde Session Problem – flashore

Antwort

0

Sie können wie this.Access Session-Variable $this->session->userdata('item_name') Verwendung erreichen.

$idiom = $this->session->userdata('language'); 
$this->lang->load('error_messages', $idiom); 
$oops = $this->lang->line('message_key'); 
echo $oops; 

ODER

$this->config->set_item('language', $idiom);//dynamically set language 
$this->lang->load('error_messages');//load lang file 

$oops = $this->lang->line('message_key'); 
echo $oops; 

Hoffe, dass es Ihnen hilft.

Weitere sehen hier https://codeigniter.com/userguide3/libraries/sessions.html

+0

es war ein Problem mit der Sitzung. Sitzungsdaten wurden nicht richtig festgelegt. – flashore

+0

Sitzungsvariable mithilfe von 'userdata()' not 'get_userdata() 'abrufen. –

+0

siehe in answer.hope werden Sie die Variable korrekt erhalten. –