Cách thêm ngôn ngữ mới - Magento 2.0.1


7

Tôi đang cố gắng tạo chế độ xem cửa hàng mới cho Ngôn ngữ Tamil, nhưng ngôn ngữ không được liệt kê trong khi chọn ngôn ngữ từ quản trị viên.

Mô tả ngắn về những gì tôi đã làm

1) Tôi đã tạo thành công Cửa hàng Tamil View. Vui lòng tham khảo ảnh chụp màn hình để bạn dễ dàng tham khảo.

xem cửa hàng tamil

2) Tiếp theo, tôi đang cố gắng thêm Gói ngôn ngữ tiếng Tamil

2.1 cụm từ thu thập

tạo thư mục /var/www/html/magento2/app/i18n/tamil/tn_tn/

sau đó chạy lệnh dưới đây và nhận được thông báo thành công

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 ngôn ngữ

<?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 đăng ký.php

<?php

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

2.5 Dịch

dictionary.csv chứa hơn 8000 hàng cụm từ cho mẫu tôi đã lấy một ( mở trong gedit )

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

tn_TN.csv Tôi đã dịch ở trên dòng cụ thể (chứa một hàng) ( mở trong gedit )

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

2.6 Gói ngôn ngữ

chạy lệnh dưới đây để tạo gói ngôn ngữ và nhận được thông báo thành công Successfully saved tn_TN language package.

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

Nó sẽ tạo thư mục (gói tn_tn)

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

ai đó lưu ý nó, thu thập các cụm từ và các lệnh lang gói khác với tài liệu chính thức, vui lòng tham khảo liên kết này để biết lý do tại sao tôi sử dụng như thế này.

Cấu trúc tổng thể của gói ngôn ngữ của tôi

nhập mô tả hình ảnh ở đây

Sau khi xóa bộ nhớ cache đó, hãy chạy thiết lập: nâng cấp, bộ chỉ mục: reindex nhưng tôi không thể tìm thấy gói ngôn ngữ tiếng Tamil của mình trong các tùy chọn ngôn ngữ xem cửa hàng Tamil mới tạo .

dễ dàng để bạn tham khảo

Tôi muốn đề cập đến một vấn đề nữa, tôi đã nghiên cứu về gói lang hiện có /var/www/html/magento2/vendor/magento/language-de_de(composer.json, ngôn ngữ, tệp.php) nhưng không thể tìm thấy tên chính xác của miền địa phương như được liệt kê trong quản trị viên (tiếng Đức (Đức)). Vì vậy, tôi nhầm lẫn bất kỳ bước nào tôi bỏ lỡ để tạo miền địa phương.

Tại sao gói ngôn ngữ Tamil không được cài đặt?


Bạn có ý nghĩa gì bởi lộ trình?
Raphael tại Nghệ thuật piano kỹ thuật số

các bước để đạt được
Bilal Usean

Ngôn ngữ nào ?
Arunendra

Ngôn ngữ tiếng Tamil @Arunendra
Bilal Usean

Bạn có thể làm điều đó? Nếu có thì xin vui lòng chia sẻ quá trình
Shawkat Alam

Câu trả lời:


5

Bước 1: thu thập các cụm từ

Đầu tiên, bạn cần tìm ra các cụm từ mà bạn cần dịch.

Bạn có thể làm như vậy bằng cách chạy:

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

Lưu ý rằng vendorgiống như khi bạn phát triển mô-đun và lg_lglà mã lang của ngôn ngữ của bạn.

Bước 2: tạo composer.jsontập tin

Chuyển đến app/i18n/vendor/lg_lgthư mục của bạn và tạo composer.jsontệp:

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

Bước 3: tạo language.xmltập tin

Vẫn trong app/i18n/vendor/lg_lgthư mục của bạn, bạn cần tạo một language.xmltệp:

<?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>

Bước 4: tạo registration.phptập tin

Vẫn trong cùng một thư mục, bạn cần tạo một registration.phptệp:

<?php

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

Bước 5: dịch

Vẫn trong thư mục của bạn, bạn có thể bắt đầu viết bản dịch của mình trong một lg_lg.csvtệp dựa trên từ điển bạn đã truy xuất ở bước 1. Bạn có thể sử dụng hướng dẫn chính thức để làm theo hướng dẫn dịch: http://devdocs.magento.com/guides/v2. 0 / config-guide / cli / config-cli-subcommands-i18n.html # config-cli-subcommands-xlate-dict-trans

Bước 6: tạo gói ngôn ngữ

Chạy lệnh sau:

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

