Top Posts
Gửi mail trong Magento 2 – Đính kèm...
Tạo grid trong Magento 2 sử dụng block
Tạo form admin sử dụng block
Cách sử dụng insertListing trong Magento 2
Compile LESS file với Grunt trong Magento 2
Magento 2 get product image url
Format price với currency trong Magento 2
Magento 2 Add URL Rewrite programmatically
Magento 2 Upload image admin form
Magento 2 Create Category Attribute
vi-magento.com
  • Magento 2
    • Magento 2 cơ bản
    • Bài tập Magento 2
    • Magento 2 Api
  • PHP
  • JavaScript
  • Cơ sở dữ liệu
    • Học MongoDB
    • SQL Server
    • Mysql
    • Học Oracle
    • SQLite
  • Liên hệ
  • Trắc nghiệm Magento 2
Trang chủ Lập trình Magento 2Magento cơ bản Translate trong Magento 2
Magento cơ bản

Translate trong Magento 2

bởi admin 12/09/2020
bởi admin 12/09/2020 0 Bình luận 1946 xem

Magento 2 cho phép bạn bản địa hóa cửa hàng của mình bằng cách sử dụng các file .csv để dịch ngôn ngữ của cửa hàng sang các ngôn ngữ khác nhau. Trong bài viết này tôi sẽ hướng dẫn các bạn tìm hiểu về translate trong Magento 2.

Danh mục

  1. Tạo file .csv
  2. Sử dụng Translate trong Magento 2
  3. Translate làm việc như thế nào?
  4. Kết luận

Tạo file .csv

Phần này khá là đơn giản, bạn chỉ cần tạo một file .csv nằm trong thư mục i18n và khai báo các chuỗi bạn muốn dịch là xong. Điều các bạn cần chú ý ở đây là tên của file .csv chính là ngôn ngữ hiện tại của Magento.

VendorName/ModuleName/i18n/<locale_code>.csv

Muốn biết locale_code của các ngôn ngữ hiện tại bạn có thể vào Stores > Configuration > General > Locale Options. Sau đó nhấn chuột phải vào input select Locale và chọn Inspect. Bạn sẽ thấy mã HTML các options có value bằng local code như bên dưới:

Locale code trong configuration (Translate trong Magento 2)
Locale code trong configuration (Translate trong Magento 2)

Ví dụ cửa hàng Magento của tôi ngôn ngữ đang là tiếng anh, và tôi muốn dịch chúng sang tiếng việt thì tôi sẽ tạo file en_US.csv trong module của tôi:

ViMagento/HelloWorld/i18n/en_US.csv

1
2
3
'Translate', 'Dịch'
'Hello ViMagento', 'Xin chào ViMagento'
'Language', 'Ngôn ngữ'

Sử dụng Translate trong Magento 2

Để dịch được các chuỗi mà bạn sử dụng trong module của mình thì bắt buộc bạn phải sử dụng hàm dịch. Ví dụ trong file template của tôi có một vài chuỗi như sau:

1
2
3
<p><?= __('Translate') ?></p>
<p><?= __('Hello ViMagento'); ?></p>
<p><?= 'Language' ?></p>

Và kết quả hiển thị trên trình duyệt sẽ là:

Không sử dụng hàm dịch thì chuỗi sẽ không được dịch
Không sử dụng hàm dịch thì chuỗi sẽ không được dịch

Như bạn có thể thấy trong file template tôi đã sử dụng __() để dịch các chuỗi từ tiếng anh sang tiếng việt. Chuỗi Language không được sử dụng hàm __() nên sẽ không được dịch.

Translate làm việc như thế nào?

Khi gọi hàm __(‘Translate string’) Magento sẽ tìm bản dịch cho chuỗi Translate string bằng ngôn ngữ hiện tại. Ví dụ ngôn ngữ hiện tại đang là tiếng anh thì Magento sẽ tìm trong các file en_US.csv . Magento sẽ tìm bản dịch trong file .csv theo thứ tự sau:

  • Bảng translation trong cơ sở dữ liệu
  • Trong theme ( app/code/design/<Package>/<theme>/i18n/<locale_code>.csv)
  • Trong module (app/code/<Vendor>/<Module>/i18n/<locale_code>.csv)

Khi một chuỗi phù hợp được tìm thấy thì Magento sẽ không tìm kiếm các chuỗi phù hợp khác nữa. Ngược lại nếu không tìm thấy chuỗi phù hợp nó sẽ lấy ngôn ngữ hiện tại. Chức năng translate đã được Magento làm rất tốt. Hàm __() là một hàm toàn cục và bạn có thể gọi nó ở bất cứ đâu mà không cần phải nhờ đến một class nào trợ giúp.

Kết luận

Trong bài viết tôi đã hướng dẫn các bạn sử dụng chức năng translate trong Magento 2. Phần này thì đơn giản nên các bạn chỉ cần thực hành là sẽ hiểu ngay. Cám ơn các bạn đã đọc bài.

magento 2translate
Chia sẻ
0
FacebookSkype
Bài trước
Các hàm xử lý dữ liệu trong Magento 2
Bài tiếp theo
Tạo Source model trong Magento 2

Related Posts

Sử dụng Ajax với Knockout JS trong Magento...

27/09/2020

Các lệnh cơ bản trong Magento 2 mà...

03/07/2021

Magento 2 Cách sử dụng Knockout Js trong...

02/09/2020

Filter Collection trong Magento 2

12/09/2020

Thêm, Xóa, Sửa dữ liệu trong Magento 2

22/08/2020

Lợi ích và cách sử dụng Jquery trong...

20/09/2020

Tạo form admin sử dụng block

14/08/2021

Backend model trong Magento 2 (system.xml)

