当遇到有变量时,比如 product_id 时直接写死了,这样子就不能方便的写翻译。
product_id
举个例子:
https://github.com/fecshop/yii2_fecshop/blob/master/services/product/Stock.php#L469
本文由 successgdc 创作,采用 知识共享署名 3.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里面的类似你说的这些错误问题。
同样,还有你说的代码规范问题,都需要打磨一番。