Answers:
建立目录 app/i18n/Vendorname/en_US
发出命令:
bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magento
这将收集csv文件中的所有可翻译短语,并将其放置在指定的路径中。根据您的要求和“准备发出”命令时对csv文件进行更改:
bin/magento i18n:pack app/i18n/Vendorname/en_US/en_US.csv -d en_US
这将部署文件中的翻译。
清除缓存等,您应该会看到所做的更改。
您只能更改翻译后的文字
喜欢 : $this->__("Sample Taxt");
建议文字未翻译,因此您无法通过翻译进行更改。
如果要更改它,可以在JS文件中找到它:
vendor/magento/module-checkout/view/frontend/web/js/model/shipping-rates-validator.js
注意:您必须在主题中覆盖JS文件。
删除发布/静态/ *
运行命令:
php bin/magento setup:static-content:deploy
php bin/magento cache:clean
删除浏览器缓存。
在我的Magento 2网站上遇到了相同的问题,尝试了各种建议进行修复,但是对我有用的唯一方法是-
去 /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>
查找js-translation.json
并删除(以防万一!)
返回您的magento根文件夹并运行 php bin/magento setup:static-content:deploy pl_PL
然后跑 php bin/magento cache:flush
而已。如果返回到/pub/static/frontend/<theme>/<theme>/<language for example pl_PL>
文件夹,请注意js-translation.json
已再次生成该文件夹。
发生此问题的原因是,当您运行静态部署时,magento会生成js-translation.json文件,并将所有翻译插入到该文件中,并在每次加载页面时调用它。因此,当它已经生成并且通常为空时,就不能用新信息覆盖它。通过删除并重新生成它可以解决该问题。
希望这对别人有帮助。