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

时间:2015-12-02 22:50:38

标签: magento internationalization magento2 magento-2.0

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

我已经阅读了安装语言包(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文件,它收集了来自vender / magento dir源文件的所有短语。我想这个文件是用来分发给翻译的。

完成翻译后,有几种选择,我怀疑在我的情况下哪一个最好;

  1. 创建主题并存储nl_NL.csv文件,以确保主题为i18n DIR
  2. 使用Magento命令行工具打包我的翻译 Magento目录中的短语
  3. 选项1 似乎有一个缺点,因为我的荷兰语翻译与当前主题没有直接关系,而是与配置了nl_NL语言环境的商店直接相关。

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

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

2 个答案:

答案 0 :(得分:2)

完成翻译后,您可以创建一个&#34;语言包&#34;在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

答案 1 :(得分:2)

对于i18n你可以这样做

  • i18n文件夹
  • 中创建以app命名的文件夹
  • 使子文件夹与i18n文件夹中的主题同名
    • 示例 app/design/theme/custom来自此 custom 这是您的主题名称
  • folder(s)文件夹中制作语言包i18n -> custom,例如en_usen_gbnl_nl
  • 现在您的文件夹结构将是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

希望这会对你有所帮助