[Special Summer Sale] 40% OFF All Magento 2 Themes

Cart

How to install a language pack in Magento 2?

  • This topic is empty.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #9218
    David Hoang
    Keymaster

    I tried to follow the instructions from https://mage2.pro/t/topic/270 and http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-example2
    but I still failed.

    I’m trying to change the text of the search box in the header from ‘Search entire store here…’ to ‘Suche…’

    Right now, I have the following files in app/i18n/Test/de_ch

    • composer.json
    • de_ch.csv
    • language.xml
    • registration.php

    With this content in composer.json

    {
      "name": "test/de_ch",
      "description": "German (Switzerland) language",
      "version": "100.0.1",
      "license": [
        "OSL-3.0",
        "AFL-3.0"
      ],
      "require": {
        "magento/framework": "100.0.*"
      },
      "type": "magento2-language",
      "autoload": {
        "files": [
          "registration.php"
        ]
      }
    }
    

    de_ch.csv

    "Search entire store here...","Suche..."
    

    language.xml

    <language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
       <code>de_CH</code>
       <vendor>Test</vendor>
       <package>de_ch</package>
    </language>
    

    registration.php

    <?php \Magento\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\ComponentRegistrar::LANGUAGE,'Test_de_ch',__DIR__);
    

    In the admin, I configured the store (Stores > Configuration > General > General > Locale Options > Locale) with Deutsch (Schweiz).

    Then, tried to php bin/magento setup:upgrade and php bin/magento cache:clean

    But nothing, the text in the Search form is still ‘Search entire store here…’

    #9219
    David Hoang
    Keymaster

    Please try this command:

    php bin/magento setup:static-content:deploy

    #9221
    David Hoang
    Keymaster

    I just tried it and got it working. You need to make few minor uppercase to lowercase changes and vice-versa.

    1. Rename folder app/i18n/Test/de_ch to app/i18n/test/de_ch (lowercase t)
    2. Rename file de_ch.csv to de_CH.csv (uppercase CH, this needs to be identical to the <code></code> in language.xml)
    3. In language.xml, change Test to test (of course also add <?xml version="1.0"?> to the beginning of the file). This is defined in App/Language/package.xsd
    4. In registration.php too, change it to test_de_ch

    —- edited to add complete code —

    In /app/i18n/test/de_ch
    Create the following files:

    composer.json

    {
      "name": "test/de_ch",
      "description": "German (Switzerland) language",
      "version": "100.0.1",
      "license": [
        "OSL-3.0",
        "AFL-3.0"
      ],
      "require": {
        "magento/framework": "100.0.*"
      },
      "type": "magento2-language",
      "autoload": {
        "files": [
          "registration.php"
        ]
      }
    }
    

    de_CH.csv

    "Search entire store here...","Suche TESTING..."
    

    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>de_CH</code>
        <vendor>test</vendor>
        <package>de_ch</package>
    </language>
    

    registration.php

    <?php
    
    \Magento\Framework\Component\ComponentRegistrar::register(
        \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
        'test_de_ch',
        __DIR__
    );
    
    #9220
    David Hoang
    Keymaster

    You can buy it and install it 🙂

    composer config repositories.atconnect composer https://connect20.aveo-trade.cz
    composer require atconnect/magento-two-language-de-de

    We use this composer package structure:
    magento-two-language-de-de/composer.json

    {
        "name": "atconnect/magento-two-language-de-de",
        "description": "Magento 2.0.0: de_DE",
        "version": "2.0.0.2-stable",
        "license": [
            "proprietary"
        ],
        "type": "magento2-language",
        "autoload": {
            "files": [
                "registration.php"
            ]
        }
    }
    

    magento-two-language-de-de/language.xml

    <?xml version="1.0"?>
    <!--
    /**
     * @copyright Copyright (c) AveoTrade
     Licence: https://connect20.aveo-trade.cz/cat:Agreement
     */
    -->
    <language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
        <code>de_DE</code>
        <vendor>atconnect</vendor>
        <package>magento-two-language-de-de</package>
    </language>
    

    magento-two-language-de-de/registration.php

    <?php
    /**
     * Copyright © 2015 AveoTrade
     */
    \Magento\Framework\Component\ComponentRegistrar::register(
        \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
        'atconnect_magento-two-language-de-de',
        __DIR__
    );
    

    magento-two-language-de-de/de_DE.csv

    "1 Hour","1 Stunde",module,Magento_AdminNotification
    "12 Hours","12 Stunden",module,Magento_AdminNotification
    "2 Hours","2 Stunden",module,Magento_AdminNotification
    "24 Hours","24 Stunden",module,Magento_AdminNotification
    "6 Hours","6 Stunden",module,Magento_AdminNotification
    
Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.