Lập trình đa ngôn ngữ với EzyPlatform
Back To BlogsTrong 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>
- 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_worldsẽ biến thànhHello 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à: