Hỏi về getString với Locale trong Android

Trong ứng dụng Android của mình, mình cần chuyển đổi ngôn ngữ, ví dụ

values:    <string name="txt_help">Help</string>
 values-de: <string name="txt_help">Hilfe</string>
 values-fr: <string name="txt_help">Aider</string>

Mình muốn so sánh 1 biến String itemHelp, miễn là itemHelp == “txt_help” bất kể ngôn ngữ gì, nó đều trả về true. Có cách nào làm được việc này không ạ. Mình đã thử context.getString nhưng nó chỉ get đc ngôn ngữ current

Nghĩa là sao nhỉ. Hình như hình mô tả với nội dung không khớp nhau lắm

Trước hết, bạn hãy đưa ra ý định bạn muốn làm gì cái đã.
Thường thì chả ai so sánh văn bản của một mục cụ thể nào đó, hãy so sánh định danh (id) hoặc tên duy nhất của mục đó.

Như việc mình muốn tạo một ứng dụng đa ngôn ngữ, mình sẽ dựa vào id của mục đó để xác định người dùng đang nhấn gì.

Còn việc của bạn là cần so sánh, chỉ cần có 1 từ đúng thì sẽ trả về true. Việc chắc chắn mình nghĩ tới là trước hết làm sao để có thể lấy được tất cả văn bản của tất cả ngôn ngữ của mục txt_help rồi so sánh với từng mục.

Còn cách để lấy đủ các ngôn ngữ thì cứ tìm “anh” SO thôi.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?