Ứng dụng đa ngôn ngữ

Xin chào các bạn, trong quá trình phát triển sản phẩm, chúng ta nhận được các yêu cầu của khách hàng về việc muốn ứng dụng có thể hỗ trợ nhiều loại ngôn ngữ ví dụ như: tiếng anh, tiếng nhât, tiếng đức... Vậy chúng ta sẽ làm như thế nào? Bài viết này mình sẽ tạo một ứng dụng hỗ trợ đa ngôn ngữ bao gồm cả message đối với các popup xin cấp quyền cho ứng dụng.

Tạo project và cấu hình.

Trước tiên, mình sẽ tạo một project với tên "DemoLocalized". Sau khi tạo xong project, mình sẽ kéo layout cho app như hình dưới đây: Tiếp đó, để có thể hỗ trợ đa ngôn ngữ cho nội dung text và message xin cấp quyền trên ứng dụng, mình sẽ tạo một file .strings có tên là: "Localizable.strings" và "InfoPlist.strings". Như tên của file chắc các bạn cũng hiểu được rằng file InfoPlist sẽ được sử dụng để localized message xin cấp quyền. Còn file Localizable sẽ dùng để localized text string. Sau khi tạo xong, mở mục project info lên và chọn thêm ngôn ngữ mà khách hàng muốn ứng dụng hỗ trợ. Tiếp theo, mở 2 file .strings đó lên và ở mục file inspector bên phải, mình sẽ tiến hành chọn localize ngôn ngữ mà khách hàng yêu cầu. Trong các file .strings tương ứng với các ngôn ngữ, chúng ta sẽ define các key tương ứng với nội dung. Và đây là cách mình gán text cho Label và Button trong code.

Kết quả

Cuối cùng đây là kết quả khi mình cài đặt app lên 2 device sử dụng tiếng anh và tiếng nhật. Và đây là popup xin cấp quyền của hệ thống:

Xin cảm ơn các bạn, dưới đây là sample code mà mình sử dụng trong bài này: