ICU-Plural-Generator für Flutter-ARB-Dateien

Wählen Sie Ihre Sprachen: Das Tool zeigt die Pluralkategorien, die jede davon verlangt, mit Beispielzahlen, und erzeugt die ICU-Nachricht zum Einfügen in Ihre ARB-Dateien. Kostenlos, ohne Anmeldung, und alles bleibt in Ihrem Browser.

Eine Plural-Nachricht erzeugen

Sprachen

Prüfen Sie danach, dass jede Übersetzung ihren Platzhalter behält

LocalePilot ist eine Desktop-App, die alle Ihre ARB-Dateien öffnet, die ICU-Platzhalter jeder Übersetzung mit dem Ausgangstext vergleicht, fehlende Schlüssel markiert und mit Sicherung exportiert. Sie wird gerade für macOS fertiggestellt: Hinterlassen Sie Ihre E-Mail-Adresse, um vom Start zu erfahren.

Warum sich Pluralformen von Sprache zu Sprache unterscheiden

Die Kategorien zero, one, two, few, many und other folgen den CLDR-Regeln jeder Sprache. Im Englischen und Deutschen bedeutet one nur 1; im Französischen umfasst es 0 und 1; Russisch und Polnisch ergänzen few und many; Arabisch nutzt alle sechs; Japanisch hat nur eine, other. Eine für Englisch geschriebene Nachricht mit zwei Zweigen ist also unvollständig, sobald Sie sie übersetzen.

Das Tool liest diese Regeln in Ihrem Browser (Intl.PluralRules): Die angezeigten Kategorien und Beispielzahlen sind die der jeweiligen Sprache, ohne Tabelle, die gepflegt werden müsste.

Die =1-Falle mit gen-l10n

Ein Zweig =1 wird in dem Code, den flutter gen-l10n erzeugt, zur Kategorie one. Im Französischen gilt diese Kategorie auch für null: Mit count = 0 würde „1 article restant“ (1 Artikel übrig) angezeigt. Nutzen Sie lieber die Kategorie one mit der Zahl im Text, oder fügen Sie einen Zweig =0 hinzu: Das Tool bietet ihn als Kontrollkästchen an. Details finden Sie in der Anleitung zu ICU-Pluralformen und Platzhaltern.

So verwenden Sie das Ergebnis

  1. Kopieren Sie die Zeile "key": "{count, plural, …}" jeder Sprache in die passende Datei app_xx.arb.
  2. Fügen Sie die @key-Metadaten einmal hinzu, in der Template-Datei.
  3. Führen Sie flutter gen-l10n aus: Ein fehlender Zweig other oder eine nicht geschlossene Klammer bricht die Generierung mit Angabe des Dateinamens ab.

Um danach zu prüfen, dass keine Übersetzung ihren Platzhalter verloren oder umbenannt hat, nutzen Sie den Check für fehlende ARB-Schlüssel.

Grenzen des Tools

Das Tool erzeugt die Struktur, nicht die Übersetzung: Den Text jeder Form schreiben Sie selbst. Es unterstützt keine select-Nachrichten und keine verschachtelten Pluralformen und verdoppelt keine Apostrophe, wenn Sie use-escaping in l10n.yaml aktiviert haben.

Häufige Fragen

Welche Pluralkategorien brauche ich für Deutsch?

one (genau 1) und other. Im Französischen dagegen umfasst one auch die 0, und die Kategorie many betrifft dort nur Millionen: Das Tool markiert sie als optional.

Warum ist der Zweig other Pflicht?

flutter gen-l10n lehnt eine Pluralform ohne Zweig other ab und bricht die Generierung unter Angabe der Datei ab. Das Tool fügt ihn immer hinzu.

Was ist der Unterschied zwischen =1 und one?

Im generierten Code wird =1 zur Kategorie one, die im Französischen auch die 0 abdeckt. Schreiben Sie die Zahl in den Zweig one oder fügen Sie =0 hinzu.

Wird mein Text an einen Server gesendet?

Nein. Die Nachrichten werden in der Seite aus den Pluralregeln Ihres Browsers zusammengesetzt; nichts wird gesendet.

Funktioniert es für eine Sprache, die nicht in der Liste steht?

Ja: Geben Sie ihren Code (zum Beispiel cs oder sv) in das freie Feld ein. Das Tool akzeptiert jeden Code, den Ihr Browser kennt.

Was ist der Unterschied zu LocalePilot?

Dieses Tool schreibt eine Plural-Nachricht. LocalePilot ist eine Desktop-App, die gerade für macOS fertiggestellt wird, alle Ihre ARB-Dateien öffnet und vor dem Export die ICU-Platzhalter jeder Übersetzung prüft.

Beim Start benachrichtigt werden

LocalePilot wird gerade fertiggestellt. Hinterlassen Sie Ihre E-Mail-Adresse, um vom Start zu erfahren.

  • macOS 12 oder neuer · Ollama oder LM Studio optional
  • App-Oberfläche auf Englisch, Französisch, Spanisch, Italienisch und Portugiesisch.