Im Zuge des Redesigns von perun.net, welches wir neulich vollzogen haben, habe ich basierend auf dem POT-Katalog auch die deutsche Sprachdatei für das Theme erstellt.

An sich habe ich das schon mehrfach gemacht und obwohl ich das Handling mit den Sprachdateien alles andere als komfortabel und zeitgemäß empfinde, hat es bis jetzt recht reibungslos geklappt.

Aber bei der jetzigen Sprachdatei gab es ein Problem welches in Fehlermeldungen und einer kaputten Sprachdatei resultierte.

Singular und Plural übersetzen

In der oberen Abbildung sieht man die Übersetzung des Singulars und im verdeckten Tab ist die Übersetzung für das Plural vorhanden. So weit so gut. Aber genau dies resultierte in Fehlermeldungen – fehlende msgstr – und einer kaputten bzw. nicht mehr bearbeitbaren .po-Sprachdatei.

Die einzige Möglichkeit um weiter an der Sprachdatei arbeiten zu können ohne wieder ganz von vorne anzufangen bestand darin, die selbige mit Hilfe von einem Texteditor zu reparieren.

Dafür habe ich einfach den originalen POT-Katlog geöffnet, die Stelle mit dem Plural gesucht, sie kopiert und die beschädigte Stelle in der deutschsprachigen .po-Datei damit ersetzt.

Doch das war nicht alles. Anschließend musste ich den Kopfbereich der .po-Datei ergänzen. Vorher stand dort folgendes:

# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Meteor 1.0\n"
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/style\n"
"POT-Creation-Date: 2017-06-05 14:21:05+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2018-08-14 20:09+0100\n"
"Last-Translator: Vlad\n"
"Language-Team: \n"
"X-Generator: Poedit 1.5.7\n"

Diesen Abschnitt habe ich dann um folgende Zeile ergänzt, welche ich hier gefunden habe:

"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"

Somit schaut der vollständige Kopfbereich folgendermaßen aus:

# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Meteor 1.0\n"
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/style\n"
"POT-Creation-Date: 2017-06-05 14:21:05+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2018-08-14 20:09+0100\n"
"Last-Translator: Vlad\n"
"Language-Team: \n"
"X-Generator: Poedit 1.5.7\n"
"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"

Nach dem Abspeichern konnte ich nicht nur die Datei weiter bearbeiten es wurden auch die Übersetzungen für Singular und Plural korrekt übernommen und angezeigt.

Obwohl ich das Problem erfolgreich lösen könnte, so habe ich das ganze System und auch den Code-Schnipsel nicht 100%ig verstanden. Das ganze wirkt momentan auf mich immer noch ein bisschen wie Alchemie… man macht irgendetwas, es kommen auch die gewünschten Ergebnisse heraus, aber die ganze Wirkungsweise hat man noch nicht ganz verstanden. 🤓

Ich hoffe, dass ich damit dem einem oder anderen Nutzer bei der Lösung des Problems helfen konnte.

Bildnachweis: Symbolbild, CC0, Pixabay

Divi: Premium-Theme für WordPress
Werbung

Geschrieben von Vladimir

Vladimir Simović, arbeitet seit 2000 mit HTML & CSS und seit Januar 2004 mit WordPress. Im Laufe der Jahre hat er diverse Fachbücher und Fachartikel publiziert.

  1. Hallo Vladimir, der Grund für diese Zeile ist ein einfacher: Plurale werden in verschiedenen Sprachen unterschiedlich gebildet.

    Mit der Plural-Forms-Zeile weiss der Po-Editor, wie er in dieser Sprachdatei mit Pluralen umgehen soll. Für andere Sprachen gibt es andere Pluralregeln. Ohne diese Zeile kommt der Editor nicht darauf, welche Pluralregel gilt.

    Siehe mehr z.B. hier: https://wordpress.stackexchange.com/questions/33312/how-to-translate-plural-forms-for-themes-plugins-with-poedit

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.