Bạn có thể có những phương pháp được đề xuất bởi Ascorbin, hoặc thực hiện một cái gì đó tương tự như những gì Apple có trong thông báo đẩy họ:
Máy chủ của bạn có thể gửi một tin nhắn GCM với một tham số đó là một chìa khóa cho một tin nhắn. Yout Android App sẽ phải chứa cho mỗi khóa có thể có các chuỗi sẽ được hiển thị cho nó trong mỗi 7 ngôn ngữ (sử dụng nhiều bản sao của strings.xml). Sau đó, người nhận GCM trong ứng dụng của bạn sẽ nhận được khóa từ máy chủ và nhận chuỗi tài nguyên khớp với nó (nó sẽ tự động nhận được chuỗi khớp với ngôn ngữ của thiết bị). Bằng cách này bạn không phải lo lắng về việc bản địa hóa trong máy chủ của bạn. Nhược điểm của phương pháp này là tất cả các tin nhắn của bạn phải được xác định trước trong ứng dụng của bạn.
Bạn cũng có thể thêm tham số vào khóa thông báo như Apple. Ví dụ: máy chủ gửi khóa = "NEW_MAIL_FROM" và param1 = "John". Ứng dụng tìm thấy tài nguyên chuỗi cho khóa đó (giả sử thiết bị sử dụng ngôn ngữ tiếng Anh) - "Bạn có tin nhắn từ {0}" - và thay thế thông số bằng John, hiển thị thông báo "Bạn có tin nhắn từ John". Một thiết bị có ngôn ngữ differennt sẽ hiển thị thông báo bằng một ngôn ngữ khác.
Có, nhưng nếu giữa thời điểm mã thông báo thiết bị được gửi đến máy chủ và thời điểm chúng tôi quyết định gửi thông báo cho người dùng, người dùng sẽ thay đổi ngôn ngữ của mình? Trên máy chủ, chúng tôi vẫn có ngôn ngữ cũ, được gửi cùng với mã thông báo, một lúc trở lại chứ không phải ngôn ngữ hiện tại.Trong trường hợp này, ứng dụng có thể gửi cho máy chủ ngôn ngữ hiện tại mỗi lần người dùng thay đổi ngôn ngữ. – bitek
Đúng, nhưng mức độ thường xuyên như thế nào? Bạn có thường xuyên thay đổi ngôn ngữ của điện thoại của mình không? – FWeigl
Nó không quan trọng bao lâu, nó chỉ có thể xảy ra. Các câu trả lời khác cho thấy nhận được "chìa khóa" trong thông báo và làm cho chúng khớp với tài nguyên chuỗi cục bộ, đó là một cách tiếp cận tốt hơn nhiều (gọn gàng, đơn giản và chống đạn). –