【问题标题】:Magento 2 installing language packs (nl_NL translation)Magento 2 安装语言包(nl_NL 翻译)
【发布时间】:2016-03-07 09:29:15
【问题描述】:

我目前有一个全新的 Magento 2 安装。 A 基本上有一个为荷兰市场配置的商店设置。

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

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

【问题讨论】:

    标签: magento internationalization magento2 magento-2.0


    【解决方案1】:

    翻译完成后,您可以在app/i18n下创建一个“语言包”。文件夹命名约定为<vendorname>/<language_code>。它应该包含以下文件 - 作曲家.json - 语言.xml - 注册.php

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

    【讨论】:

    • 回顾一下:对于 vendor/magento 文件夹中包含 composer.json 和 language.xml 文件的预安装语言包,我仍然需要添加总包(language.xml 和 composer.xml)。 json 文件)到 app/i18n 文件夹?
    • 我们建议您创建自己的语言包。我们不建议修改 vendor 中预装的语言包。
    • 谢谢麦迪。这让事情变得清晰起来。最好现在开始翻译! ;)
    • 我刚刚编辑了我的原始答案,在对this issue 进行故障排除时,我们意识到供应商名称需要小写,但没有记录在案。
    【解决方案2】:

    对于i18n你可以这样

    • app文件夹中创建以i18n命名的文件夹
    • 使子文件夹与 i18n 文件夹中的主题名称相同
      • 示例 app/design/theme/custom from this 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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 2015-04-03
      • 1970-01-01
      • 2012-08-16
      • 2018-12-23
      • 1970-01-01
      相关资源
      最近更新 更多