Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Tue 18 January 2022 03:39

Giene
Participant actif
Date d'inscription: 1 Dec 2018
Messages: 75

QGIS: Recherche dans une table pour nommer un champ

Bonjour,

J'ai mis au point un outil de travail sous QGIS / QFIELD, qui est utilisé par des personnes parlant des langues différentes.

Plutôt que de traduire à chaque fois, j'aimerais créé une table, contenant la liste des différents noms de champs (c'est fait avec les listes), traduits selon Français / Anglais.
Pour nommer un champ (Alias) il n'y aurait qu'à rechercher la langue d'après une liste située dans une couche, puis via un identifiant unique pour chaque type de champ, on pourrait rechercher le nom du champs selon la langue.

Exemple :

ID 1 = "numéro d'étude" (FR) ; "Study ID" (En).
Pour le champ x, on demande de rechercher l'ID n° 1 d'après la langue sélectionnée, l'Alias est alors nommé automatiquement.

Et si un autre utilisateur souhaite utiliser une langue différente, il suffira de modifier cette table. C'est beaucoup plus simple que de reprendre l'ensemble du projet.

Savez-vous comment je peux m'y prendre ?

Bonne journée !

Hors ligne

 

#2 Tue 18 January 2022 04:56

Giene
Participant actif
Date d'inscription: 1 Dec 2018
Messages: 75

Re: QGIS: Recherche dans une table pour nommer un champ

Pour le moment, je m'y prend ainsi :

J'utilise cette expression dans Alias.
array_get(aggregate('Alias','array_agg',"Alias"),array_find(aggregate('Alias','array_agg',"id"|| '-'  ||  "Language"),'1-'||"Langue"))

Où 'Alias' est ma table regroupant les listes d'"Alias" pour les formulaires. Après avoir agrégé les données de manière à obtenir un array de l'ID + la langue, je recherche dans cet array, le numéro de ce qui correspond à un id fixe (ici 1) et la langue sélectionnée dans ma couche Language (et qui est ici récupéré dans mon champ "Langue". (Hyper clair tout ça).

Hors ligne

 

Pied de page des forums

Powered by FluxBB