Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multilingual support #307

Closed
5 tasks done
Tracked by #343 ...
syphax-bouazzouni opened this issue Oct 25, 2022 · 5 comments
Closed
5 tasks done
Tracked by #343 ...

Multilingual support #307

syphax-bouazzouni opened this issue Oct 25, 2022 · 5 comments
Assignees
Labels
feature request project managment issues used as development tasks in our projects

Comments

@syphax-bouazzouni
Copy link
Contributor

syphax-bouazzouni commented Oct 25, 2022

References

Goal

Make Ontoportal/Agroportal UI and API multilingual, where a user can decide on the language to display or show them all.

Our plan

Phase 1: Read one language

Most of the work is done here

Currently, we filter data fetched from the triple store by only one language, English only for Bioportal and English or French for Agroportal.

This behavior is settled by a constant (:EN) in Bioportal and an Array of languages in Agroportal.

image

This first step is to do is to add the possibility of taking a request parameter ?lang for language to show

Phase 2: Read multiple lang (JSON-LD compliant)

Currently, we don't use the lang attribute of literals, i.e in source data, we have skos:prefLabel "test"@en but we show only "test" if we want to show multiple languages the language information needs to be used and be complainant with what JSON-LD specify

The plan would is to be fully compliant JSON-LD and show the following in our API endpoints
image

Phase 3: write multiple languages

For a given metadata attribute (e.g description), how do we write in multiple languages (e.g have an English and French description)?

@syphax-bouazzouni
Copy link
Contributor Author

Possible difficulties

  • The case of classes prefLabel, pre-filled in the parsing step
  • Multilingual term indexation

@jonquet jonquet changed the title Support Multi-lingual Multilingual support Mar 30, 2023
@syphax-bouazzouni
Copy link
Contributor Author

syphax-bouazzouni commented Apr 5, 2023

INRAE DipSO requirements (Sophie Aubin and Sonia Bravo)

Voici nos retours concernant le multilinguisme:

Question de Clément (slack) sur l’affichage d’un concept lorsqu’il n’y a pas de libellé pour la langue sélectionnée. « On a besoin de decidion en terme de quoi faire quand il y a pas de concepts dans un langauge donnée... affiché l’URI ? la fin de l’URI ? un fallback language e.g. anglais ? etc ... »

Comme sur Skosmos, faire apparaître l’autre libellé pref en mettant entre parenthèse fr/en. Si pas de label, alors afficher la fin de l’URI (mais normalement ça n’arrive pas en SKOS)

Le comportement quand on change de langue est cohérent entre concept / scheme / collection : OK
Question : Est-ce que vous envisagez de traduire les noms des propriétés en français ?

La fiche concept n’affiche pas les termes dans les autres langues que celle sélectionnée

Dans SKOSMOS
image

Vous pourriez ajouter un bloc « Labels » dans la seconde section, au-dessus de narrower (on veut voir ces termes dans d’autres langues assez rapidement, sans scroller trop)

On affiche toujours en 1er la langue d’affichage sélectionnée, si "EN"

image

Idéalement, il faudra le même comportement pour les définitions (et autres notes). Afficher la def dans chaque langue en précisant la langue + affichage de la définition de la langue d’affichage en 1er.

@jonquet
Copy link
Contributor

jonquet commented Apr 5, 2023

Hello @saubin78 . Ok pour ces 3 points principaux.

  • Pour le label fallback (si pas de label dans la langue explicitement choisie), je suis pas encore sur qu'il faut revenir a un label dans une autre langue. Pour moi c'est un peu en opposition avec le fait que qq a explicitement choisie une langue a afficher.

  • Pour l'affichage des autres langues de toutes les propriétés "traductions", nous ferons pas comme SKOSMOS la car sinon les pages seront tjrs aussi "lourdes et chargées" qq soit la langue sélectionnée puisque tout s'affichera. Ce que nous proposons est d'avoir une option "All language" dans le menu de selection de langue et dans ce cas cela affichera tout groupé: tous les pref labels, tous les syn, toutes les def, etc. En plus, c'est techniquement plus logique/efficace et donc beaucoup plus facile a faire.

  • Pour la traduction des propriétés, bon point. Nous travaillons aussi a l'internationalization du portail (en Francais d'abord). Nous pourrons traduire les propriétés qui sont mappés au modele (celle du bloc du haut). Par contre celle du bloc du bas qui affiche directement le contenu de l'ontologie nous ne pourrons pas les traduire, il faudra que les ontologies définissent des rdfs:label pour les propriétés. C'est pas si frequent mais c'est mieux => essayer de le faire dans INRAETHES, cela nous sera utile pour tester.

@saubin78
Copy link

Pour la traduction des propriétés, bon point. Nous travaillons aussi a l'internationalization du portail (en Francais d'abord).

je sais que l'INIST a travaillé sur l'internationalisation de VocBench mais je n'arrive pas à retrouver les données sur le https://bitbucket.org/art-uniroma2/vocbench3/src/master/ (je m'y prends peut-être mal)

@syphax-bouazzouni
Copy link
Contributor Author

Deployed in production in ontoportal-lirmm/bioportal_web_ui#240
From this project remains two tasks postponed for the future:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request project managment issues used as development tasks in our projects
Projects
None yet
Development

No branches or pull requests

5 participants