迁移服务器重新安装最新版Chevereto的时候发现没有语言设置了,版本是 1.6.1,经过各种折腾终于设置好了,教程如下
步骤1:
打开文件:lib/G/classes/class.gettext.php
更新:最新版本
chevereto
已经不带这个文件了,您可以在网上下载个旧版chevereto
从中提取该文件。如果您是由旧版升级来的,则不用下载。
搜索:private function cache()
,在其下面第二行加上return false;
。
说明:这个函数是写语言缓存的,它会强行更改语言缓存文件。这里改成让它直接返回,不要写缓存。
更改后的代码如下:
// 小东西儿新增
return false;
if (!@is_dir(dirname($this->cache_file))) {
throw new GettextException("Target cache dir doesn't exists", 400);
}
步骤2:
打开文件app/lib/l10n.php
搜索:if ($msg && !is_null($args)) {
,在这行上面增加一行:$msg = CHV\L10n::gettext($msg);
// 小东西儿新增
$msg = CHV\L10n::gettext($msg);
if ($msg && !is_null($args)) {
$fn = is_array($args) ? 'strtr' : 'sprintf';
$msg = $fn($msg, $args);
}
return $msg;
这是用于调用翻译函数。
步骤3:
打开文件app/loader.php
,
搜索define('CHV_APP_PATH_CONTENT_SYSTEM', CHV_APP_PATH_CONTENT . 'system/');
,在这行下面增加:define('CHV\_APP\_PATH\_CONTENT\_LANGUAGES', CHV\_APP\_PATH\_CONTENT . 'languages/');
这是定义了一个语言文件路径,最新版本给去掉了,我们要加回来
步骤4:
下载中文语言文件:
解压后,把该语言文件上传到网站的app/content/languages/
里面。(可以在网上下载个旧版chevereto
从中提取该文件。如果您是由旧版升级来的,则不用下载。)
步骤5:
如果你网站原来就是设置的显示中文语言,该步骤可忽略。
如果原来是其他语言,或者你说新安装的,需要进数据库,把数据表chv_settings
,把里面的default_language
的setting-value值改为zh-CN
不好用。。
可以重1.6.2 装回 1.6.1 依旧不好用
已经有1.6.2的完美中文版了 😛 https://github.com/keven1024/chevereto-free-chinese
大佬,我安装的是1.6.2 替换的文件是1.4.2的版本 出现了这个错误
Fatal error: Uncaught Error: Undefined constant ‘CHVCHV_APP_PATH_CONTENT’ in /www/wwwroot/ihs.41an.vip/app/loader.php:108 Stack trace: #0 /www/wwwroot/ihs.41an.vip/index.php(17): include_once() #1 {main} thrown in /www/wwwroot/ihs.41an.vip/app/loader.php on line 108
你知道是怎么回事吗
不行,500
少了CHVL10n这个文件