Problem mit der Überschreibung der Pluralform (Anzahl) in der Übersetzung

Hallo :wave:

Mir ist aufgefallen, dass das neueste Update die one-Version der pluralisierten Strings verwendet, wenn die Anzahl 1 ist. Das Problem ist, dass die pluralisierten Strings bisher immer die other-Version verwendet haben, auch wenn die Anzahl 1 war, und auf /admin/customize/site_texts/ gibt es keine Möglichkeit, die one-Version des Strings zu finden, zum Beispiel für die ungarische Sprache. Im Ungarischen gibt es jedoch keinen Grund, beide Versionen (one und other) zu verwenden, da sie ziemlich gleich sein werden.

Reproduktion:

  1. Ändern Sie die Locale, z. B. Ungarisch.
  2. Gehen Sie zu /admin/customize/site_texts/.
  3. Suchen Sie z. B. nach js.topic_count_latest und ändern Sie den Text.
  4. Überprüfen Sie dies im Banner “Neue oder aktualisierte Themen anzeigen”.
  5. Es wird der Standardwert verwendet, wenn nur 1 Update verfügbar ist, da der von Ihnen bearbeitete String die other-Version ist. Wenn es mehr neue oder aktualisierte Themen gibt, ändert sich der Text zu dem, was Sie zuvor hinzugefügt haben.

Danke :slightly_smiling_face:

3 „Gefällt mir“

Hallo @Don

Ich habe diesen Test auf vereinfachtes Chinesisch durchgeführt und konnte dieses Problem nicht reproduzieren :thinking:

Ich habe der ursprünglichen Zeichenkette ein zusätzliches Zeichen hinzugefügt (hervorgehoben). Und die Änderung trat ein, als die Anzahl 1 war.

1 „Gefällt mir“

Beide Sprachen haben nur „other“ in ihrer Pluraldefinition

Aber Ungarisch hat immer noch separate Übersetzungen für „one“.

was Chinesisch nicht hat

Ich frage mich, warum die separate „one“-Version in Crowdin erstellt wird.

2 „Gefällt mir“

Ja, es gibt zwei Versionen in der ungarischen Locale (one und other), aber ich glaube, die one-Version wurde bisher nie verwendet, da sie auch in der Admin-Textanpassung nicht verfügbar ist. Sie ist immer auf die other-Version zurückgefallen.

1 „Gefällt mir“

Kann ich fragen, ob Ungarisch Pluralformen hat? Wenn ja, sollten wir vielleicht eine :one-Definition zu plurals.rb hinzufügen.

1 „Gefällt mir“

Ich habe die Ursache des Problems gefunden. Discourse’s I18n stützt sich auf die Pluraldefinition einer externen Bibliothek:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse-i18n/src/index.js#L7

Aber in dieser Bibliothek können wir sehen, dass Ungarisch als Plural vom Typ „a“ definiert ist, der zwischen eins und andere unterscheidet.

Ich verstehe Ungarisch überhaupt nicht, vielleicht könnte mir jemand helfen zu erkennen, ob ihre Pluraldefinition falsch ist oder unsere :slightly_smiling_face:

3 „Gefällt mir“

Hallo :waving_hand:

Danke für die Prüfung. :heart:

Nun, im Ungarischen gibt es Plural, aber nicht immer, was es ein wenig schwierig macht. Aber lassen Sie mich einige einfache Beispiele erklären.

Die meisten ungarischen Wörter haben eine Pluralform.
Wenn es unzählig ist.
Z.B.
Gruppe → Gruppen = Csoport → Csoportok
Thema → Themen = Téma → Témák

Daher denke ich, dass die externe Bibliothek korrekt ist, da wir eine Pluralform haben.

Aber wir verwenden keinen Plural, wenn eine Zahl (Anzahl) vor den Wörtern steht.
Wenn es zählbar ist.
Z.B.
1 Gruppe → 2 Gruppen = 1 csoport → 2 csoport
1 Thema → 2 Themen = 1 téma → 2 téma


Wenn Sie die ungarische Sprachdatei prüfen, sehen Sie, dass die Pluralformen immer gleich sind.

Ich sehe jedoch, dass es Zeichenketten gibt, die count nicht in der Form one verwenden.

So wie hier:

Das ist in Ordnung, weil wir die Anzahl in diesem Fall nicht brauchen, wenn es nur 1 Thema ist, ist es ziemlich offensichtlich. Aber bei dem anderen Unterschied hier ist nur, dass other eine Zahl erscheint. Der Text ist derselbe, egal ob eine Zahl vorhanden ist oder nicht.


Wenn Sie mich fragen, würde ich einfach die Form one entfernen.

Aber wenn es aus einer externen Bibliothek stammt, die meiner Meinung nach korrekt ist, weil Ungarisch eine Pluralform hat, aber nicht in den meisten Fällen, die Discourse verwendet. Daher ist das Hinzufügen der Form one, um die Möglichkeit zur Anpassung zu haben, wahrscheinlich die einfachste Lösung, um die Probleme zu vermeiden. Ja, es ist meistens dasselbe, aber zumindest können wir es im Adminbereich anpassen.

Ich weiß nicht, das ist eine schwierige Frage. Denn jeder, der ein ungarisches Forum betreibt und Anpassungen im Adminbereich vorgenommen hat, hat nur die Form other geändert. Weil es immer auf other von one zurückgefallen ist. Wenn wir also die Form one hinzufügen, müssen die Administratoren alle Plural-Zeichenketten erneut überprüfen, um auch diese Version zu ändern, damit sie mit other übereinstimmt.

Danke :slightly_smiling_face:

2 „Gefällt mir“

Vielen Dank für Ihre ausführliche Antwort! Die Fehlerbehebung wurde zusammengeführt:

Die Korrektur fügt die Form :one für Ungarisch hinzu. Zukünftige Crowdin-Übersetzer können versuchen, %{count} für die Einzahl zu entfernen, um sie von der Form :other zu unterscheiden.

5 „Gefällt mir“

Vielen Dank für die schnelle Korrektur. :heart:

Ich denke, es ist in Ordnung, das %{count} folgt schön dem englischen Locale. Welches auch %{count} in einigen Plural-Strings der one-Form nicht verwendet. Jetzt ist die Änderung nur, dass wir die one-Form auch im Admin bearbeiten können, was meiner Meinung nach in diesem Fall ausreicht. Ich denke, wenn es richtig funktioniert, sind keine weiteren Änderungen nötig. Ich werde bald aktualisieren, um es zu testen. :slightly_smiling_face:

Es scheint, dass alles ausgezeichnet funktioniert :slightly_smiling_face: Es war eine tolle Zeit, all das zu ändern, aber ich bin fast fertig damit. :smile: Nochmals vielen Dank und danke auch @Moin, dass er darauf hingewiesen hat. :heart:

4 „Gefällt mir“

Dieses Thema wurde automatisch 2 Tage nach der letzten Antwort geschlossen. Neue Antworten sind nicht mehr zulässig.

Das umfassendere Problem wird verfolgt unter Inconsistency in plural definition

2 „Gefällt mir“