13/09/2020
0 0 vote
Đánh giá
Login
guest
guest
0 Comments
Inline Feedbacks
View all comments

Bài viết cùng chủ đề

  • Hướng dẫn cài đặt Magento 2.4 trên Ubuntu

  • Hướng dẫn tạo Module trong Magento 2

  • Tạo Controller trong Magento 2 chi tiết nhất

  • Layout, Block, Template trong Magento 2

  • Layout trong Magento 2 – Hướng dẫn chi tiết

  • Plugin trong Magento 2 – Hướng dẫn chi tiết

  • Magento 2 thay đổi tên product sử dụng Plugin

  • Tạo bảng trong Magento 2 với Setup script

  • Tạo bảng với db_schema.xml trong Magento 2

  • Hướng dẫn cài đặt xdebug cho phpstorm trên ubuntu

  • Model, Resource Model và Collection trong Magento 2

  • Data Patch trong Magento 2 – Hướng dẫn chi tiết

  • Thêm Product Attribute Trong Magento 2

  • ACL trong Magento 2 – Hướng dẫn tạo ACL

  • Tạo Menu Admin trong Magento 2

  • Tạo system.xml trong Magento 2

  • Tạo form admin trong Magento 2 với Ui Component

  • Tạo Grid trong Magento 2 với Ui Component

  • Thêm, Xóa, Sửa dữ liệu trong Magento 2

  • Magento 2 Thêm Action Column trong Admin Grid

  • [Magento 2 cơ bản] Tìm hiểu về Events và Observers trong Magento 2

  • Tất tần tật danh sách các Events trong Magento 2

  • Bóc mẽ cách Magento tổ chức, thiết kế sản phẩm

  • Magento 2 Hướng dẫn tạo Cron Job

  • [Magento 2 cơ bản] Hướng dẫn thêm một Customer Attribute trong Magento 2

  • Magento 2 Đối tượng Factory

  • Cài đặt HTTPS (SSL) cho localhost dễ hiểu

  • Magento 2 Các loại join và giải thích chi tiết

  • Magento 2 Dependency Injection là gì? Tại sao phải sử dụng Dependency Injection?

  • Hướng dẫn thêm custom field ở trang checkout trong Magento 2

  • Sắp xếp danh sách sản phẩm theo price, name trong Magento 2

  • Magento 2 Add custom column into sales order grid

  • Magento 2 Cách sử dụng Knockout Js trong custom templates

  • Magento 2 Tìm hiểu về 6 loại product

  • Hướng dẫn thêm product type trong Magento 2

  • Các cách để override templates trong Magento 2

  • Widget là gì? Hướng dẫn tạo custom widget trong Magento 2

  • Tạo Admin User thông qua Command line trong Magento 2

  • Hướng dẫn lấy đường dẫn hiện tại, media, static trong Magento 2

  • Hướng dẫn sắp xếp danh sách sản phẩm theo lượt view trong Magento 2

  • Tìm hiểu về di.xml trong Magento 2

  • Filter Collection trong Magento 2

  • Các hàm xử lý dữ liệu trong Magento 2

  • Tạo Source model trong Magento 2

  • Frontend model trong Magento 2 (system.xml)

  • Backend model trong Magento 2 (system.xml)

  • Magento 2 cơ bản – tự học magento 2

  • Tạo popup modal trong Magento 2

  • Thêm Custom Validate Rule trong Magento 2

  • Danh sách các validate rule trong Magento 2

  • Lợi ích và cách sử dụng Jquery trong Magento 2

  • Lưu custom data vào bộ nhớ cache | Magento 2

  • Truy vấn SQL trong Magento 2

  • Cách tạo Cronjob trong Magento2

  • Sử dụng Ajax với Knockout JS trong Magento 2

  • Sử dụng Ajax trong Magento 2

  • EAV trong Magento 2 | Magento 2 cơ bản

  • Hiểu Về Repository trong Magento 2

  • Hướng dẫn customize Magento 2 commands

  • Cách cài đặt zsh và zsh-autosuggestions trên Ubuntu

  • Thêm Multi Select Filter trong Admin Grid

  • Tạo admin grid với dữ liệu của nhiều table

  • Tìm hiểu về indexing trong magento 2

  • Quản lý indexer – các command cần thiết

  • Message queue trong magento 2

  • Theme trong Magento 2

  • Linux Là Gì?

  • Phân biệt Salable Quantity và Quantity trong Magento 2

  • Magento 2 Tìm hiểu về Proxy

  • EAV Attribute trong Magento 2

  • Cài đặt Magento 2.4 trên windows

  • Magento 2 – Kiểm tra customer đã đăng nhập hay chưa?

  • Thêm Command Console Trong Magento 2

  • Các lệnh cơ bản trong Magento 2 mà lập trình viên cần phải biết

  • Tạo Custom Indexer Trong Magento 2

  • Magento 2 Create Category Attribute

  • Magento 2 Upload image admin form

  • Magento 2 Add URL Rewrite programmatically

  • Format price với currency trong Magento 2

  • Magento 2 get product image url

  • Compile LESS file với Grunt trong Magento 2

  • Cách sử dụng insertListing trong Magento 2

  • Tạo form admin sử dụng block

  • Tạo grid trong Magento 2 sử dụng block

  • Gửi mail trong Magento 2 – Đính kèm file

@2020 - All Right Reserved. vi-magento.com

vi-magento.com
  • Magento 2
    • Magento 2 cơ bản
    • Bài tập Magento 2
    • Magento 2 Api
  • PHP
  • JavaScript
  • Cơ sở dữ liệu
    • Học MongoDB
    • SQL Server
    • Mysql
    • Học Oracle
    • SQLite
  • Liên hệ
  • Trắc nghiệm Magento 2
wpDiscuz