Translation 如何在Magento 2中安装语言包?

Translation 如何在Magento 2中安装语言包?,translation,magento2,Translation,Magento2,我试着按照和的指示去做 但我还是失败了 我正在尝试将标题中搜索框的文本从“在此处搜索整个商店…”更改为“Suche…” 现在,我在app/i18n/Test/de_ch中有以下文件 composer.json 德鲁奇 language.xml registration.php 使用composer.json中的此内容 { "name": "test/de_ch", "description": "German (Switzerland) language", "version":

我试着按照和的指示去做 但我还是失败了

我正在尝试将标题中搜索框的文本从“在此处搜索整个商店…”更改为“Suche…”

现在,我在app/i18n/Test/de_ch中有以下文件

  • composer.json
  • 德鲁奇
  • language.xml
  • registration.php
使用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"
    ]
  }
}
{
"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..."
"Search entire store here...","Suche TESTING..."
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>
<?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__);
<?php

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

请尝试此命令:

php bin/magento设置:静态内容:部署


我只是试了一下,然后开始工作了。您需要对大小写进行少量更改,反之亦然

  • 将文件夹
    app/i18n/Test/de_ch
    重命名为
    app/i18n/Test/de_ch
    (小写字母t)
  • 将文件
    de_ch.csv
    重命名为
    de_ch.csv
    (大写字母ch,这需要与
    语言.xml中的
    相同)
  • language.xml
    中,将
    Test
    更改为
    Test
    (当然还要将
    添加到文件的开头)。这是在中定义的
  • registration.php
    中,也将其更改为
    test\u de\u ch
  • ----编辑以添加完整代码---

    /app/i18n/test/de_ch
    创建以下文件:

    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"
        ]
      }
    }
    
    {
    "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..."
    
    "Search entire store here...","Suche TESTING..."
    
    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>
    
    <?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__);
    
    <?php
    
    \Magento\Framework\Component\ComponentRegistrar::register(
        \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
        'test_de_ch',
        __DIR__
    );
    
    您可以:)

    composer config repositories.atconnect composerhttps://connect20.aveo-trade.cz
    作曲家需要atconnect/magento两种语言de de
    

    我们使用此composer包结构: magento双语言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双语言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双语言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__
    );
    

    尝试了一下,然后看到它以“请求的语言:en_US”开头。翻译完成后,仍然不起作用。所以我尝试了php-bin/magento-setup:static-content:deploy-de_-CH。命令成功了,但我仍然看不到翻译。太好了,它现在可以工作了!您可以发布整个代码来帮助其他人:)是的,我们昨天更新了文档。很抱歉出现了大写错误。如果您现在发现该主题存在问题,请告知我们。是的,它可以工作,但如何可以覆盖它?我创建了app/design/Theme/default/i18n/xx_xx.csv,但它没有覆盖,因此如果不是在原始csv中,我无法添加自定义项。@LucaS此示例适用于独立语言包。主题中嵌入的语言说明会有所不同。@Maddy我认为你的回答超出了范围,也许我的问题不清楚。那么,如何覆盖独立语言包呢?我不想更改原始的独立语言包,更新时会丢失更改,所以我必须对其进行扩展。你同意吗?你好,Scholtz,我买了你的分机,但当我“编写器更新”时,它需要用户和密码。我应该提供什么?嗨,已经给你回了邮件,但我也会在这里回复。。确保已为购买的扩展设置api密钥,api密钥名称为用户名,api密钥密码为密码。