2 votes

La cohérence des valeurs d'identification des ressources en chaîne est-elle garantie entre les différents projets ?

J'ai des messages qui sont renvoyés de mon serveur par php. Le problème est que les messages sont en anglais et que si l'utilisateur utilise une autre langue, il recevra toujours le message en anglais.

J'ai donc eu l'idée qu'au lieu de renvoyer le message, je pourrais transmettre l'identifiant de ressource de type chaîne de l'application Android, de sorte que l'application obtienne l'identifiant de chaîne correct pour sa langue. Je vais utiliser ce système dans un certain nombre d'applications et je veux juste savoir si l'identifiant de la chaîne est garanti comme étant le même dans les différents projets Android ?

5voto

Christopher Orr Points 58514

Non.

Il n'est même pas garanti que les identifiants de ressources en chaîne soient identiques entre les recompilations d'une même application (par exemple, les différences entre les versions de aapt ).

1voto

Gautier Hayoun Points 1866

Christopher a raison, mais vous pouvez passer un paramètre à votre serveur comme http://example.com/script.php?lang=fr ou lang=fr ....

De cette façon, les scripts de php peuvent utiliser ce paramètre pour renvoyer les messages dans la locale appropriée.

0voto

Moss Points 3813

Vous pouvez obtenir l'ID de la ressource à partir d'une chaîne de caractères :

int resID = getResources().getIdentifier("org.my.package:strings/my_string",     null, null);
// or
int resID = getResources().getIdentifier("my_string", "strings", "org.my.package");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X