Stock 库存服务里的错误信息的添加不能方便的写翻译

bug问题 · successgo · 于 5年前 发布 · 1612 次阅读

当遇到有变量时,比如 product_id 时直接写死了,这样子就不能方便的写翻译。

举个例子:

https://github.com/fecshop/yii2_fecshop/blob/master/services/product/Stock.php#L469

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

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

前面意识到了这个问题,已经弄了解决方案,但是一直没有抽出来时间彻底修复这个翻译问题

https://github.com/fecshop/yii2_fecshop/blob/master/services/helper/Errors.php#L33

 public function add($errors, $arr = [])
    {
        if ($errors) {
            $errors = Yii::$service->page->translate->__($errors, $arr);
            $this->_errors[] = $errors;
        }
    }

可以在第二个参数里面设置相应的动态变量的对应值,当时做这个功能的时候yii2不支持这种有动态变量的翻译,后面升级后才支持(Yii2的新版本,忘记是那个版本开始支持的),进而fec也进行了支持这种翻译

这个应该改成:

Yii::$service->helper->errors->add('Product Id: {product_id} , Product inventory is less than {sale_qty}', ['product_id' => $product['_id'], 'sale_qty' => $sale_qty]);

然后在翻译文件中添加

"Product Id: {product_id} , Product inventory is less than {sale_qty}", "产品Id: {product_id} , 产品库存小于 {sale_qty}"

这个是后期发现这个问题,还没有抽出来时间修复这个翻译问题

翻译问题,同样还有后台,现在不支持多语言,后台的翻译问题我来修复和开发

如果你有时间可以修复一下这些翻译问题。appserver的翻译和service里面的类似你说的这些错误问题。

Fecmall#25年前 0 个赞

同样,还有你说的代码规范问题,都需要打磨一番。

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