如何对模块和主题进行国际化,包括添加翻译、改变资产以及对模块或主题的样式进行修改。
Magento 2是目前最流行的电子商务平台之一。它提供了大量的开箱即用的功能和严密的安全性。除了内置模块外,使用Magento 2,你可以创建自己的模块和主题,以创建适合你或你的客户需求的定制功能和设计。
本教程假定你已经安装了Magento 2并正在运行。如果没有,请遵循
Magento 2官方文档
中的指导原则。
为什么要国际化
国际化(通常缩写为i18n)包括翻译你的网站和根据所选语言改变网站的设计或风格。根据你的项目和你所使用的编程语言或框架,它可以用不同的方式完成,但总有一些工具可以使它更容易。
国际化可以吸引更多的用户访问你的网站,因为添加不同的语言可以满足不同国籍或世界不同地区的用户。
这对电子商务尤其重要。确保你的商店了解其用户并能够将他们转化为客户的一个方法是提供更多的语言,使商店在全球范围内可用。
Magento 2网站结构
在我们讨论如何在Magento 2中添加语言之前,我们先来看看Magento 2网站的结构如何。
在Magento 2中,你至少需要一个网站。在该网站中,你可以创建几个商店,但你也需要至少一个。然后,在每个商店里,你需要至少一个商店视图。
默认情况下,每个Magento 2的安装都会有一个网站,网站中的一个商店,以及该商店中的一个商店视图。
网站只是用来组织同一网站下的多个商店。可以把它看作是一个组。
商店是用来指定哪些类别在商店中出售,这最终意味着哪些产品在商店中出售。例如,你可以让一个网站分成两个商店--一个是男装商店,一个是女装商店。
最后,我们还有属于一个商店的商店视图。商店视图是用户实际看到的东西。商店视图可以有自己的主题、页面、产品,以及更多。
有了这种结构,你就能够把你的电子商务网站分成不同的部分,甚至不同的网站。例如,你可以在同一个Magento实例中拥有你的所有产品,但将这些产品分成不同的网站,或网站内的不同商店。
这种分离也允许你在Magento实例中为不同的网站、商店或商店视图设置不同的设置。你可以改变整个网站的设置,这将影响到网站中的所有店铺,并随后影响到这些店铺中的所有店铺视图。
你也可以改变一个网站内的商店的设置,这将只改变这个商店及其商店视图的设置,而不影响其他商店或主网站。
另外,你也可以改变商店视图的设置,这不会影响它们的父商店或母网站。
在Magento 2中添加语言
语言取决于商店视图。每个商店视图都可以有自己的语言。因此,当你想添加一种新的语言时,你实际上需要添加一个具有不同语言的新商店视图。
商店视图可以有与它的父商店或网站相同的设置。所以没有必要进行额外的配置,除非你需要对该语言进行不同的设置。
添加一个商店视图
在本节中,我们将看到如何在Magento 2中使用管理面板添加一个新的商店视图,以及如何选择该商店视图的语言。
添加一个新的商店视图
首先,进入您的Magento 2管理门户。URL路径应该以
/admin_
开始。然而,它可能会有一个不同的后缀,这是你在安装时设置的。
一旦你进入管理面板并登录,从侧边栏选择
商店
,然后选择
所有商店
。
在这个页面,点击
创建商店视图
。
然后你会看到一个需要填写的表格。如果你有多个商店,你首先要选择这个商店视图所属的商店。
然后,你需要输入商店的名称。请注意,该名称是用户在选择商店时在你的网站前端看到的内容。因此,你可以根据你所添加的语言来命名它。
你还需要添加新商店的代码。你可以选择任何你想要的代码,但根据语言来设置代码会很有帮助。例如,
en
为英语。
最后,你需要把状态改为
启用
,以确保用户看到商店的视图。
你还可以选择排序顺序。如果你正在添加一种新的语言,但你希望该语言成为用户进入你的网站时看到的默认语言,这是有帮助的。如果是这样,你可以在这里通过设置一个数字来改变排序顺序,最低的(指顺序最高的)是0。
完成后,点击
保存商店视图
,你的商店视图将被添加。
在这一点上,你可能需要清除缓存。你可以通过点击侧边栏中的
商店
,然后点击
缓存管理
。
然后,从下拉菜单中选择*"全部*",并点击
提交
。这将清除缓存。
现在,去你的网站。根据你的主题,你应该在网站的标题中看到一个下拉菜单,允许你在商店视图之间切换。
请注意,根据你的主题,这看起来会有所不同。截图中的主题是Magento的Luma主题,在Magento 2中是默认安装的。
为商店视图选择一种语言
接下来,我们将选择商店视图的语言。要做到这一点,在管理面板上点击侧边栏的
商店
,然后是
配置
。
请注意,在管理门户上,你会看到几乎每个页面的左上方都有一个下拉菜单,标签为
Scope
,允许你改变网站、商店或商店视图。当你想改变特定网站、商店或商店视图的设置,而不是将适用于所有网站、商店和商店视图的默认设置时,你就会使用这个功能。
因此,在 "配置 "页面,从下拉菜单中选择您刚刚创建的商店视图。你会被要求确认你的行动。在弹出的窗口中点击
确定
。
然后,在侧边栏的 "
常规
"部分选择 "
常规
"标签,如果它还没有被选择的话。打开标题为 "
地域选项
"的折叠式窗口。在可折叠处,取消勾选第一个字段右边的 "
使用网站
",这应该是 "
语言
",然后从下拉菜单中选择你要添加的语言。
在本教程中,我们将添加阿拉伯语。
一旦你完成了,点击右上方的 "
保存配置
"。这将改变你网站的语言。然而,你会注意到,当你打开你刚刚添加的商店时,没有任何变化。这是因为我们仍然需要为我们添加的语言添加翻译,以及在必要时改变风格。
安装Magento 2语言包
除了你可能在自己的模块中自己添加的字符串和文本,因为Magento 2中的字符串是很常见的,还有免费和开源的Magento 2语言包,可以让你轻松地添加翻译到你的Magento 2网站。
你可以在
Magento的Marketplace
上找到语言包,尽管其中大部分不是免费的。
Mageplaza
提供了一套广泛的语言包,你可以安装,是免费和开源的。他们有55个Magento 2语言包,你可以免费使用。
在本教程中,我们将安装他们的
阿拉伯语语言包
。你可以选择任何语言包;无论哪种语言包,其过程都是一样的。
如果你从不同的供应商那里选择Magento 2语言包,步骤也应该是一样的,除非你的供应商说明了不同的步骤。
打开你的终端,切换到Magento项目的根目录。在该目录下,运行以下命令。
composer require mageplaza/magento-2-<LANGUAGE>-language-pack:dev-master mageplaza/module-smtp
请注意,你应该用你要安装的语言替换<LANGUAGE>
。在我们的例子中,它将是arabic
。你也可以通过进入该语言的GitHub页面(如果你是从Mageplaza下载的)并检查仓库的名称来找到该包的名称。
完成后,你可以上你的网站,选择你的新语言(如果还没有选择的话),你会看到页面被翻译成了该语言。
如果页面没有被翻译,或者页面的样式有问题,那就做以下工作。
运行下面的命令,为新添加的语言生成静态内容。
php bin/magento setup:static-content:deploy ar_SA
确保用你要添加的语言替换ar_SA
。如果你的Magento 2实例被设置为开发者模式,你还需要添加选项-f
。
之后,执行以下命令来触发重新索引和清除缓存。
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush
继续阅读Magento 2翻译。国际化的工作原理在SitePoint上。