From kde-i18n-de Mon Nov 08 22:27:28 2010 From: Burkhard =?iso-8859-1?q?L=FCck?= Date: Mon, 08 Nov 2010 22:27:28 +0000 To: kde-i18n-de Subject: Re: Was tun, wenn's beim SVN update Konflikte gibt? Message-Id: <201011082327.28912.lueck () hube-lueck ! de> X-MARC-Message: https://marc.info/?l=kde-i18n-de&m=128925528813986 Am Montag, 8. November 2010, um 22:17:23 schrieb Gerhard Stengel: > Hallo, > > ich habe mal auf meinen KDevelop4/stable Ordner ein SVN update losgelassen, > da ja schon einiges eingecheckt wurde. Allerdings sind jetzt in ein paar > anderen .po-Dateien Konflikte entstanden. Warum ist das so? Weil Subversion und alle anderen Versionsverwaltungssysteme für Übersetzungskataloge (gettext- / po-Dateien) nur bedingt geeignet sind. Für das Gettextsystem ist nur Status der Nachricht, msgctxt und msgid maßgebend; und hier spielt noch nicht einmal die Formatierung oder die Reihenfolge der Statusangaben eine Rolle. Du kannst eine msgid aus vielen Wörten in eine Zeile schreiben oder auch für jedes Wort eine eigene Zeile benutzen. Solange jedes Wort oder der ganz lange Satz aus vielen Wörtern nur in Kommata (") eingeschlossen ist, sind für das dann für Gettext gleiche msgid's (das ist jetzt ein kleines bißchen vereinfacht - ich wills nicht zu kompliziert machen - aber im Prinzip korrekt). Auch die Reihenfolge der Nachrichten in der po_datein sind für Gettext unwichtig, ob die Nachricht samt Übersetzung am Anfangoder Ende oder in der Mitte steht, das ist egal. Versionsverwaltungssysteme verstehen sowas natürlich nicht, die sehen po- Dateien als Textdateien, in denen jede Änderung bedeutsam ist. > An den > Übersetzungen werkele ja nur ich im Moment herum, glaube ich. Kann es > sein, dass (ein Entwickler) das Skript Messages.sh aufruft? Das (Nachrichten via Messages.sh extrahieren und mit den vorhandenen Übersetzungen 'mergen') macht Scripty einmal am Tag für trunk + stable. Wenn jetzt ein Entwickler am Quelltext im 'String Freeze' arbeitet, fügt er zum Beispiel neuen Code ein oder ändert vorhanden Code, aber nicht die Nachrichten, das ist nicht erlaubt. Damit wird auch Text in der po-Datei geändert (z. B. Zeilennummer der Nachricht im Code. Nachricht in andere Datei verschoben...). Es gibt noch viele weitere Ursachen, die zu einer Änderung von Text in der po- Datei führen, die zu übersetzenden Nachrichten aber nicht verändern, daher im 'String Freeze' erlaubt und für Gettext und die Übersetzung bedeutungslos sind. Diese bedeutungslosen Textänderungen verstehen Versionsverwaltungssysteme wie SVN nicht, daher deine Konflikte, die für Gettext nicht existieren. > Soll ich > versuchen, die po-Dateien wieder zu mergen und sie wieder ins Review-Board > stellen, damit der checkin dann geschmeidiger geht? > "Im Prinzip" ja, das hängt aber von der Zahl der Konflikte ab. Bei der Doku (da verstehen Versionsverwaltungssysteme noch weniger als bei der GUI) benuzte ich zum Patchen immer die alte Version, gegen die der Diff fürs Reviewboard erstellt wurde. -- Burkhard Lück