11
43
Fork
You've already forked base
6

Weblate-Test: Sprachansicht unklar #117

Closed
opened 2022年05月19日 08:16:14 +02:00 by gerhardbeck · 18 comments

Bei den Tests von test.lrntools.de zu https://codeberg.org/lerntools/base/issues/93ergaben sich für manche folgende Probleme

ich habe en als Sprache eingestellt und nach dem Anmelden ist en in den Texten und de im Rahmen.

grafik

Dazu kommt:

Um die Sprachen zu ändern kann man Einstellungen aufrufen und dann die Sprache ändern. Wenn man das auf der Einstiegsseite macht, wird man rausgeworfen - d.h. da geht es nicht. Soll das so sein?
Man kann die Sprache ändern, wenn man vorher ein Module aufgerufen hat. Also ändere ich nach de und dann nach en und verlasse wieder das Module. Dann sehe ich folgende Seite - unten angehängt.
Weitere Beobachtung
ich gehe auf mein Profile und dann auf den home-button und ich werde von Firefox gefragt,
ob die Zugangsdaten gespeichert werden sollen - nur beim ersten Mal - soll ich dazu einen screencast machen? HGU

Das wurde beobachtet in Firefox und mit D als Hauptsprach oder En als Hauptsprache.

@mono bestätigt dies.

Bei mir klappt alles wunderbar

grafik
Ebenfalls Firefox

Bei den Tests von test.lrntools.de zu https://codeberg.org/lerntools/base/issues/93ergaben sich für manche folgende Probleme > ich habe en als Sprache eingestellt und nach dem Anmelden ist en in den Texten und de im Rahmen. ![grafik](/attachments/42a2d7c1-bdfe-4d8a-b89b-7762ffa06d97) Dazu kommt: > Um die Sprachen zu ändern kann man Einstellungen aufrufen und dann die Sprache ändern. Wenn man das auf der Einstiegsseite macht, wird man rausgeworfen - d.h. da geht es nicht. Soll das so sein? > Man kann die Sprache ändern, wenn man vorher ein Module aufgerufen hat. Also ändere ich nach de und dann nach en und verlasse wieder das Module. Dann sehe ich folgende Seite - unten angehängt. > Weitere Beobachtung > ich gehe auf mein Profile und dann auf den home-button und ich werde von Firefox gefragt, > ob die Zugangsdaten gespeichert werden sollen - nur beim ersten Mal - soll ich dazu einen screencast machen? HGU Das wurde beobachtet in Firefox und mit D als Hauptsprach oder En als Hauptsprache. @mono bestätigt dies. Bei mir klappt alles wunderbar ![grafik](/attachments/d830b611-4386-4cb5-a007-06967dbe53d4) Ebenfalls Firefox
Member
Copy link

Firefox 98.0.1:

