新しい言語を追加する方法-Magento 2.0.1


7

タミル語の新しいストアビューを作成しようとしていますが、管理者から言語を選択しても言語が表示されません。

私が行ったことの短い説明

1)タミルストアビューを作成しました。簡単に参照できるようにスクリーンショットを参照してください。

タミルストアビュー

2)次に、タミル語の言語パッケージを追加しようとしています

2.1フレーズを収集する

フォルダを作成する /var/www/html/magento2/app/i18n/tamil/tn_tn/

その後、以下のコマンドを実行して成功メッセージを取得します

php bin/magento i18n:collect-phrases -o "/var/www/html/magento2/app/i18n/tamil/tn_tn/dictionary.csv" -m "/var/www/html/magento2/"

2.2 composer.json

{
    "name": "tamil/tn"
    ,"type": "magento2-language"
    ,"description": "Tamil language"
    ,"authors": [{
    "name": "Bilal Usean",
    "email": "yyyyyy@yyyyy.yyy",
    "role": "Developer"
    }]  
    ,"extra": {"map": [["*", "tamil/tn_tn"]]}
}

2.3 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>tn_TN</code>
    <vendor>tamil</vendor>
    <package>tn_tn</package>
</language>

2.4 registration.php

<?php

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

2.5翻訳

dictionary.csvには、私が取得したサンプルの8000行以上のフレーズが含まれています(geditで開きます)。

"We found other products you might like!","We found other products you might like!",module,Magento_Catalog

tn_TN.csv特定の行の上に翻訳しました(1行が含まれています)(geditで開きます

"We found other products you might like!","நீங்கள் விரும்பக்கூடிய மற்ற பொருட்கள் காணப்படும் !",module,Magento_Catalog

2.6言語パック

以下のコマンドを実行して言語パックを作成し、成功メッセージを取得しますSuccessfully saved tn_TN language package

php bin/magento i18n:pack -d app/i18n/tamil/tn_tn/tn_TN.csv tn_tn tn_TN

ディレクトリを作成します(tn_tnパック)

<magento-root>/tn_tn/vendor/magento/module-catalog/i18n/tn_TN.csv

誰かがそれを指摘し、収集フレーズと言語パックコマンドが公式のドキュメントとは異なります。このように使用している理由については、このリンクを参照してください。

私の言語パッケージの全体的な構造

ここに画像の説明を入力してください

キャッシュをクリアした後、setup:upgrade、indexer:reindexを実行しますが、新しく作成したTamilストアビューのロケールオプションでTamil言語パックが見つかりません。

あなたの参照のために簡単

もう1つ言及したいのですが、既存の/var/www/html/magento2/vendor/magento/language-de_de言語パック(composer.json、language.xml、registration.php)について調査しましたが、admin(ドイツ(ドイツ))に記載されているような正確なロケール名を見つけることができません。そのため、ロケールを作成するために逃したステップを混乱させました。

タミール語の言語パッケージがインストールされないのはなぜですか?


ロードマップとはどういう意味ですか?
デジタルピアニズムのラファエル2016年

達成するためのステップ
ビラルUsean

どの言語 ?
Arunendra 2016年

タミル語@Arunendra
ビラルUsean

できますか?はいの場合、プロセスを共有してください
Shawkat Alam

回答:


5

ステップ1:フレーズを収集する

まず、翻訳する必要のあるフレーズを見つける必要があります。

これを実行するには、次のようにします。

php bin/magento i18n:collect-phrases -o "/path/to/magento2/app/i18n/vendor/lg_lg/dictionary.csv"

vendorあなたがモジュールを開発するときと同じであり、lg_lgあなたの言語のlangコードであることに注意してください。

ステップ2:composer.jsonファイルを作成する

app/i18n/vendor/lg_lgフォルダに移動して、composer.jsonファイルを作成します。

{
    "name": "vendor/lg"
    ,"type": "magento2-language"
    ,"description": "Tamil language"
    ,"authors": [{
        "name": "Bilal Usean",
        "email": "bla@bla.com",
        "role": "Developer"
    }]  
    ,"extra": {"map": [["*", "vendor/lg_lg"]]}
}

ステップ3:language.xmlファイルを作成する

まだapp/i18n/vendor/lg_lgフォルダー内にある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>lg_LG</code>
    <vendor>vendor</vendor>
    <package>lg_lg</package>
</language>

ステップ4:registration.phpファイルを作成する

それでも同じフォルダーに、registration.phpファイルを作成する必要があります。

<?php

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

ステップ5:翻訳する

lg_lg.csv引き続きフォルダー内で、ステップ1で取得した辞書に基づいて、翻訳をファイルに書き始めることができます。公式ガイドを使用して、翻訳ガイドラインに従ってください:http ://devdocs.magento.com/guides/v2 。 0 / config-guide / cli / config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-dict-trans

ステップ6:言語パックを作成する

次のコマンドを実行します。

php bin/magento i18n:pack app/i18n/vendor/lg_lg/lg_lg.csv lg_Lg lg_LG

重要な注意点

これが機能するためには、.csvファイル名が文字の大文字と小文字を含め、ロケールと正確に一致している必要があります。

公式ドキュメント:http : //devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-example2


私はあなたがリストしたことをしましたが、新しい言語が新しいストアビューにリストされていません、何か見逃しましたか?
ビラルUsean 2016年

あなたは、削除しようとしましたvar/generationvar/cachevar/di
Digital PianismのRaphael、2016年

はい、それは私にとってデフォルトのアクションです:-)最初に変更したものは何でも、var / *を削除します。私は私の質問を更新しました
ビラルUsean


