Khi bạn thiết lập Tiếng Việt là ngôn ngữ mặc định
Chuyển Tiếng Anh hoặc bất kỳ ngôn ngữ khác là mặc định
Khi cài đặt Tiếng Anh là ngôn ngữ mặc định
Với một ứng dụng có nhiều chức năng để hiển thị thì làm sao code tới lui song song nhiều ngôn ngữ được nhỉ? Có nhiều bạn sẽ nghĩ dùng lệnh switch case hoặc if else để chạy chương trình... Đó là cũng là một cách nhưng nó "Dở" vì nó làm bộ nhớ thiết bị hoạt động vất vả và bạn sẽ dễ dàng mắc lỗi cũng như rất khó để sửa lỗi... Mình sẽ chỉ cách cho các bạn tác động đến hệ thống của điện thoại để đỡ mất công code song song nhiều ngôn ngữ.
Video bài học
Đầu tiên, bạn phải thiết kế một giao diện cho mình. Mình sẽ chọn giao diện đăng nhập để cho nhanh và dễ hiểu.
Sau đó, các bạn đặt id cho các layout mà mình sử dụng.
Tiếp theo, trong thư mục res các bạn vào mục values >> string.xml. Các bạn sẽ bắt đầu mở các thẻ string cho tất cả các thành phần các bạn muốn thay đổi ngôn ngữ. Như ứng dụng của mình ví dụ sẽ có 7 chỗ cần chuyển đổi ngôn ngữ như hình dưới
Tại thư mục string.xml phía trên góc phải có mục Open editor các bạn bấm vào đó và chúng ta sẽ vào nơi để chuyển đổi ngôn ngữ.
Trong Transistions Editor có 3 mục chính chia thành 3 cột.
Key (là id text bạn muốn chuyển đổi - nó sẽ nằm trong drawable khi cần thì bạn chỉ cần getResource().getString(R.string.id) là nó sẽ đại diện cho text mà bạn muốn chuyển đổi).
Untraslatable (nếu bạn tick vào nghĩa là id bạn gán sẽ giữ nguyên và không thay đổi bất cứ ngôn ngữ nào).
Default Value (text mặc định của id bạn gán - tức là nếu ngôn ngữ bạn chọn ưu tiên trên điện thoại của bạn không có trong Translations Editor thì nó sẽ lấy Default Value ra hiển thị.
Bên dưới khi mình muốn thêm ngôn ngữ chuyển đổi thì chỉ cần bấm vào icon trái đất có dấu cộng và chọn ngôn ngữ là xong. Sau đó bạn nhập chuyển ngữ theo Default Editor là ok nhe.
Giờ thì đi code thôi. Chuyển qua MainActivity.java và mình có để code tham khảo bên dưới.