Firefox 98.0.1: ![](https://cloud.lschreiner.de/f/ed7b15fad1b6497382d5/?dl=1)

getestet mit Firefox 100 und Chromium 101

getestet mit Firefox 100 und Chromium 101
Member
Copy link
  • Chromium Version 100.0.4896.30 (Offizieller Build) (64-Bit) gleiches Bild (Testprozedur wie im Firefox). Wichtig: bei mir ist im Profil die Sprache "Englisch" voreingestellt und ich betrete die Seite mit Deutsch. Durch das Anmelden findet implizit ein Wechsel auf Englisch statt. Die Basis wird auch übersetzt (bis auf Titel und Subtitel). Beim Betreten der Module sind diese aber alle auf Deutsch.

  • Im Produktivsystem https://lerntools.org/app/#/main-index ähnliches Bild (hier wieder Firefox getestet):

    Hier wurde die Seite in Englisch betreten (Seite aufgerufen, Sprache auf Englisch gewechselt), dann angemeldet - im UserProfil ist keine explizite Sprache hinterlegt -> er wechselt implizit wieder auf Deutsch. Die Module werden richtig angezeigt, die Navigationselemente (Einstellungen, Impressum, ..) verbleibt aber auf Englisch.

tbc

- Chromium Version 100.0.4896.30 (Offizieller Build) (64-Bit) gleiches Bild (Testprozedur wie im Firefox). **Wichtig:** bei mir ist im Profil die Sprache "Englisch" voreingestellt und ich betrete die Seite mit Deutsch. Durch das Anmelden findet implizit ein Wechsel auf Englisch statt. Die Basis wird auch übersetzt (bis auf Titel und Subtitel). Beim Betreten der Module sind diese aber alle auf Deutsch. - Im Produktivsystem https://lerntools.org/app/#/main-index ähnliches Bild (hier wieder Firefox getestet): ![](https://codeberg.org/attachments/d455ff6b-2995-4b9b-a35f-597334908a47) Hier wurde die Seite in Englisch betreten (Seite aufgerufen, Sprache auf Englisch gewechselt), dann angemeldet - im UserProfil ist keine explizite Sprache hinterlegt -> er wechselt implizit wieder auf Deutsch. Die Module werden richtig angezeigt, die Navigationselemente (Einstellungen, Impressum, ..) verbleibt aber auf Englisch. *tbc*
Member
Copy link

Bei der weiteren Analyse haben sich zwei Ursachen heraus kristallisiert:

  1. wenn im Nutzerprofil eine andere Sprache eingestellt ist als beim Aufruf der Seite und der Nutzer sich anmeldet, findet ein Sprachwechsel statt. Hierbei wurde zwar die Sprache gemäß dem Nutzerprofil verändert, aber nur für die Komponenten, nicht für den Root-Kontext (siehe https://kazupon.github.io/vue-i18n/guide/locale.html). Dadurch blieb der "Rahmen" auf der bisherigen Sprache.
    Mit dem Pull-Request #118 wird - ähnlich wie beim Wechsel der Sprache über den Modal-Dialog - nun auch für den Root-Kontext die Sprache verändert. Bei zukünftigen Erweiterungen muss hierauf geachtet werden oder noch besser: irgendwann in eine zentrale Serviceroutine ausgelagert werden.

  2. Beim Sprachwechsel - egal ob explizit über den Einstellungsdialog oder implizit über das Nutzerprofil beim Anmelden - wurde auf der Hauptseite der Titel und Subtitel nicht korrekt übersetzt. Grund war, dass bei einem Sprachwechsel die ganzen Module durchiteriert und die entsprechenden Aktionen ausgelöst wurde. Hierbei wurde auch auf ein main-Modul geprüft und bei Erreichen dort der title und subtitle gesetzt. Da es aber main nicht in allModules der app.config.js gelistet war, konnte dies nie erreicht werden.
    Zur Lösung wurde über #118 die main-Titel und Untertitel direkt gesetzt.

Bei der weiteren Analyse haben sich zwei Ursachen heraus kristallisiert: 1. wenn im Nutzerprofil eine andere Sprache eingestellt ist als beim Aufruf der Seite und der Nutzer sich anmeldet, findet ein Sprachwechsel statt. Hierbei wurde zwar die Sprache gemäß dem Nutzerprofil verändert, aber nur für die Komponenten, nicht für den Root-Kontext (siehe https://kazupon.github.io/vue-i18n/guide/locale.html). Dadurch blieb der "Rahmen" auf der bisherigen Sprache. Mit dem Pull-Request #118 wird - ähnlich wie beim Wechsel der Sprache über den Modal-Dialog - nun auch für den Root-Kontext die Sprache verändert. Bei zukünftigen Erweiterungen muss hierauf geachtet werden oder noch besser: irgendwann in eine zentrale Serviceroutine ausgelagert werden. 2. Beim Sprachwechsel - egal ob explizit über den Einstellungsdialog oder implizit über das Nutzerprofil beim Anmelden - wurde auf der Hauptseite der Titel und Subtitel nicht korrekt übersetzt. Grund war, dass bei einem Sprachwechsel die ganzen Module durchiteriert und die entsprechenden Aktionen ausgelöst wurde. Hierbei wurde auch auf ein `main`-Modul geprüft und bei Erreichen dort der `title` und `subtitle` gesetzt. Da es aber `main` nicht in `allModules` der `app.config.js` gelistet war, konnte dies nie erreicht werden. Zur Lösung wurde über #118 die `main`-Titel und Untertitel direkt gesetzt.
Member
Copy link

Auf Bitten von @gerhardbeck nach Deployment gerade noch einmal auf der Testinstanz mit Firefox 100.0.1 unter https://test.lrntools.de/app/#/main-index getestet.

Getestet wurden beide zuvor beschriebene Punkte mit der gleichen Prozedur.

Test war erfolgreich

  • Der Rahmen war ebenso übersetzt beim Wechsel der Sprache. Egal ob auf der Hauptseite, in einem Untermodul oder via Anmeldung
  • Auch Haupt- und Untertitle wurden sauber mit übersetzt.
Auf Bitten von @gerhardbeck nach Deployment gerade noch einmal auf der Testinstanz mit Firefox 100.0.1 unter https://test.lrntools.de/app/#/main-index getestet. Getestet wurden beide zuvor beschriebene Punkte mit der gleichen Prozedur. **Test war erfolgreich** - Der Rahmen war ebenso übersetzt beim Wechsel der Sprache. Egal ob auf der Hauptseite, in einem Untermodul oder via Anmeldung - Auch Haupt- und Untertitle wurden sauber mit übersetzt.

Heute habe ich die Pfade mir angeschaut.
Ein Problem besteht noch. Wenn man die Sprache über das Profile ändert, kommt diese Änderung nicht vollkommen an.
Ich habe in meinem Nutzer en voreingestellt.
Mache einen Login und gehe dann ins Profile um die Sprache dort zu ändern.
Mit dieser Änderung ist dann die Sprache im Profile umgestellt,
aber diese Änderung kommt nur teilweise an - siehe screenshot

Wenn ich dann in ein Module gehe, z.B. ideas, dann ist die Sprache dort en - auch wenn im Profile de steht - siehe screenshot

D.h. über das Profile gibt es noch einen Veränderungspfad, der nicht abgedeckt ist.

Heute habe ich die Pfade mir angeschaut. Ein Problem besteht noch. Wenn man die Sprache über das Profile ändert, kommt diese Änderung nicht vollkommen an. Ich habe in meinem Nutzer en voreingestellt. Mache einen Login und gehe dann ins Profile um die Sprache dort zu ändern. Mit dieser Änderung ist dann die Sprache im Profile umgestellt, aber diese Änderung kommt nur teilweise an - siehe screenshot Wenn ich dann in ein Module gehe, z.B. ideas, dann ist die Sprache dort en - auch wenn im Profile de steht - siehe screenshot D.h. über das Profile gibt es noch einen Veränderungspfad, der nicht abgedeckt ist.

Heute habe ich die Pfade mir angeschaut.
Ein Problem besteht noch. Wenn man die Sprache über das Profile ändert, kommt diese Änderung nicht vollkommen an.
Ich habe in meinem Nutzer en voreingestellt.
Mache einen Login und gehe dann ins Profile um die Sprache dort zu ändern.
Mit dieser Änderung ist dann die Sprache im Profile umgestellt,
aber diese Änderung kommt nur teilweise an - siehe screenshot

Wenn ich dann in ein Module gehe, z.B. ideas, dann ist die Sprache dort en - auch wenn im Profile de steht - siehe screenshot

D.h. über das Profile gibt es noch einen Veränderungspfad, der nicht abgedeckt ist.

Wieder komisch, weil es bei mir problemlos geht.
@monofox und bei dir?

> Heute habe ich die Pfade mir angeschaut. > Ein Problem besteht noch. Wenn man die Sprache über das Profile ändert, kommt diese Änderung nicht vollkommen an. > Ich habe in meinem Nutzer en voreingestellt. > Mache einen Login und gehe dann ins Profile um die Sprache dort zu ändern. > Mit dieser Änderung ist dann die Sprache im Profile umgestellt, > aber diese Änderung kommt nur teilweise an - siehe screenshot > > Wenn ich dann in ein Module gehe, z.B. ideas, dann ist die Sprache dort en - auch wenn im Profile de steht - siehe screenshot > > D.h. über das Profile gibt es noch einen Veränderungspfad, der nicht abgedeckt ist. Wieder komisch, weil es bei mir problemlos geht. @monofox und bei dir?
Member
Copy link

Mir ist die Testprozedur noch nicht ganz klar.

@HGU :

  • Meldest Du dich nach der Änderung der Einstellung neu an?
  • Erwartest Du, dass bei Abweichung der Profilsprache <> aktuellen Sprache automatisch der Sprachwechsel vollumfänglich durchgeführt wird - auch wenn keine Neuanmeldung stattfindet?
Mir ist die Testprozedur noch nicht ganz klar. @HGU : - Meldest Du dich nach der Änderung der Einstellung neu an? - Erwartest Du, dass bei Abweichung der Profilsprache <> aktuellen Sprache automatisch der Sprachwechsel vollumfänglich durchgeführt wird - auch wenn keine Neuanmeldung stattfindet?

Also ich hätte erwartet, dass wenn ich die Sprache im Profile ändere, es sich gleich verhält, wie wenn ich die Sprache in den Einstellungen ändere, zumal durch die Annahme der Änderung die Sprache im Fenster des Profiles geändert wird.
D.h. es gab keine Neuanmeldung - und ich kann auch nachvollziehen, dass Änderungen im Profile gefühlt erst nach dem Abmelden aktiv werden - würde mir dann wünschen, dass ich gezwungen werde, mich neu anzumelden...

Also ich hätte erwartet, dass wenn ich die Sprache im Profile ändere, es sich gleich verhält, wie wenn ich die Sprache in den Einstellungen ändere, zumal durch die Annahme der Änderung die Sprache im Fenster des Profiles geändert wird. D.h. es gab keine Neuanmeldung - und ich kann auch nachvollziehen, dass Änderungen im Profile gefühlt erst nach dem Abmelden aktiv werden - würde mir dann wünschen, dass ich gezwungen werde, mich neu anzumelden...
Member
Copy link

Danke! Das waren die entscheidenden Hinweise.

Ein Blick in den Quellcode hat offenbart, dass es noch eine dritte Stelle gibt, an der ein Sprachwechsel stattfindet. Auch dort wird Root-Kontext nicht aktualisiert.

Das kann ich heute Abend einen Pull-Request für machen. Vielleicht bin ich auch schon in der Lage das zu vereinheitlichen, wir keinen redundanten Code mehr dafür haben.

Danke! Das waren die entscheidenden Hinweise. Ein Blick in den Quellcode hat offenbart, dass es noch eine dritte Stelle gibt, an der ein Sprachwechsel stattfindet. Auch dort wird Root-Kontext nicht aktualisiert. Das kann ich heute Abend einen Pull-Request für machen. Vielleicht bin ich auch schon in der Lage das zu vereinheitlichen, wir keinen redundanten Code mehr dafür haben.

Noch eine weitere Kleinigkeit - diesmal im Projektor-Modul:
was ist der Weg dazu:
man generiert ein Token
startet den Projektor und gibt das Token ein
davor oder danach schaltet man auf en um über settings
dann ist alles auf en bis auf den Durchsuchen button

Noch eine weitere Kleinigkeit - diesmal im Projektor-Modul: was ist der Weg dazu: man generiert ein Token startet den Projektor und gibt das Token ein davor oder danach schaltet man auf en um über settings dann ist alles auf en bis auf den Durchsuchen button
Member
Copy link

Noch eine weitere Kleinigkeit - diesmal im Projektor-Modul:
was ist der Weg dazu:
man generiert ein Token
startet den Projektor und gibt das Token ein
davor oder danach schaltet man auf en um über settings
dann ist alles auf en bis auf den Durchsuchen button

Das werden wir aber nicht gelöst bekommen. Das kommt vom Browser, weil es ein spezielles input-Feld für Dateiupload ist. Und der wird vom Browser beschriftet. Wir definieren ja nur <input type="file" /> und der Browser macht den Rest (inkl. Texte). Du müsstest also auch die Sprache deines Browsers ändern.

> Noch eine weitere Kleinigkeit - diesmal im Projektor-Modul: > was ist der Weg dazu: > man generiert ein Token > startet den Projektor und gibt das Token ein > davor oder danach schaltet man auf en um über settings > dann ist alles auf en bis auf den Durchsuchen button Das werden wir aber nicht gelöst bekommen. Das kommt vom Browser, weil es ein spezielles input-Feld für Dateiupload ist. Und der wird vom Browser beschriftet. Wir definieren ja nur `<input type="file" />` und der Browser macht den Rest (inkl. Texte). Du müsstest also auch die Sprache deines Browsers ändern.
Member
Copy link

Pull-request #119 vereinheitlicht das Wechseln der Sprache jetzt an drei Stellen:

  1. Manuelles Ändern der Sprache über die Einstellungen
  2. Wechsel der Sprache bei der Anmeldung
  3. Wechsel der Sprache bei Veränderung der Profileinstellungen.

Hierzu wurde das Wechseln der Sprache technisch zentralisiert. Es gibt entsprechend nur noch eine einzige Routine (wenn es nicht noch einen vierten Weg gibt...) für das Wechseln der Sprache.

Des Weiteren ist aufgefallen, dass manchmal die E-Mail-Adresse beim Abrufen von Profileinstellungen und dergleichen im lokalen Store abgelegt wurde, aber nicht beim Login. Auch das wurde zentralisiert (Profilinformationen zu speichern: Name, E-Mail, Login, Sprache).

Pull-request #119 vereinheitlicht das Wechseln der Sprache jetzt an drei Stellen: 1. Manuelles Ändern der Sprache über die Einstellungen 2. Wechsel der Sprache bei der Anmeldung 3. Wechsel der Sprache bei Veränderung der Profileinstellungen. Hierzu wurde das Wechseln der Sprache technisch zentralisiert. Es gibt entsprechend nur noch eine einzige Routine (wenn es nicht noch einen vierten Weg gibt...) für das Wechseln der Sprache. Des Weiteren ist aufgefallen, dass manchmal die E-Mail-Adresse beim Abrufen von Profileinstellungen und dergleichen im lokalen Store abgelegt wurde, aber nicht beim Login. Auch das wurde zentralisiert (Profilinformationen zu speichern: Name, E-Mail, Login, Sprache).
Owner
Copy link

Ad 1, ich denke es wäre intuitiv und userfreundlich, wenn dies z.B. über kleine Flaggen geschehen könnte.

@monofox Super Ideen!!! Vielen Dank!

Ad 1, ich denke es wäre intuitiv und userfreundlich, wenn dies z.B. über kleine Flaggen geschehen könnte. @monofox Super Ideen!!! Vielen Dank!
Member
Copy link

Test auf Testsystem gestaltet sich für Punkt 3 schwierig.
Hier wird ein API-Endpunkt gecached (304 Not Modified).

Das sollte nicht sein. Muss hier auf Serverseite ggf. noch ein Cache invalidate / no-cache mitgegeben werden? Oder etwas an der Serverkonfiguration angepasst werden?

Test auf Testsystem gestaltet sich für Punkt 3 schwierig. Hier wird ein API-Endpunkt gecached (304 Not Modified). Das sollte nicht sein. Muss hier auf Serverseite ggf. noch ein Cache invalidate / no-cache mitgegeben werden? Oder etwas an der Serverkonfiguration angepasst werden?
Contributor
Copy link

Oh, das habe ich wohl damals nicht sauber umgesetzt :-( Danke, dass ihr das jetzt korrekt implementiert!

  1. Vorsicht mit Flaggen. Die Lösung ist schwer barrierefrei umzusetzen. Außerdem ist die Zuordnung Land zu Sprache nicht eindeutig. Haben Lukas und ich bei den MintApps schmerzvoll erfahren ;-)

  2. Das Cache Problem könnte vom Reverse-Proxy stammen. Evtl. dort testweise Caching komplett deaktivieren. Express müsste das eigentlich korrekt handhaben.

Oh, das habe ich wohl damals nicht sauber umgesetzt :-( Danke, dass ihr das jetzt korrekt implementiert! 1. Vorsicht mit Flaggen. Die Lösung ist schwer barrierefrei umzusetzen. Außerdem ist die Zuordnung Land zu Sprache nicht eindeutig. Haben Lukas und ich bei den MintApps schmerzvoll erfahren ;-) 2. Das Cache Problem könnte vom Reverse-Proxy stammen. Evtl. dort testweise Caching komplett deaktivieren. Express müsste das eigentlich korrekt handhaben.
Member
Copy link

Test auf Testsystem gestaltet sich für Punkt 3 schwierig.
Hier wird ein API-Endpunkt gecached (304 Not Modified).

Das sollte nicht sein. Muss hier auf Serverseite ggf. noch ein Cache invalidate / no-cache mitgegeben werden? Oder etwas an der Serverkonfiguration angepasst werden?

Nach dem gestrigen konnte ich diesen Punkt in der Testprozedur berücksichtigen und habe mich als Nutzer mit dem Benutzernamen angemeldet.

Auch Punkt 3 ist erfolgreich getestet. Damit sind die zuvor beschriebenen Situation (1-3) von Entwicklerseite erfolgreich im Testsystem getestet.

Damit übergabe an @HGU und @gerhardbeck

> Test auf Testsystem gestaltet sich für Punkt 3 schwierig. > Hier wird ein API-Endpunkt gecached (304 Not Modified). > > Das sollte nicht sein. Muss hier auf Serverseite ggf. noch ein Cache invalidate / no-cache mitgegeben werden? Oder etwas an der Serverkonfiguration angepasst werden? Nach dem gestrigen konnte ich diesen Punkt in der Testprozedur berücksichtigen und habe mich als Nutzer mit dem Benutzernamen angemeldet. Auch Punkt 3 ist erfolgreich getestet. Damit sind die zuvor beschriebenen Situation (1-3) von Entwicklerseite erfolgreich im Testsystem getestet. Damit übergabe an @HGU und @gerhardbeck

Ab morgen ist der Katholikentag hier vor Ort, d.h. ich kann ab kommenden Montag testen - und plane das so ein - zur Info - Danke für die Info, dass es nun passen müsste.

Ab morgen ist der Katholikentag hier vor Ort, d.h. ich kann ab kommenden Montag testen - und plane das so ein - zur Info - Danke für die Info, dass es nun passen müsste.
Sign in to join this conversation.
dev
main
dev
vue3
feature/ticket_117
weblate
master
experimental
v.0.9.1
v.0.9
v.0.8.2
v.0.8.1
v.0.8.0
v.0.7.0
0.7
v0.6.0
v0.30
v0.2.0
v0.12
v0.11
v0.1
Labels
Clear labels
Kind/Breaking
Breaking change that won't be backward compatible
Kind/Bug
Something is not working
Kind/Documentation
Documentation changes
Kind/Enhancement
Improve existing functionality
Kind/Feature
New functionality
Kind/Security
This is security issue
Kind/Testing
Issue or pull request related to testing
Priority
Critical
The priority is critical
Priority
High
The priority is high
Priority
Low
The priority is low
Priority
Medium
The priority is medium
Reviewed
Confirmed
Issue has been confirmed
Reviewed
Duplicate
This issue or pull request already exists
Reviewed
Invalid
Invalid issue
Reviewed
Won't Fix
This issue won't be fixed
Status
Abandoned
Somebody has started to work on this but abandoned work
Status
Blocked
Something is blocking this issue or pull request
Status
Need More Info
Feedback is required to reproduce issue or to continue work
Kind: Enhancement
improvement of a feature
Kind: Feature
Something totally new
Kind: Interesting for Wiki
to be saved in the wiki
Kind: invalid
Something is wrong
Kind: Question
More information is needed
Kind: Security
Relevant for security
Kind:bug
Something is not working
Priority: High
Priority: Low
Priority: Medium
Status: Contribution welcome
Contributions are very welcome, get started here
Status: Duplicate
This issue or pull request already exists
Status: External problem
There is an external problem
Status: Help wanted
Need some help
Status: In progress
Someone's working on it
Status: In review
we're testing a possible solution
Status: next release
All tested and ready for the next release
Status: Starters
This is a good task to start helping lerntools
Status: Tests neededd
Need some tests for locating the problem
Status: won't fix
This won't be fixed
vue3
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lerntools/base#117
Reference in a new issue
lerntools/base
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?