【发布时间】:2017-01-25 09:46:46
【问题描述】:
我正在使用最新的 codeigniter 3.1.3
有如何使用语言的说明 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;
但是如果我写那几行代码我会得到以下错误:
遇到了 PHP 错误
严重性:警告
消息:preg_match() 期望参数 2 是字符串,给定数组
文件名:core/Lang.php
行号:109
回溯:
文件:.../application/views/home_view.php 线路:14 功能:加载
文件:.../controllers/Home.php 线路:14 功能:查看
文件:.../project/index.php 线路:315 函数:require_once
如果我删除
$idiom = $this->session->get_userdata('language');
$this->lang->load('error_messages', $idiom); --> ERROR (home_view
并放入autoload.php
$autoload['language'] = array('error_messages');
一切都很好。
但我不想自动加载所有语言文件,因为我不知道用户是否需要它们。
有人可以帮忙吗?
谢谢
【问题讨论】:
-
你设置会话了吗..
-
检查您的会话数据是否为数组,因此请转换为字符串或从会话中获取特定数据
-
好吧,谢谢这是会话问题
标签: php codeigniter localization