magento2 翻译的一些问题

3.37K 浏览开发笔记

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

2