Lưu ý quan trọng

Để làm việc này, tên tệp .csv của bạn phải khớp chính xác với miền địa phương, bao gồm cả trường hợp của các ký tự.

Tài liệu chính thức: http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-example2


Tôi đã làm những gì bạn liệt kê nhưng ngôn ngữ mới không được liệt kê trong chế độ xem cửa hàng mới, tôi có bỏ lỡ điều gì không?
Bilal Usean

Bạn đã cố gắng để loại bỏ var/generation, var/cachevar/di?
Raphael tại Pianism kỹ thuật số

Có, đó là hành động mặc định đối với tôi :-) bất cứ điều gì tôi đã thay đổi trước tiên tôi sẽ xóa var / *. Tôi đã cập nhật câu hỏi của mình
Bilal Usean

nếu bạn có một khoảnh khắc xem xét này magento.stackexchange.com/questions/116650/...
Bilal Usean

Tôi đã cập nhật câu hỏi của mình
Bilal Usean


1

Bạn không thể thêm ngôn ngữ mới trong tùy chọn ngôn ngữ chung

Lý do là vì magento sử dụng thư viện intl php để điền vào hộp chọn

xem tập tin sau

vendor/magento/framework/Locale/TranslatedLists.php

phương thức _getOptionLocales ()


tôi nghĩ vậy, Làm thế nào chúng ta có thể tùy chỉnh hoặc thêm ngôn ngữ địa phương mới ..
matinict

@matinict bạn có thể sử dụng cái chưa sử dụng hiện có.
Nahid

0

Dưới đây là hướng dẫn từng bước để tạo gói ngôn ngữ.

Chạy i18n:collect-phrasesđể thu thập tất cả các cụm từ sẽ được dịch:

Một ví dụ:

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

Bước 2

Tạo tiện ích mở rộng Magento 2 cho gói ngôn ngữ.

Bước 2.1

Tạo một tệp composer.json . Một ví dụ từ cốt lõi:

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"
        ]
    }
}

Nhà soạn nhạc của tôi.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"]]}
}

Bước 2.2

Tạo một tập tin ngôn ngữ .

Một ví dụ từ cốt lõi:

magento / magento2 / blob / 2.0.0 / app / i18n / magento / de_de / ngôn ngữ

<?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>

Ngôn ngữ của tôi :

<?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>

Bước 2.3

Tạo một tập tin đăng ký .

Một ví dụ từ cốt lõi:

magento / magento2 / blob / 2.0.0 / app / i18n / magento / de_de / đăng ký.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__
);
?>

Tôi sử dụng phổ quát registration.php66 .

Bước 3

Cài đặt tiện ích mở rộng

Bước 4

Làm bản dịch thực tế và giữ cho phần mở rộng của bạn được cập nhật. Xem các chủ đề nội địa hóa khác: https://mage2.pro/tags/localization

Nguồn.


cảm ơn, tôi đã thử liên kết này nhưng nó sẽ không liệt kê ngôn ngữ đã tạo trong chế độ xem cửa hàng.
Bilal Usean

bạn có đoán được điều gì tôi nhớ không? Tôi đã cập nhật câu hỏi của mình
Bilal Usean

Bạn đã chạy thiết lập và xóa bộ nhớ cache?
Arunendra

có tôi đã làm nhưng vấn đề vẫn còn, Làm thế nào để kiểm tra trạng thái mở rộng ngôn ngữ? like (config.php hoặc bất kỳ dòng lệnh nào)
Bilal Usean

0

Bước 1: Tạo tệp composer.json như thế này

{
   "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"}
 }

Bước2: Tạo tệp ngôn ngữ tệp như thế này

<?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>

Bước 3: Tạo tệp đăng ký.php như thế này

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

Bước 4: Bây giờ đặt các tập tin dịch tn_TN.csv trong tn_tn / app / i18n / tamil / thư mục


vẫn còn vấn đề ..... không được liệt kê trong chế độ xem cửa hàng mới tạo, bất cứ điều gì cần phải được cấu hình từ phụ trợ?
Bilal Usean

cú pháp: bạn đã bỏ lỡ dấu phẩy (,) trong tác giả
Bilal Usean

Đã sửa và thêm (,) ... bạn phải cài đặt nó sau khi tạo, phải không?
sIiiS

cài đặt có nghĩa là chạy cài đặt: nâng cấp
Bilal Usean

@BilalUsean: Có, chạy php bin/magento setup:upgrade... sau khi mở /app/etc/config.phpvà kiểm tra giá trị tamil_tn_tn1
sIiiS
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.