文档 下载安装 商店 博客 问答 主机

请问Magento2的后台block和 pages可以做语言包吗。

magento2

#1

不知道Magento2的后台block和pages可不可以实现语言包的功能?

我知道邮件模板里可以这样用做语言包:

 {{trans "Welcome to %store_name" store_name=$store.getFrontendName()}}

于是我也想在block和pages里面也这样用

<li><i class="fa fa-lock"></i>{{trans “Shopping Safely” }}</li>

但是很遗憾,这样不行。
所以后台的block和pages里可以做多语言吗?如果可以要怎么实现呢?


#2

当然是不可以的。
如果要实现不同语言的block和pages,只需要id一样,内容不同,显示的store view不同即可。


#3

蟀哥,我不太理解。每个block都只有一个id和内容,怎么就能显示不同的内容了??
他也没有像产品那样的可以编辑不同的store view的。


#4

那你认为这个是干嘛用的?


#5

我怎么彻底懵了,到底是啥意思啊?!!
跟store view有什么关系呢?store view不是是否在某个store view显示吗,要做多语言肯定都得显示出来吧,所以选择all store view啊,但是这也不能实现多语言啊。


#6

如果两个block,block id是一样的,但是store view不同,是不是就可以实现多语言?


#7

有20几种语言,这不是要建20几个block(这怎么感觉不太好啊,所以我才询问有没有能一个block就能解决的办法)
block id应该指的是identifier字段,不是id字段,magento也是这么写的

$block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblock')->toHtml();

这个id感觉很容易误解。


#8

identifier缩写就是ID啊。。。
20几种语言,20多个block很正常啊。。
利用block,就可以翻译一些翻译不了的东西,例如图片之类的。


#9

好吧,看来只能创建多个block了。
谢谢蟀哥!!