我有一些消息通过php从我的服务器传回来。问题是这些消息是英文的,如果用户使用的是另一种语言,他们仍会收到英文信息。
所以我有一个想法,也许不是传回消息,而是我会从Android应用程序传递String资源ID,这样应用程序将获得他们语言的正确字符串ID。我将在许多应用程序中使用它,所以我只想知道不同的android项目中字符串ID是否保证相同?
答案 0 :(得分:5)
没有
相同应用程序的重新编译之间甚至可能不保证字符串资源ID相同(例如aapt
版本之间的差异)。
答案 1 :(得分:1)
Christopher是对的,但您可以将参数传递给服务器,例如http://example.com/script.php?lang=en或lang = fr ....
这样php脚本就可以使用此参数返回相关语言环境中的消息。
答案 2 :(得分:0)
您可以从字符串中获取资源ID:
int resID = getResources().getIdentifier("org.my.package:strings/my_string", null, null);
// or
int resID = getResources().getIdentifier("my_string", "strings", "org.my.package");