Kinh nghiệm lập trình website mã nguồn mở PHP

Cài đặt gói ngôn ngữ Tiếng Việt cho Magento 2

Chào mừng các bạn quay lại với Loạt bài xây dựng website TMDT Magento 2. Hôm nay ta sẽ tìm hiểu về dịch thuật (translation) và các gói ngôn ngữ trong Magento 2, vô cùng hữu ích cho các trang bán hàng đa ngôn ngữ. Sau đó là ứng dụng thực tiễn cách cài đặt và sử dụng ngôn ngữ Việt Nam cho trang web bán hàng của bạn.

Cài đặt gói ngôn ngữ Tiếng Việt cho Magento 2

Tổng quan

Nhìn chung chúng ta có 2 cách dịch ngôn ngữ trong Magento 2:
1. Dịch trong theme, module
2. Dùng gói ngôn ngữ
Dịch trong theme thì gắn liền với gói theme đó.


Dịch trong gói ngôn ngữ thì tổng hợp tất cả vào 1 file duy nhất, tiện lợi khi bạn tái sử dụng.


Ta có thể sử dụng cả 2 cách cùng lúc. Về độ ưu tiên thì trong gói ngôn ngữ được ưu tiên cao hơn, nguồn.

Dịch trong theme, module

– Cài đặt ngôn ngữ hiển thị ngoài website Store > Configuration > General
– Tập tin dịch trong theme: app\design\frontend\[theme_namespace]\[theme_name]\i18n\vi_VN.csv
Chú ý:
Sau khi cập nhật dịch thì phải clear cache do text dịch sinh ra trong thư mục var/cache

php bin/magento cache:clean

Đối với text trong JS Template của Knockout thì phải chạy lại static-content vì nó sinh ra trong thư mực pub, tuy nhiên ta vẫn có mẹo để test nhanh hơn bằng lệnh:

find pub/static -name js-translation.json -exec rm -rf {} \;

Dùng gói ngôn ngữ

Đầu tiên ta chạy command line để tự động sinh ra file dịch:

php bin/magento i18n:collect-phrases -o app/i18n/Tom/vi_VN/vi_VN.csv -m

Trong đó ý nghĩa các tham số:
-o: đường dẫn tới tập tin xuất text dịch
-m: hiện thêm cột module (bắt buột)
Với cách dịch trong gói ngôn ngữ này, file dịch sẽ có dạng 4 cột:
“Add Row”,”Thêm dòng”,module,Magento_AdvancedCheckout
“Remove Row”,”Xóa dòng”,module,Magento_AdvancedCheckout

Official language packages

Gói ngôn ngữ chính hãng do cộng đồng trên toàn thế giới đóng góp dưới sự kiểm duyệt của Magento
https://crowdin.com/project/magento-2
Bạn có thể tìm kiếm gói ngôn ngữ mình cần trên đây.

Users in project: 1460
Words to translate: 75 079
Created: 3 years ago
Last Activity: 7 minutes ago

Cài đặt gói ngôn ngữ tiếng Việt

Hiện nay gói tiếng Việt trên Crowdin vẫn chưa hoàn thiện trên. Ta có thể download gói ngôn ngữ từ đầy đủ hơn từ: https://github.com/Magestore/magento2-language-vi-vn (2.0, 2.1)
Hoặc: https://github.com/namluu/magento2_translation_pack_vn (2.2)
1. Đặt gói ngôn ngữ tại: “app/i18n/[your_package_name]/vi_VN/vi_VN.csv”
2. Dashboard > STORES > Configuration > GENERAL > General > Locale Options – Locale = Vietnamese
3. Apply package

php bin/magento i18n:pack "app/i18n/tom/vi_VN/vi_VN.csv" -d vi_VN

4. Setup static content, clean cache

php bin/magento setup:static-content:deploy –j 8 en_US vi_VN
php bin/magento cache:clean

Mục lục loạt bài Magento 2

Cài đặt gói ngôn ngữ Tiếng Việt cho Magento 2
Đánh giá bài viết

5 phản hồi

  1. Anh viết bài rất chi tiết, phân tích kỹ rất dễ hiểu, hóng chương 2 và 3 ra sớm. Thanks!!!

  2. Mình có làm theo hướng dẫn của bạn mà hình như lỗi đường dẫn:
    “app/i18n//vi_VN/vi_VN.csv”
    “php bin/magento i18n:pack app/i18n/tom/vi_VN/vi_VN.csv -d vi_VN”
    Còn nữa là cái gói https://github.com/Magestore/magento2-language-vi-vn không đủ 4 thông số (text_en,text_vi thiếu 2 dòng phía sau) nên không cài đặt được.
    Mình có thử download file từ https://crowdin.com/project/magento-2 bỏ thư mục Magento trong app/code/ cũng không chạy được, nếu có thể mong bạn bổ sung install từ Crowdin trong thời gian tới :)

    1. Thanks bạn đã commment.
      – cái lệnh và gói cài hơi thay đổi trong các phiên bản magento, không biết bạn xài phiên bản nào nhỉ? Ví dụ lệnh i18n:pack trên 2.0 và 2.1 nó đòi 3 tham số:

      [RuntimeException]
      Not enough arguments.
      i18n:pack [-m|--mode="..."] [-d|--allow-duplicates] source pack locale

      Còn 2.2 thì chạy lệnh của mình là ok, khuyến khích nên tải 2.2 về xài. Mình vừa bổ sung thêm link gói ngôn ngữ tiếng Việt cho 2.2 khá đầy đủ và mới, bạn sử dụng xem sao.
      Thân

  3. Cảm ơn bạn đã phản hồi, mình sài 2.2 không biết tại sao lại bị vậy, để mình thử lại gói mới. Mình vẫn đang tò mò vụ install từ Crowdin mà search trên mạng thì không thấy, bạn rảnh thì bổ sung nha :) cảm ơn bạn.

Gửi phản hồi

Your email address will not be published. Required fields are marked *