![]() |
Language problem - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Using CodeIgniter (https://forum.codeigniter.com/forumdisplay.php?fid=5) +--- Forum: Libraries & Helpers (https://forum.codeigniter.com/forumdisplay.php?fid=11) +--- Thread: Language problem (/showthread.php?tid=73948) |
Language problem - ji_louis - 06-26-2019 Hi everybody; I create a website using both english, french and spanish languages as a user may choose. This work perfectly at the homegage since I don't use language helper (I use post and session). My problem appear later at a form page. I followed the Language Class tutorial (https://www.codeigniter.com/user_guide/libraries/language.html) and created dedicated files: application/language/english/connect_lang.php application/language/french/connect_lang.php application/language/spanish/connect_lang.php all of them filled respectively with things like: //for french $lang['pas_de_compte'] => "Je n'ai pas encore de compte"; $lang['a_compte'] => "J'ai déjà un compte"; //for english $lang['pas_de_compte'] => "I have no account yet"; $lang['a_compte'] => "I already have an account"; // for spanish $lang['pas_de_compte'] = "Aun no tengo cuenta"; $lang['a_compte'] = "Ya tengo una cuenta"; I catch the language used by the Connect.php controller with: $langue = $this->session->userdata('langue'); $idiom=['fr'=>'french', 'en'=>'english', 'es' => 'spanish']; My problem is that when I use : $this->lang->load('connect', $idiom[$langue]); the language file is correctly found but the array of keys/values is printed directly in the HTML as a whole file instead of filling each label or text field. Things happen the same when I use that in the view instead of the controller. I don't understand why nor how to fix it. code result: Code: <!DOCTYPE html> As you cas see, the lang file is found, its key/value array is printed without being requested, and the labels are printed but empty. RE: Language problem - InsiteFX - 06-27-2019 You are loading the languages wrong. PHP Code: $this->lang->load('connect', $idiom[$langue]); RE: Language problem - includebeer - 06-28-2019 How do you fetch the translations in your view? I suspect you have an error that outputs the $lang array. See this page for the correct syntax for the lang() helper: https://www.codeigniter.com/user_guide/helpers/language_helper.html#lang RE: Language problem - ji_louis - 06-30-2019 (06-27-2019, 03:04 AM)InsiteFX Wrote: You are loading the languages wrong.Thank you for your answer but the array is not the problem. $langue values 'fr' or 'en' or 'es', so $idiom[$langue] values 'french' or 'english' or 'spanish', witch is correct since the language file is correctly found. RE: Language problem - ji_louis - 06-30-2019 (06-28-2019, 05:37 AM)includebeer Wrote: How do you fetch the translations in your view? I suspect you have an error that outputs the $lang array. See this page for the correct syntax for the lang() helper: https://www.codeigniter.com/user_guide/helpers/language_helper.html#lang Thank you for your answer. I can not verify immediately since I changed my code including the complete array of translation in my view (old fashion way,boring but efficient) to not keep being blocked with that problem. I know this solution is not the elegant one so I will try to go back to the 'state of the art' solution a little bit later, including what you mention. RE: Language problem - Wouter60 - 06-30-2019 What's the purpose of including all key/value pairs in the view? You didn't enclose it in php tags. Anything in a view without php, html or javascript tags, will be literally visible on the page (as plain text). |