claeis / ili2db

interlis import/export to relational databases
30 stars 29 forks source link

helper table to support multi language user interfaces #350

Open claeis opened 4 years ago

claeis commented 4 years ago

Add an option to create a new helper table t_ili2db_nls with multilingual labels, descriptions, ...

signedav commented 2 years ago

Is this on the roadmap already? What would be needed to do it (time/price)?

claeis commented 2 years ago

8h effort

signedav commented 6 months ago

8h effort

Is this estimate still valid @claeis ?

claeis commented 2 weeks ago

TODO doc um T_ILI2DB_NLS ergaenzen

signedav commented 2 weeks ago

I tested successfully on pg and gpkg. The table is generated and - as far as I checked - complete.

One question: When I import a translated model (only) -> means of course the original model is imported as well. But do I see somewhere what language is set at the model I imported? Since when a user imports Plandaffection and not Nutzungsplanung, they might prefer french. Is there an indicator for it the meta-tables?

java -jar /home/dave/dev/opengisch/QgisModelBakerLibrary/modelbaker/iliwrapper/bin/ili2gpkg-5.2.0-SNAPSHOT/ili2gpkg-5.2.0-SNAPSHOT.jar --schemaimport --dbfile /home/dave/qgis_projects/translation/plansdaffect2.gpkg [...] --createNlsTab --models PlansDAffectation_V1_2
claeis commented 2 days ago

Die Zeilen wo das ilielement keinen '.' enthält sind Zeilen für Modelle. (Und in der Spalte lang siehst Du die Sprache). Was du hier in der Tabelle t_ili2db_nls nicht siehtst, ist

a) welches der übersetzte iliname des Modelles ist (die Spalte label kann das sein, muss aber nicht) b) welches Sprache, welche andere Sprache übersetzt

Falls du a oder b brauchst müsste ich es in t_ili2db_meta_attrs ergänzen.

signedav commented 1 day ago

a) welches der übersetzte iliname des Modelles ist (die Spalte label kann das sein, muss aber nicht)

Verstehe ich nicht ganz. Wenn ein Modell übersetzt ist, dann ist der übersetzte Name doch im Label. In welchem Fall ist das nicht so? Wenn die Übersetzung dem Original enspricht?

Mein Problem ist, dass Model Baker wissen muss, welche Version er jetzt für die Benennung der QGIS Layer / Felder etc. verwenden soll. Er hat im Schema ja nun deutsche und französische Versionen. Er müsste also wissen, welches Modell die User angewählt haben. Mit b wär dies vermutlich umgesetzt. Existiert eine Übersetzung (zBs. de->fr), dann nutzt er grundsätzlich die Übersetzung (fr), denn würden die User keine Übersetzung wollen, hätten sie auch kein übersetztes Modell importiert.