我现在有一个新的Magento 2安装。一个基本的商店设置是为荷兰市场配置的。
我读过关于安装语言包(http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/translations/xlate.html)的Magento2devdocs,尽管文档看起来很清楚,但我仍然有一些问题。
Magento 2附带预先安装的荷兰语包,位于供应商/magento/ Language -nl_nl中。但是语言包不包含任何翻译过的短语。
我用Magento控制台创建了一个*.csv文件,收集了供应商/magento源文件中的所有短语。我想这个文件是用来分发给翻译者的。
经过一个完整的翻译,有几个选择,我怀疑惠誉在我的情况下是否最好;
选项1似乎有一个缺点,因为我的荷兰翻译与当前主题没有直接关系,而是针对配置好的nl_NL区域设置的存储。
选项2对我来说还不清楚。Magento命令i18n:pack命令将我的nl_NL.csv源文件完美地分解为供应商/模块/i18n/nl_nL.csv文件。但是,由于模块化问题,将其打包到供应商/magento/ dir中似乎不是一种选择。
我必须采取的步骤,以创建一个与显示的主题无关的全球荷兰语翻译,是模块化的,可以很容易地分发给我的所有Magento 2个项目?
发布于 2015-12-02 15:25:30
完成翻译后,您可以在app/i18n
下创建一个“语言包”。文件夹命名约定是<vendorname>/<language_code>
。它应该包含以下文件- composer.json - language.xml - registration.php
发布于 2017-07-14 00:26:26
对于i18n
,您可以这样做
i18n
文件夹中使用app
命名custom
的示例 app/design/theme/custom
这是您的主题名称
folder(s)
放在i18n -> custom
文件夹中,如en_us
、en_gb
或nl_nl
app/i18n/custom/nl_nl/
现在,在您的语言包文件夹下面的文件中,所有文件将位于此文件夹结构app/i18n/custom/en_us/
中。
app/i18n/custom/nl_nl/composer.json
{
"name": "custom/nl_nl",
"description": "English (US) language",
"version": "100.0.1",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"require": {
"magento/framework": "100.0.*"
},
"type": "magento2-language",
"autoload": {
"files": [
"registration.php"
]
}
}
app/i18n/custom/nl_nl/language.xml
<?xml version="1.0"?>
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
<code>nl_NL</code>
<vendor>custom</vendor>
<package>nl_nl</package>
</language>
app/i18n/custom/nl_nl/registration.php
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
'custom_nl_nl',
__DIR__
);
之后,将nl_NL.csv放在语言包文件夹中。
app/i18n/custom/nl_nl/nl_NL.csv
之后运行以下命令
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
php bin/magento cache:clean
希望这能帮到你
https://stackoverflow.com/questions/34054617
复制相似问题