Magento 2 安装语言包(nl_NL 翻译)

Magento 2 installing language packs (nl_NL translation)

我目前安装了全新的 Magento 2。 A 基本上具有针对荷兰市场配置的商店设置。

我已经阅读了关于安装语言包的 Magento 2 devdocs (http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/translations/xlate.html),虽然文档看起来很清楚,但我仍然有一些问题。

Magento 2 预装了荷兰语语言包,位于 vendor/magento/language-nl_nl。但是语言包中没有任何翻译的短语。

我用 Magento 控制台创建了一个 *.csv 文件,它收集了 vender/magento 目录源文件中的所有短语。我想这个文件是用来分发给翻译人员的。

完整翻译后有几个选项,我怀疑哪个最适合我的情况;

  1. 创建主题并在主题的 i18n 中存储一个 nl_NL.csv 文件 目录
  2. 使用Magento命令行工具打包我翻译的 Magento 目录中的短语

选项 1 似乎有一个缺点,因为我的荷兰语翻译与当前主题没有直接关系,而是针对具有配置的 nl_NL 语言环境的商店。

选项 2 我不清楚。 Magento 命令 i18n:pack 命令将我的 nl_NL.csv 源文件完美分解为 vendor/module/i18n/nl_NL.csv 文件。但由于模块化问题,将其打包在 vendor/magento/ 目录中似乎不是一个选择。

我必须采取哪些步骤来创建与显示主题无关的全球荷兰语翻译,它是模块化的并且可以轻松地与我所有的 Magento 2 项目一起分发?

翻译完成后,您可以在app/i18n下创建一个"language package"。文件夹命名约定为 <vendorname>/<language_code>。它应该包含以下文件 - composer.json - language.xml - registration.php

参考:http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-example2

为了i18n你可以这样

  • app 文件夹中创建以 i18n 命名的文件夹
  • 使子文件夹与 i18n 文件夹中的主题同名
    • EXAMPLE app/design/theme/custom 来自这个 custom 这是你的主题名称
  • i18n -> custom 文件夹中制作语言包 folder(s)en_usen_gbnl_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

希望对您有所帮助