PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Langues de droite à gauche
Langues de droite à gauche
Débuté par alain G., 22 juil. 2020 15:33 - 10 réponses
Posté le 22 juillet 2020 - 15:33
Bonjour,

Est-il possible de tester sur un matériel Android l'affiche de langue de droite à gauche (langue arabe, hébreu,...) alors que la langue par défaut du matériel est le Français ?

Dans un projet je rajoute par exemple la langue arabe. L'affichage comprend bien des caractères arabes mais impossible d'afficher de droite à gauche.

Un grand Merci par avance
Alain G.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 22 juillet 2020 - 16:57
Bonjour,

Mon application est en 6 langues (Anglais, Français, Espagnol, Italien, Portugais et Arabe )

Sous Android ce n'est qu'a partir de Android 4.2 API level 17 que le sens d’écriture droite a gauche peut être effectif
Pour cela il faut modifier le Manifest et ajouter l'attribut android:supportsRtl avec la valeur : true.
Sous Ios , il n'y a rien de particulier.

Le principal problème avec Windev Mobile est la fonction Nation qui ne fonctionne
que sur une nouvelle fenêtre et pas sur la fenêtre en cour d’exécution.
Donc j'ai créer une fenêtre principale qui affiche un écran de lancement puis gère la détection de la langue de l'appareil
puis après les fonctions nation et ChangeAlphabet lance la fenêtre adéquate.

Pour afficher l'interface en miroir
Soit vous créer des fenêtres miroir pour l’ arabe et des fenêtres pour les autres langues.
Soit vous utiliser les plan
Soit rendre visible ou pas des champs.

Dans le champ HTML est très facile d'ajouter <html dir="rtl">

Lors de la compilation vous pouvez mettre un nom spécifique de l'application selon la langue.

Voilà, j’espère que mon résumé vous seras utile.
Cordialement,
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 27 juillet 2020 - 08:12
Bonjour,

j'exécute sur un matériel Android un projet qui est uniquement en langue arabe (la langue par défaut du matériel est en français).

L'alignement à droite ne fonctionne pas. La saisie dans un champ de saisie ne se fait pas de droite à gauche mais de droite à gauche.
Il n'a y pas d'inversion par exemple pour un champ de saisie cela devrait être zone de saisie suivi du libellé.
Est-ce que cela ne fonctionne que si le matériel est paramétré en langue arabe dans Android ?

--
Cordialement
François
Posté le 22 août 2020 - 11:55
La méthode de droite à gauche Apprenez-moi à prendre des captures d'écran. Je ne sais pas comment faire. Comment réaliser de droite à gauche dans le système Android? Comment fonctionne Windev Mobile24? Comment faire la première partie? Comment faire la deuxième partie? Comment faire la troisième partie? ...
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 22 août 2020 - 20:36
Mon application fonctionne depuis la version 15 pour le droite à gauche.
Les captures d'écran se font différemment selon l'appareil
Souvent il faut appuyer sur le changement de volume et un autre bouton.
Sinon bon garçon précise ta demande.
Posté le 23 août 2020 - 21:15
Popoy wrote:
Mon application fonctionne depuis la version 15 pour le droite à gauche.
Les captures d'écran se font différemment selon l'appareil
Souvent il faut appuyer sur le changement de volume et un autre bouton.
Sinon bon garçon précise ta demande.


Bonjour? Popoy
Dans la zone d'édition, le sens d'écriture du texte de l'étiquette est de droite à gauche. Comment y parvenir? Dites-moi en détail? Ma demande est aussi simple que cela. Première étape, deuxième, troisième? Comment faire?2
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 24 août 2020 - 08:13
Tu parles sûrement du champ de saisie.
Comme je l'ai écrit le 22 juillet, il faut modifier le manifeste.
Cela ce fait lors de la création de l'apk.
Il faut ajouter l'attribut android:supportsRtl avec la valeur : true.
Car cela ne ce fait pas tout seul.
(Avant la version 23, j'avais trouve une astuce pour me donner le temps de modifier le manifeste pendant la compilation)
Après tu peux aussi ajouter l'alignement à droite du champ.
Posté le 24 août 2020 - 12:49
Popoy wrote:
Tu parles sûrement du champ de saisie.
Comme je l'ai écrit le 22 juillet, il faut modifier le manifeste.
Cela ce fait lors de la création de l'apk.
Il faut ajouter l'attribut android:supportsRtl avec la valeur : true.
Car cela ne ce fait pas tout seul.
(Avant la version 23, j'avais trouve une astuce pour me donner le temps de modifier le manifeste pendant la compilation)
Après tu peux aussi ajouter l'alignement à droite du champ.


L'attribut android: supportsRtl = "true" a été ajouté à la balise d'application dans le fichier Androidmanifest, et il s'est avéré qu'il n'avait aucun effet.
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 10 décembre 2020 - 16:01
Bonjour Popoy,

Je reviens vers ce sujet.
J'ai un projet en langue française et arabe.

Sur un matériel Android dont la langue est l'arabe et avec dans le manifeste : android:supportsRtl true
j'ai bien l'affichage de droite à gauche. Mais le problème d'alignement déjà signalé persiste.

Par exemple un champ de saisie s'affiche avec à gauche le libellé de saisie et à droite le champ de saisie en lui-même.
Une combo s'affiche avec son libellé à gauche et les options à droite. Une ZR avec des libellés : les libellés sont en langue arabe mais cadrés à gauche!

Cela devrait être inversé et pour la ZR les libellés devraient êtres cadrés à droite...
Comment faire?
Existe t'il sous Windev une fonction qui permette de faire cette inversion ?

Merci...

--
Cordialement
François
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 10 décembre 2020 - 17:25
Sur un plan je met tout les champs pour les langues de gauche à droite
Sur un autre je met tout les champs pour l'arabe et l'hébreu et je personnalise
L'alignement

Je remplis tout les champs quelques soit la langue
Mais j'affiche le bon plan
Cela complique le code mais ça fonctionne
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 11 décembre 2020 - 17:40
Merci Popoy !

Je me suis inspiré de ta réflexion pour adapter mes champs, mais sans créer de nouveaux plans.

Pour tous les champs qui comprennent un libellé et une zone de saisie ou d'affichage de valeurs, je désactive partout le libellé du champ et je créé par exemple un champ libellé au dessus de ce champ (ce qui me permet de l'afficher de gauche à droite ou l'inverse).
Après pour l'arabe, l'hébreu et le sindhi, je code simplement avec une instruction de cadragehorizontal. Pour les ZR, j'ai rajouté quand c'est nécessaire un attribut cadragehorizontal.
Attention le champ bouton ne permet pas d'utiliser le cadragehorizontal.
Pour les applis multilingues, je pense qu'il vaut penser à ce problème.

--
Cordialement
François