Trong bài trước, chúng ta đã cùng nhau ghép dữ liệu cho phần giới thiệu của theme blog EzyPlatform.

Trong bài này, chúng ta sẽ cùng tìm hiểu cách lập trình đa ngôn ngữ trong EzyPlatform — giúp website hiển thị được nhiều ngôn ngữ như tiếng Việt, tiếng Anh, tiếng Trung,...


Mục tiêu

Sau khi hoàn thành bài này, bạn sẽ biết cách:

  • Thay các text fix cứng bằng key đa ngôn ngữ.
  • Tạo file chứa nội dung dịch (messages_<language_code>.properties).
  • Cấu hình IDE để hiển thị đúng ký tự tiếng Việt và các ngôn ngữ khác.
  • Cài đặt và thử nghiệm ngôn ngữ trên website.

1. Nguyên lý hoạt động đa ngôn ngữ

EzyPlatform sử dụng cơ chế thay thế văn bản bằng key.

Mỗi key sẽ tương ứng với một giá trị ngôn ngữ trong file messages.properties.

Ví dụ:

<p>[[#{contact}]]</p>

Khi chạy website, EzyPlatform sẽ tự động thay [[#{contact}]] bằng giá trị trong file dịch, chẳng hạn:

contact=Liên hệ

2. Cách thay thế nội dung bằng key

Bước 1: Xác định các chuỗi cần dịch

Ví dụ giao diện hiện tại toàn tiếng Anh:

<a>Contact</a>
<button>Load More</button>

Ta sẽ thay các chuỗi đó bằng key:

<a>[[#{contact}]]</a>
<button>[[#{load_more}]]</button>
Lưu ý:
  • Nên đặt tên key ở dạng chữ thường, cách nhau bằng dấu gạch dưới (_).
  • Ví dụ: contact, load_more, topic_title, footer_text...

Bước 3: Tạo file ngôn ngữ

Vào thư mục main/src/resources/messages của module theo định dạng:

messages_<language_code>.properties

Ví dụ:

  • messages.properties: Chứa các giá trị mặc định cho key, nghĩa là nếu không tìm thấy giá trị của key ở bất kỳ file ngôn ngữ nào thì nó sẽ lấy value ở đây. Nếu cũng không tìm thấy ở đây thì nó sẽ tự biến key thành value, ví dụ hello_world sẽ biến thành Hello World.
  • messages_vi.properties: Chứa các giá trị tiếng Việt.
  • messages_zh.properties: chứa giá trị tiếng Trung.

Ví dụ cho tiếng Việt:

about_me=Về tôi
advertise_with_us=Quảng cáo cùng tôi
contact_me=Liên hệ
cookie_policy=Chính sách cookie
email_address=Địa chỉ email
subscribe=Đăng ký
subscribe_successfully=Đăng ký thành công
terms_of_use=Chính sách sử dụng
topics=Các chủ đề

Bước 3: Cấu hình IDE để hiển thị đúng tiếng Việt

Một số IDE (như IntelliJ IDEA) mặc định không hiển thị được tiếng Việt trong .properties.

Bạn cần bật tùy chọn:

Settings → Editor → File Encodings → Transparent native-to-ascii conversion

Điều này giúp các ký tự tiếng Việt (hoặc tiếng Trung, Nhật, Hàn…) không bị lỗi mã hóa.

Bạn có thể tham khảo ở phần cuối của bài viết này để biết chi tiết hơn.


3. Thêm ngôn ngữ trong phần cài đặt website

Bạn có thể tham khảo khoá học cài đặt ezyplatform để biết thêm chi tiết.

4. Xem thành quả

Sau khi đã thay thế các text bằng key và bổ sung xong các giá trị cho đa ngôn ngữ, bây giờ bạn sẽ cần khởi động lại PersonalThemeStartupTest để xem thành quả.

Bạn có thể thay đổi tham số lang thành vi hay zh, ví dụ http://localhost:8080/?lang=vi, và kết quả bạn nhận được là:

Screenshot 2025-10-11 at 22.05.33.png

Tài liệu tham khảo