私は私の質問を更新しました
ビラルUsean

2

タミル あなたはタミール語のISOコードおよび国際コードを追加しなければならない ta_INを(Tamil- TA /インド- 、INhttps://www.w3schools.com/tags/ref_language_codes.asp https://www.w3schools.com/tags/ref_country_codes .asp

このコードをvendor/magento/framework/Locale/config.php ディレクトリ に追加する必要があります ここに画像の説明を入力してください

次に、コマンド「php bin / magento setup:static-content:deploy -f ta_IN」を使用してインストールします

それがうまくいくことを願っています

ここに画像の説明を入力してください


1

一般ロケールオプションで新しい言語を追加することはできません

その理由は、magentoがphp intl ライブラリを使用して選択ボックスに入力するためです。

次のファイルを参照してください

vendor/magento/framework/Locale/TranslatedLists.php

メソッド_getOptionLocales()


私はそう思います、新しいローカル言語をどのようにカスタマイズまたは追加できますか?
matinict

@matinictは既存の未使用のものを利用できます。
Nahid

0

言語パッケージを作成するためのステップバイステップガイドは次のとおりです。

i18n:collect-phrases翻訳するすべてのフレーズを収集するために実行します。

例:

bin/magento i18n:collect-phrases -o "<path to Magento>/app/i18n/df/ru_ru/dictionary.csv" -m

ステップ2

言語パッケージのMagento 2拡張機能を作成します。

ステップ2.1

composer.jsonファイルを作成します。コアの例:

magento/magento2/blob/2.0.0/app/i18n/magento/de_de/composer.json

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

私のcomposer.json

{
    "name": "dfl/ru"
    ,"type": "magento2-language"
    ,"description": "Russian language"
    ,"homepage": "https://mage2.pro"
    ,"license": "proprietary"
    ,"authors": [{
        "name": "Dmitry Fedyuk",
        "email": "admin@mage2.pro",
        "homepage": "https://mage2.pro/users/dmitry_fedyuk",
        "role": "Developer"
    }]  
    ,"extra": {"map": [["*", "df/ru_ru"]]}
}

ステップ2.2

language.xmlファイルを作成します。

コアの例:

magento / magento2 / blob / 2.0.0 / app / i18n / magento / de_de / language.xml

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
    <code>de_DE</code>
    <vendor>magento</vendor>
    <package>de_de</package>
</language>

私の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>ru_RU</code>
    <vendor>df</vendor>
    <package>ru_ru</package>
</language>

ステップ2.3

registration.phpファイルを作成します。

コアの例:

magento / magento2 / blob / 2.0.0 / app / i18n / magento / de_de / registration.php

<?php
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
    'magento_de_de',
    __DIR__
);
?>

私はユニバーサルregistration.php66を使用しています。

ステップ3

拡張機能をインストールする

ステップ4

実際の翻訳を行い、拡張機能を更新してください。その他のローカリゼーショントピックを参照してください:https : //mage2.pro/tags/localization

ソース。


おかげで、私はすでにこのリンクを試しましたが、作成された言語がストアビューに表示されません。
ビラルUsean 2016年

私が見逃したことはありますか?私は私の質問を更新しました
ビラルUsean

セットアップを実行してキャッシュをクリアしましたか?
Arunendra 2016年

はい私はしましたが、問題は残っています、言語拡張ステータスを確認する方法は?like(config.phpまたは任意のコマンドライン)
Bilal Usean '23

0

手順1:次のようにcomposer.jsonファイルを作成します

{
   "name": "tamil/tn_tn",
   "description": "Tamil language",
   "authors": [{
     "name": "Bilal Usean",
     "email": "xxxxxxx@xxxx.xxx",
     "role": "Developer"
   }],
   "require": {
     "magento/framework": "100.0.*"
   },
   "type": "magento2-language",
   "autoload": {
     "files": [
       "registration.php"
     ]
   }
   ,"extra": {"map": "*", "tamil/tn_tn"}
 }

ステップ2:このようにファイル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>tn_TN</code>
   <vendor>tamil</vendor>
   <package>tn_tn</package>
 </language>

Step3:このようにファイルregistration.phpを作成します

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

ステップ4:今すぐ翻訳ファイル配置tn_TN.csvをしてtn_tn /アプリ/国際化/タミル語/ディレクトリ


それでも問題は解決しません.....新しく作成されたストアビューにリストされていません。バックエンドから構成する必要があるものはありますか?
ビラルUsean 2016年

構文:著者でカンマ(、)を逃した
Bilal Usean

修正して追加(、)...作成後にインストールする必要がありますか?
sIiiS 2016年

install mean run setup:upgrade
Bilal Usean

@BilalUsean:はい、実行しphp bin/magento setup:upgradeます。その後、開い/app/etc/config.phpて値tamil_tn_tn1
sIiiS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.