Ich habe ein Gettext-ähnliches Lokalisierungssystem in meine App integriert, aber meine Übersetzungsfunktion sieht so aus:
%Vor%Meine PoEdit Schlüsselwörter:
%Vor%$string
zu analysieren, und es funktioniert anscheinend $string
als auch $plural_string
analysiert werden sollen - aber es ist nicht: ( Es sieht nur $string
, also bekomme ich die Pluralformen nicht parsiert ... Wie kann ich das beheben? Ich möchte meine Funktion nicht in ein anderes Argumentformat umwandeln, weil mir dieses gefällt: (
Auch diese Funktion verhält sich wie ein sprintf Ersatz:
Wie auch immer, PoEdit sollte nicht mit nicht zitierten Argumenten interferieren, oder? Ich meine, es wird $ plural_string nur als String analysieren, wenn es wie 'abc abc'
gettext behandelt immer nur einen String. Was du vielleicht willst, ist ngettext. (Suche nach Syntax)
Dort werden Sie einen Text für Singular, einen anderen für Plural, aber auch die Nummer eingeben.
Das schlaue daran ist, dass viele Sprachen eine völlig andere Pluralstruktur haben als Englisch. Russisch verwendet zum Beispiel drei verschiedene Formen. Eine davon ist, wo die Zählung in einem ausgesprochenen "Eins" endet: 1, 21, 31, 41 usw. Die zweite Form ist für Zählungen, die in einem ausgeprägten 2, 3 oder 4 enden. Die dritte Form ist für den Rest ...
Und das kann mit ngettext getan werden. Ja, in poedit muss man die Pluralstruktur der Zielsprache richtig definieren, aber dann funktioniert es einfach.
Wie Tor-Björn Fjellner geantwortet hat, sollte das eigentlich nur funktionieren.
Wenn Sie poedit sagen, dass die Sprache tatsächlich Pluralformen hat ( Übersetzen von Pluralformularen mit Poedit ) und berücksichtigt Ihre Suchbegriffe, poedit bietet diese zur Übersetzung an.
Beispiel
Mehrere Formulare: nplurals=2; plural=n != 1;
Schlüsselwörter:
t:2
t:2,3
PHP-Code:
%Vor%Poedit UI:
Was ich in Ihrer Frage nicht verstanden habe, war der Punkt über die Arrays und so. Ich konnte nicht entschlüsseln, was Sie in der Domain poedit / gettext vorhaben. Ich denke, Ihre Frage würde von Nutzen sein, wenn Sie einige konkrete Codebeispiele hinzufügen und wie das Ergebnis für sie aussehen sollte.
Tags und Links php localization gettext xgettext poedit