Veraltete Übersetzungsersetzung verursacht fehlende Übersetzung

Hallo zusammen.
Mit dem Update, das ich vor etwa 1 Woche vorgenommen habe, ist ein Anzeigeproblem mit Schaltflächen auf der Benutzerprofilseite wie folgt aufgetreten. Ich dachte, es könnte mit dem Update in den folgenden Tagen behoben werden, und obwohl ich die laufenden Updates durchgeführt habe, hat es sich nicht verbessert.

1 „Gefällt mir“

Funktioniert der Text auf deinem Profil hier bei Meta?

Hast du die Zeichenfolge in der Vergangenheit angepasst?

Ich habe auch dieses Thema gefunden Turkish translation issue with share dialog, also versuche vielleicht einen Rebuild.

4 „Gefällt mir“

Es scheint kein Problem in Meta zu geben. Aber das Problem besteht auf meiner eigenen Website weiterhin. Ich habe keine Anpassungen/Lokalisierungen vorgenommen.
Ich habe auch die Lösung in dem von Ihnen angegebenen Link ausprobiert und Discourse neu erstellt. Leider hat es nicht funktioniert.

Haben Sie einen anderen Browser oder einen privaten Browsing-/Inkognito-Tab ausprobiert?

Vielen Dank für Ihre Anteilnahme.
Ich habe es in 4 verschiedenen Browsern und auf Mobilgeräten ausprobiert. Ich kann eindeutig sagen, dass es nicht funktioniert.

Dann haben Sie wahrscheinlich auch den abgesicherten Modus bereits ausprobiert.

1 „Gefällt mir“

Das Problem besteht leider auch im abgesicherten Modus. . .

Dies wurde an den Support weitergeleitet:

Hier wird der Text richtig angezeigt… sind Sie sicher, dass Sie auf die allerneueste Version aktualisiert haben?

1 „Gefällt mir“

Wenn ich nachsehe, kann ich sehen, dass es auf dem neuesten Stand ist.
Ich kann nicht verstehen, was das verursacht hat.


Ich glaube, das hängt damit zusammen:

Ich konnte das Problem reproduzieren, dass der String für Präferenzen auf Türkisch kaputt war. Ich habe js.user.preferences angepasst, bevor ich das Update durchgeführt habe, und nach dem Update war der neue js.user.preferences.title kaputt.
Dann habe ich Folgendes ausgeführt:

TranslationOverride.where(translation_key: "js.user.preferences").delete_all
TranslationOverride.send(:reload_locale!)

und das hat es behoben :tada:

Ich würde aber auf eine Bestätigung von jemandem mit mehr Wissen warten, bevor ich dies selbst auf einer Produktionsseite versuchen würde.

3 „Gefällt mir“

Wenn ich nachsehe, scheint der Textwert korrekt zu sein.

Ich habe den Standardtext geändert, aber es hat immer noch nicht funktioniert und dasselbe Problem besteht weiterhin.

Ist es sicher, dies in einer Produktionsumgebung zu tun? Kann mir jemand helfen?
Keine Textanpassung funktioniert im Forum. Das gilt nicht nur für diesen Bereich.

1 „Gefällt mir“

TL;DR: Die vorhandene Übersetzungsüberschreibung überschreibt unhöflicherweise die veraltete benutzerdefinierte Übersetzung mit der neuen Übersetzung, was zu Typfehlern führt. Oder hier konnte die veraltete Übersetzungsüberschreibung nicht auf „veraltet“ aktualisiert werden.

Das Problem

Das Forum, das ich verwalte, hat eine Überschreibung für die Übersetzung js.user.preferences. Vor diesem Commit war es ein String, sodass die Übersetzungsüberschreibung einwandfrei funktionierte.

Nach diesem Commit wird der Schlüssel zu einem Objekt. Die Übersetzungsüberschreibung erkennt jedoch nicht den Schlüsseltyp, sondern überschreibt ihn direkt mit dem alten definierten String. Dies führt dazu, dass die Übersetzung des Schlüssels in der Benutzeroberfläche fehlt.

Reproduktion

Für die neuesten Foren scheint dies das manuelle Einfügen eines veralteten Eintrags zu erfordern, um ihn auszulösen

INSERT INTO translation_overrides
  (locale, translation_key, value, created_at, updated_at)
VALUES 
  ('en', 'js.user.preferences', 'test', current_timestamp, current_timestamp);

Ändern Sie dann einen beliebigen Website-Text, um die Aktualisierung auszulösen

Es scheint, dass der Status dieser Überschreibung irgendwie nicht auf „veraltet“ aktualisiert wurde

[5] pry(main)> TranslationOverride.last
  TranslationOverride Load (1.2ms)  SELECT "translation_overrides".* FROM "translation_overrides" ORDER BY "translation_overrides"."id" DESC LIMIT 1
=> #<TranslationOverride:0x00007f0b20a31e20
  id: 18,
  locale: "en",
  translation_key: "js.user.preferences",
  value: "test",
  created_at: Tue, 23 Jul 2024 17:08:17.317404000 UTC +00:00,
  updated_at: Tue, 23 Jul 2024 17:08:17.317404000 UTC +00:00,
  compiled_js: nil,
  original_translation: nil,
  status: "up_to_date">
2 „Gefällt mir“

Ich habe Ihre Reproduktion zu den vorherigen Berichten verschoben, um sie zusammenzufassen. :+1:

1 „Gefällt mir“

Wow, ich habe nicht gesehen, dass es hier einen ähnlichen Fehlerbericht gibt ()\n\nIch bin ihm bereits auf der Spur, aber es ist seltsam, ich dachte, das sollte funktionieren… Ich weiß nicht, was hier los ist

2 „Gefällt mir“

Dies sollte sicher für eine Produktionsseite sein. :+1: (Bitte erstellen Sie jedoch ein Backup, bevor Sie Änderungen in der Rails-Konsole vornehmen, da Unfälle passieren können)

Wenn jedoch keine Textanpassungen funktionieren, sind Sie sicher, dass es sich um dasselbe Problem handelt?

2 „Gefällt mir“

Dieses Problem wurde mit dem neuesten Update behoben. (3.4.0.beta1-dev)

1 „Gefällt mir“

Ja, ich bestätige ebenfalls, dass das Problem mit dem aktuellen Update behoben wurde.

2 „Gefällt mir“

Um das abzurunden, hier ist der PR für die Korrektur: :partying_face:

2 „Gefällt mir“

Dieses Thema wurde nach 14 Stunden automatisch geschlossen. Neue Antworten sind nicht mehr möglich.