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

问题描述:

我目前有一个新鲜的Magento 2安装。基本上有一个配置为荷兰市场的商店设置。Magento 2安装语言包(nl_NL翻译)

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

Magento 2附带预装的荷兰语语言包,位于vendor/magento/language-nl_nl。但该语言包不包含任何翻译的短语。

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

经过一次完整的翻译后,有几种选择,我怀疑在我的情况下最好的一个最适合;

  1. 创建主题和存储nl_NL.csv文件insise的theme`s国际化 DIR
  2. 使用Magento的命令行工具来收拾我的翻译 短语在Magento的目录

选项1似乎有一个缺点,因为我的荷兰语翻译与当前主题不直接相关,但对于配置了nl_NL语言环境的商店。

选项2对我不清楚。 Magento命令i18n:pack命令将我的nl_NL.csv源文件完美地分解为vendor/module/i18n/nl_NL.csv文件。但是,由于模块化问题,将其打包到供应商/ magento/dir似乎不是一种选择。

我需要采取哪些步骤才能创建与展示主题无关的全球荷兰语翻译,是模块化的,并且可以在所有Magento 2项目中轻松分发?

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

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

+0

总结一下:对于供应商/ Magento的文件夹中预先安装语言包,包括一个composer.json和language.xml文件,我还是要加总包(language.xml ans composer.json文件)到app/i18n文件夹? –

+1

我们建议您创建您自己的语言包。我们不建议修改供应商中的预装语言包。 – Maddy

+0

谢谢Maddy。这使事情变得清晰。现在就开始翻译吧! ;) –

对于i18n你可以把它像app文件夹

  • 化妆子文件夹同名i18n命名为国际化文件夹中的主题此

    • 新建文件夹
      • 示例app/design/theme/custom从这个custom这是你的主题名称
    • make语言包folder(s)en_usen_gbnl_nl
    • i18n -> custom文件夹现在你的文件夹结构会喜欢这个app/i18n/custom/nl_nl/

    现在,在这个您的语言包文件夹使下面的文件,所有文件将在此文件夹结构app/i18n/custom/en_us/

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

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

    希望这将有助于你