Formate / Rails YAML

Rails-YAML, der Locale-Schlüssel wird für Sie geschrieben

Eine Rails-Locale-Datei sieht aus wie einfaches verschachteltes YAML. Zwei Details entscheiden, ob die Datei, die Sie zurückbekommen, als die gewünschte Sprache geladen wird.

.yml / .yaml

Der oberste Schlüssel ist die Sprache, und er muss sich beim Export ändern

Rails umschließt eine ganze Locale-Datei mit einem Schlüssel auf oberster Ebene: en: in der englischen Datei, de: in der deutschen. Kopieren Sie die englische Datei, übersetzen Sie jeden Wert und vergessen Sie den obersten Schlüssel, lädt Rails Ihre deutschen Texte als zweite Kopie des Englischen.

Linguiqo liest den obersten Schlüssel als Sprache statt als Teil jedes Schlüssels, sodass cart.empty in en.yml und cart.empty in de.yml als derselbe Text erkannt werden. Beim Export wird der oberste Schlüssel als die exportierte Sprache geschrieben, so geschrieben wie in Ihrer Datei: pt-BR bleibt pt-BR.

Eine Datei, deren einziger Schlüssel auf oberster Ebene keine Sprache ist, etwa app: in einem Symfony-Katalog, behält diesen Schlüssel genau so, wie er war.

Aus verschachtelten Schlüsseln wird eine Adresse pro Text

Jede Verschachtelungsebene wird zu einem Punkt, sodass der Übersetzer checkout.cart.empty sieht, denselben Namen, den Ihr Code an t() übergibt. Beim Export werden die Punkte wieder zu Verschachtelung, und eine Liste bleibt eine Liste: errors: [First, Second] kommt als Liste zurück, nicht als Hash mit den Schlüsseln 0 und 1.

Lange Werte werden nie über mehrere Zeilen umbrochen, und Zeichen mit Akzenten werden als sie selbst geschrieben statt als Escape-Sequenzen, sodass die Datei in einem Diff lesbar bleibt.

Interpolationen werden geprüft, nicht nur kopiert

Eine Übersetzung, die %{count} weglässt oder %{name} in %{nom} umbenennt, zeigt einen wörtlichen Platzhalter an oder löst zur Laufzeit einen Fehler aus. Linguiqo erkennt Rails-Interpolation als Platzhalter, und die Qualitätsprüfungen markieren eine Übersetzung, deren Platzhalter nicht zum Ausgangstext passen.

Fragen

Kann ich .yaml ebenso wie .yml importieren?

Ja. Beide Endungen werden erkannt, und das Format wird beim Hochladen am Dateinamen erkannt.

Wie werden Rails-Pluralschlüssel behandelt?

Ein Plural-Hash wie items: { one: ..., other: ... } kommt als getrennte Texte items.one und items.other herein und geht in derselben Verschachtelung wieder hinaus. Linguiqo ergänzt nicht die zusätzlichen Formen, die eine Sprache wie Tschechisch oder Polnisch braucht; fügen Sie für diese Sprachen die Schlüssel few und many in der Ausgangsdatei hinzu.

Übersteht ein Schlüssel mit Kontext den Export?

YAML hat kein Feld für Kontext, jeder Schlüssel enthält also einen Text. Hat ein Projekt zwei Texte unter einem Schlüssel, sagt der Export vor dem Schreiben der Datei, welcher weggelassen würde.

Laden Sie eine Rails YAML-Datei hoch und sehen Sie selbst

Die Demo liest eine echte Datei von Ihnen und zeigt, was dabei herauskommt. Ohne Konto, nach zwei Stunden wird alles gelöscht.

Demo öffnen

Was Linguiqo ist