#1 newsun668
今天,我试了一下字典翻译技术,发现了一个问题。我有一个index.html模板页,上面有一个下拉选择框,可以选择当前语言:中文和英文的发现,模仿教程中的示例,却发现选择中文时却显示是英文,选择英文却显示英文。文件如下:
cn.php 放在 /lang 目录
return array(
'About'=>'关于',
'Tools'=>'工具',
'File'=>'文件',
'Chinese'=>'中文',
'Englist'=>'英语',
'TEXT'=>'有时候我们会希望让使用者输入比较大量的文字,此时,文字输入列就显得不敷使用'
);
?>
en.php 放在 /lang 目录
return array(
'TEXT'=>'THIS IS LONG TEXT'
);
?>
index.html 模板(摘选主要的)
<{T w=$message[0] }>
<{T w=$message[1] }>
<{T w=$message[2] }>
<{T w="TEXT" }>
index.php
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
define("APP_PATH",dirname(__FILE__));
$spConfig = array(
'lang' => array(
'en'=>APP_PATH . '/lang/en.php',
'cn' => APP_PATH . '/lang/cn.php'
),
'view' => array(
'enabled' => TRUE, // 开启视图
'config' =>array(
'template_dir' => APP_PATH.'/tpl', // 模板目录
'compile_dir' => APP_PATH.'/tmp', // 编译目录
'cache_dir' => APP_PATH.'/tmp', // 缓存目录
'left_delimiter' => '<{', // smarty左限定符
'right_delimiter' => '}>', // smarty右限定符
),
)
);
require(SP_PATH."/SpeedPHP.php");
spRun(); // SpeedPHP 3新特性
main.php 控制器
class main extends spController
{
function index(){
$my_lang = $this->spArgs("lang","en"); // 默认是英语
$this->setLang($my_lang);
$this->my_lang = $my_lang;
$this->message=array('File','About','Tools');
$this->display("index.html");
}
}
?>
就是以上的代码。如果把 index.php 中的两行绿色文字改为如下,则正常显示
'en'=>APP_PATH . '/lang/cn.php',
'cn' => APP_PATH . '/lang/en.php'
但这并不符合思考的逻辑,怎么办呢?
2013-10-20 01:30:17