2015-12-02 114 views
2

我目前有一個新鮮的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項目中輕鬆分發?

回答

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。這使事情變得清晰。現在就開始翻譯吧! ;) –

1

對於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

    希望這將有助於你