0
votes

Détecter la langue d'application au lieu de la langue du téléphone

J'ai une application multi-langage et je souhaite afficher la date en anglais si la langue sélectionnée sur le téléphone n'est pas prise en charge par les traductions de l'application.

existe-t-il une méthode pour obtenir la langue utilisée par application (anglais par défaut) Au lieu de la langue sélectionnée dans le téléphone? strong> p>

On dirait que cela ne renvoie que la langue du téléphone: P>

Locale.getDefault()
getContext().getResources().getConfiguration().locale


13 commentaires

Ne serait-il pas plus facile de vérifier si la langue du système n'est pas disponible dans vos traductions?


Ce serait mais comment? @Federicoklezculloca


1. Obtenir la langue du système; 2. mettre en place des langues de traduction dans la liste; 3. Vérifiez si la langue système est dans cette liste.


Oui, mais cela "2. Mettre en place la traduction Les langues de traduction dans la liste" est un peu problématique. @Federicoklezculloca


Je ne comprends pas vraiment ce que vous voulez dire avec " Langue utilisée par application (anglais par défaut) au lieu de la langue sélectionnée dans le téléphone "


Par exemple, l'utilisateur de l'Arabie a sélectionné une langue arabe qui n'est pas prise en charge par application. Puis application utilisant la date d'affichage de la langue anglaise en arabe à cause de Locale.getDefault ()


@ Esperanz0 j'ai fait les mêmes choses. Pouvez-vous me dire un peu plus de plus pour que je puisse vous aider? Prenez-vous la date de DatePickerDialog ou le formatage?


Android utilise la localisation par défaut si le paramètre de périphérique sélectionné de l'utilisateur n'est pas inclus dans les ressources. N'est-ce pas exactement ce que vous recherchez? Dans quelle langue votre localisation par défaut est-elle maintenant?


@HARSHADPRAJAPATI Oui quelque chose comme ça.


@Torben et la langue d'application conviennent bien. Mais la date est formatée par Locale.GetDefault () qui n'est pas par défaut la langue anglaise et la date est formatée par langue sélectionnée au téléphone.


string lang = locale.getdefault (). GetLanguage ();


@HARSHILKAKAADIYA Pour des raisons pour des raisons de retour, la langue de retour sélectionné sur le téléphone au lieu de l'application.


hey @ esperanz0. Je viens de poster ma réponse, vérifiez-le et laissez-moi savoir si vous voulez une explication supplémentaire ou une modification.


3 Réponses :


0
votes

Obtenir la langue système

String appLang = Locale.getDefault().getLanguage();


1 commentaires

Il renvoie également la langue du système et non la langue d'application.



0
votes

Essayez ceci:

J'ai fabriqué une fonction d'extension à la date de format avec les paramètres régionaux par défaut de l'application ou uniquement en anglais.

Remarque: cette fonction retournera toujours la date de formatée en anglais, peu importe votre langage de votre appareil ou quelle que soit votre langue d'application.

et si vous voulez sortir avec votre langue d'application Langue sélectionnée de l'application sur cette méthode.

Avant d'afficher DatePickerDialog SET LOCAL à EN Comme ça. xxx

et après cela, utilisez cette méthode pour formater la date. xxx

Comment utiliser cette fonction < Pré> xxx


0 commentaires

0
votes

Puisqu'il n'y a pas d'aide, je posterai ma solution pour ce problème.

J'ai donc décidé de créer un fichier XML pour chaque langue prise en charge avec le code local à l'intérieur: xxx

exemple d'utilisation: xxx < / p>


0 commentaires