3

我目前有一个全新的 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 文件,它收集了来自供应商/magento dir 源文件的所有短语。我想这个文件是用来分发给翻译的。

完整翻译后有多种选择,我怀疑哪一种最适合我的情况;

  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 项目中分发?

4

2 回答 2

2

因为i18n你可以这样

  • 使文件夹命名为i18ninapp文件夹
  • 使子文件夹与 i18n 文件夹中的主题同名
    • app/design/theme/custom从此示例custom,这是您的主题名称
  • folder(s)i18n -> custom文件夹中制作语言包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"
        ]
    }
}

应用程序/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

希望这会帮助你

于 2017-07-14T08:26:26.803 回答
2

完成翻译后,您可以在 下创建“语言包” app/i18n。文件夹命名约定是<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

于 2015-12-02T23:25:30.703 回答