magento2 翻译的一些问题
magento2 翻译的一些问题
m2里翻译分为
1,数据库里保存翻译
2,主题里i18n文件夹下的翻译文件
3,语言包的翻译文件 一般在app/i18n里
4,模块里的 也就是插件自己的翻译文件。比如app/code/Zou/Demo/i18n/zh_Hans_CN.csv
加载读取翻译的代码在 p.p1 {margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px 'Helvetica Neue'}
vendormagentoframeworkTranslate.php #205
$this->_loadModuleTranslation(); $this->_loadPackTranslation(); $this->_loadThemeTranslation(); $this->_loadDbTranslation();
那说了这么多,到底要表达什么?
表达读取翻译的优先级。
可以看到优先级最高的是数据库里的,因为他是最后加载的,会合并同类项。
其次是主题里的,接着是语言包里的,最后是模块里的。
所以当翻译出现问题无法翻译的时候,你要按照 数据库->主题->语言包->模块 去查找,看这个翻译文本在哪里,依次去修改就行。
当然可以直接写在主题翻译文件里进行覆盖,这是仅次于数据库的。
目前我们基本上也没用过数据库存储翻译文本。
还有些注意事项:
1,i18n/xxx.csv翻译文件 不能出现空行 否则会出问题
2,语言包里需要四列,也就是带模块名的,比如 None,无,module,Magento_AdminGws