Как установить языковой пакет в Magento 2?

Я попытался следовать инструкциям из https://mage2.pro/t/topic/270 и http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-example2 но я все равно потерпел неудачу.

Я пытаюсь изменить текст окна поиска в заголовке из " Поиск всего магазина здесь... в Сухе...'

сейчас, у меня есть следующие файлы в app/i18n/Test / de_ch

  • композитор.в JSON
  • de_ch.csv
  • язык.в XML
  • Регистрация.в PHP

С содержанием в композитор.в 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..."

язык.в 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>

Регистрация.в PHP

<?php MagentoFrameworkComponentComponentRegistrar::register(MagentoFrameworkComponentComponentRegistrar::LANGUAGE,'Test_de_ch',__DIR__);

в admin я настроил магазин (магазины > конфигурация > Общие > общие > параметры локали > локали) с Deutsch (Schweiz).

затем попытался php bin / magento setup: upgrade и php bin / magento cache: clean

но ничего, текст в форме поиска по-прежнему " искать весь магазин здесь...'

3 ответов


я просто попробовал и заставил его работать. Вам нужно сделать несколько незначительных изменений в верхнем регистре в нижнем регистре и наоборот.

  1. переименовать папку app/i18n/Test/de_ch до app/i18n/test/de_ch (нижний регистр t)
  2. переименовать файл de_ch.csv to de_CH.csv (верхний регистр CH, это должно быть идентично <code></code> на language.xml)
  3. на language.xml изменить Test to test (конечно же добавить <?xml version="1.0"?> к началу файла). Это определяется в App / язык / пакет.xsd-схемы
  4. на registration.php тоже измените его на test_de_ch

---- отредактировано для добавления полного кода - - -

на /app/i18n/test/de_ch Создайте следующие файлы:

композитор.в 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..."

язык.в 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>

Регистрация.в PHP

<?php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
    'test_de_ch',
    __DIR__
);

вы можете купить и установить его :)

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

мы используем эту структуру пакета composer: magento-two-language-de-de/композитор.в 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-два языка-де-де / язык.в 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-два языка-де-де/Регистрация.в PHP

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

в Magento-два-языку-де-де/в ru_RU.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

пожалуйста, попробуйте эту команду:

php bin / magento setup: static-content: deploy