appserver 部分的接口,现在有没有添加多语言翻译的呢

问题咨询 · successgo · 于 5年前 发布 · 1457 次阅读

现在 appserver 里的接口,返回的 message 信息都是英文的,请问有没有经过翻译处理呢?

本文由 successgdc 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 7 条回复
Fecmall#15年前 0 个赞

目前没有翻译的,如果想要中文,需要自己处理一下了

successgo#25年前 0 个赞

是不是要在 \Yii::$service->helper->appserver 里面处理:

    /**
     * @param int $code 状态码
     * @param mixed $data 可以是数字,数组等格式,用于做返回给前端的数组。
     * @param string $message 选填,如果不填写,则使用函数返回的内容作为 message
     * @return array
     */
    public function getResponseData($code, $data, $message = '')
    {
        if (!$message) {
            $message = $this->getMessageByCode($code);
        }
        if ($message) {
            return [
                'code'    => $code,
                'message' => $message,
                'data'    => $data,
            ];
        } else {
            // 如果不存在,则说明系统内部调用不存在的 code,报错。
            $code = $this->status_invalid_code;
            $message = $this->getMessageByCode($code);
            return [
                'code'    => $code,
                'message' => $message,
                'data'    => '',
            ];
        }
    }
successgo#35年前 0 个赞

此外,还需要一一添加语言包数据。

Fecmall#45年前 0 个赞

@successgdc #3楼

应该是这个,有一个统一的处理函数,然后使用 page translate service的 __(),函数翻译一下。

有时间,详细整理一下这个。

successgo#55年前 0 个赞

知道了。我先试试看,稍后再完善这一块的翻译处理。

successgo#65年前 0 个赞

然后再增加一个多语言的开关,选择在接口中是否开启翻译。哈哈,棒。

Fecmall#75年前 0 个赞

@successgdc #6楼 恩,开关可以设置在appserver的param里面

https://github.com/fecshop/yii2_fecshop/blob/master/app/appserver/config/appserver.php

$config = [
    'modules'=>$modules,
    /* only config in front web */
    'bootstrap' => ['store'],
    'params'    => [
		'appName' => 'appserver',
		...
	
	];

通过函数 Yii::$app->params['appName']; 来获取

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics