Đa ngôn ngữ ứng dụng Spring Web MVC

Bài viết được sự cho phép của tác giả Trần Thị Thu Hà

SmarJob xin chia sẻ với các bạn kỹ thuật đa ngôn ngữ ứng dụng web dựng trên nền Spring Web MVC. Chúng ta đang sống trong môi trường toàn cầu hóa, ứng dụng muốn tiến xa cần tiếp cận lượng người dùng đông đảo, thuộc nhiều quốc gia khác nhau. Khi đó phát sinh rào cản là ngôn ngữ. Phá vỡ được rào cản ngôn ngữ, ứng dụng bạn tạo ra sẽ nhiều người dùng hơn, doanh thu cao hơn.

  Giải thích mô hình MVC thông qua … cốc trà đá
  Google AMP là gì ? Cài đặt AMP cho website asp.net mvc

Bạn chuẩn bị các công nghệ, công cụ sau:

  • JDK (1.8 update 92)
  • Apache Maven (3.3.9)
  • IntelliJ IDEA (2016.1.3)
  • Apache Tomcat (8.0.35)

Khởi tạo project bằng Maven Archetype maven-archetype-webapp

spring_multilanguage_01

Chọn kiểu project là Maven, Sử dụng Java 8, Archetype là maven-archetype-webapp

spring_multilanguage_02

Khai báo 3 thông số GAV (GroupId – ArtifactId – Version)cho ứng dụng sắp tạo ra:

  • Gvn.smartjob.demo_spring
  • Amultilanguage
  • V1.0.0SNAPSHOT  (hậu tố SNAPSHOT  được khuyến khích sử dụng)

spring_multilanguage_03

Màn hình xác nhận ứng dụng Maven sẽ sử dụng, cũng như thông số cấu hình để quản lý dependencies cho project. Nếu bạn nhập sai thông tin, có thể bấm nút Previous để quay lại và sửa.

spring_multilanguage_04

Đặt tên và chọn vị trí lưu mã nguồn project:

spring_multilanguage_05Bạn cần tạo thêm các thư mục và tập tin để cấu trúc cây như sau:

spring_multilanguage_folder_structure

Là project sử dụng Maven build tool, nên việc đầu tiên bạn cần quan tâm là file pom.xml:

Là một ứng dụng web, bạn cần quan tâm đến web.xml (deploy descriptor: trình mô tả triển khai):

Cấu hình beans là phần thiết yếu trong ứng dụng sử dụng Spring framework

Tập tin giao diện hiển thị welcome.jsp:

Trang chủ index.jsp sẽ trỏ (redirect: chuyển hướng) về trang welcome.jsp đã tạo ra ở trên:

Controller điều hướng luồng đi trong ứng dụng Spring Web MVC:

Để minh họa, chúng ta hỗ trợ 3 ngôn ngữ: Tiếng Anh, Tiếng Việt, Tiếng Nhật. Bạn có thể hỗ trợ thêm số ngôn ngữ không giới hạn. Điều này khiến lượng khách hàng/lượng người dùng đa quốc gia tăng lên mạnh mẽ:

File messages_en_US.properties

File messages_vi_VN.properties

File messages_ja_JP.properties

Mẹo: Để đảm bảo font chữ hiển thị đúng, sử dụng Notepad++ biên soạn nội dung đa ngôn ngữ, để chế độ mã hóa (encoding) là UTF-8

success2

Kết quả

spring_multilanguage_07_vietnam

spring_multilanguage_07_japan

spring_multilanguage_07_english

Tải về source code từ server SmartJob: multilanguge hoặc clone/fork từ server GitHub: https://github.com/SmartJobVN/spring_mvc_multi_language

Bài viết gốc của Đỗ Như Vý được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev