• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Myrlyn - Übersetzungen Deutsch / und andere auch

Hallo nach Jahren!

da ich mich bei opensuse forum nicht anmelden kann (warum auch immer), möchte ich den Kollegen Sauerland hier ansprechen.
Es geht mir um diesen Post dort:
Myrlyn Übersetzungen Deutsch

@Sauerland
Meine Frage: in deinem Repo sind auch die Übersetzungspakete myrlyn-lang. Woher nimmst du die po's?
Ich habe es versucht, hier die polnische Übersetzung abzulegen:
GitHub - slothsnow/myrlyn-lang
Offensichtlich ist es bei dir so, dass du alle Sprachpakete von dort holst,, mit Ausnahme Deutsch. Bei dir finde ich die zerschossene polnische Übersetzung, deswegen gehe ich davon aus, dass du es von dort holst. Das Problem dort ist es, das die deutsche Übersetzung irgendwie komplett fehlerhaft ist. Ich hätte da ein paar Verbesserungsvorschläge und vielleicht Korrekturen, man weiss aber nicht. Also wo ist der Stand der po-Dateien zu finden? Wenn du nur für dich die Deutsch-Ausgabe pflegst, würde ich die Quellen gerne sehen. Es hat mich Stunden gekostet, die msgid's für die Übersetzungsdatei zu berichtigen. Nun ist auch die polnische Übersetzung komplett fertig. Wo könnte ich diese ablegen? Oder kannst du es aufnehmen?

Die nächste Frage wäre: wie läuft es mit Updates, wenn Stefan etwas programmiert, korrigierst du die deutsche Datei manuell oder gibt es eine offizielle myrlyn.pot-Datei?

Edit: nach genauerem Hinschauen stelle ich fest, dass hier nur wahrscheinlich ein sauberes Merge mit der alten offiziellen polnischen YaST-Übersetzung verwendet wird. Denn da, wo die msgid's gleich waren, funktioniert die Übersetzung wie im YaST einwandfrei.

Gruß
byDMA
 
Zuletzt bearbeitet:
Das hier ist das spec File, damit wird das rpm gebaut:
Code:
#
# spec file for package myrlyn-lang
#

Name:           myrlyn-lang
Version:        1.0.git20261009
Release:        1%{?dist}
Summary:        Myrlyn translation files
License:        GPL-2.0-only
URL:            https://github.com/slothsnow/myrlyn-lang
Source0:        %{name}.tar.gz

BuildArch:      noarch

BuildRequires:  gettext
Requires:       gettext

%description
This package contains the translation files for Myrlyn.

%prep
%autosetup -n %{name}

%build
# Nothing to build

%install
mkdir -p %{buildroot}%{_datadir}/locale

for po in po/*.po; do
  lang=$(basename "$po" .po)
  target=%{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES
  mkdir -p "$target"
  msgfmt -o "$target/myrlyn.mo" "$po"
done

%files
%license LICENSE
%doc README.md
%{_datadir}/locale/*/LC_MESSAGES/myrlyn.mo

%changelog

Dort siehst du auch, das ich als sourcen das github benutze:

GitHub - slothsnow/myrlyn-lang

Aber:
da ich mit der Deutschen Übersetzung schon angefangen hatte, bevor es das github Repo gab, und ich meine Übersetzung auch immer komplett halte (ich benutze einen Editor zum ersetzen) benutze ich für deutsch ein extra de.po auf meinem Server.

Du kannst deine polnische Übersetzung dort ins github speichern, oder aber mir geben, ich werde sie in das rpm einbauen, allerdings nicht nach github hochladen.

PS:
die letzte Aktualisierung des github Repos ah alle Sprachpakete aktualisiert:
 
OP
dma67
Ja eben, genau so, wie ich es dachte...
die letzte Aktualisierung des github Repos ah alle Sprachpakete aktualisiert
Also irgendwie in dem Moment, wo ich nach einem Jahr zum ersten Mal eine neue Übersetzungsdatei pl.po requested habe. Und das war der Stand nach dem ersten YaST-Merge. Und das ist nun nach der Installation aus deinem Repo sichtbar.
Danach habe ich über Weblate die polnische Übersetzung vervollständigt. Meinte ich. Dann habe ich die po.pl in Weblate heruntergeladen und kompiliert. Obwohl ich "ALLES" übersetzt habe, hat da natürlich jede Menge Zeug gefehlt (alles was aus den *.ui Masken stammt, von Stefan veränderte msgid's usw.). Zu meiner Verwunderung war es mit Deutsch auch so.

Nach der Lektüre habe ich das systematisch verstanden:
-> https://en.opensuse.org/SDB:Localization_work_with_po_files

So ist eigentlich deine Mühe mit dem github und das Projekt mit den Sprachen nutzlos. Weil die zugrunde liegende myrlyn.pot komplett veraltet/falsch ist.
Das hat zur Folge, dass die Weblate NUR diese Übersetzungen anbietet und erlaubt, die in dieser "Master-Datei" vorgesehen sind. Also auf myrlyn.pot bauen die kompletten Übersetzungen auf. Weblate ist nur ein Koordinations-Werkzeug, man kann dann für jeweilige Sprache die po-Datei sofort hoch- oder herunterladen.
Und jetzt das eigentliche Problem: wenn du mit deiner fertigen de.po und ich mit meiner fertigen pl.po, die wir mühsam in einem Editor erbastelt haben, bei Weblate ankommen und die Dateien hochladen, werden die nicht vorhandenen msgid's in der führenden Datei myrlin.pot in unseren Übersetzungen einfach gecancelt. Jede Übersetzung in eine andere Sprache dort ist vergebliche Mühe, das einzig Gute ist deine de.po, die nicht von dem Projekt kommt. :cool:

Und die POT-Datei ist nichts Anderes als die komplette Auflistung aller zu übersetzenden Strings aus dem Quellcode. Für die jeweilige Sprache heißt es dann, dass man jeden neuen String im Quellcode zu übersetzen hat, wenn der String in der Datei neu erscheint. Oder schlimmer, wenn er verändert wird.
So wie hier:
Renamed "Installation Summary" secondary filter to "Status" · shundhammer/myrlyn@bc2d66e
Der String ist wie der Anker, verändert er sich, muss es in der Übersetzungsdatei angepasst werden, sonnst gibt es einen Fallback auf den englischen Text-String im Code. Hier ungefährlich, da nun "Status" angezeigt wird, in welcher Sprache auch immer. Aber aufgepasst: Stefan hat jetzt About-Dialog mit neuen Beitragenden verändert. In der kommenden Version nach der Kompilierung ist dann die gesamte "About Myrlyn" Übersetzung auf Deutsch weg und es gibt einen Fallback ins Englische, wenn du den Anker nicht anpasst. Verfolgst du jede Änderung des Codes?
Dasselbe müsste dann jeder Übersetzer für seine Sprache tun... Brotlose Kunst.

Wobei die Lösung sehr einfach ist und bei anderen riesigen Projekten wie z.B. Inkscape funktioniert es sehr gut. Und wir haben schon die Heidenarbeit verrichtet. Also nur meine Arbeit war nicht so ganz notwendig, wenn ich deine deutsche po hätte.
Wir könnten und sollen es so machen. Ich würde gern deine übersetzte de.po sehen, dann könnte ich gegen meine pl.po vergleichen. So stellen wir sicher, ob bei dem "Ist-Stand" alle notwendigen msgid Strings vorhanden sind. Wenn das fest steht, sollte man die msgstr leeren, somit haben wir die myrlyn.pot. Dann soll die die myrlyn.pot in dem github Projekt ausgetauscht werden. Das dient als Auslöser für ALLE zu übersetzenden Sprachen. Erst dann können wir unsere po-Dateien bei Weblate hochladen. Erst dann können die anderen Übersetzer loslegen und die korrekten Strings übersetzen. Das hätte den Vorteil, dass ich z.B. per Skript ALLE noch nicht angefassten Sprachen aus dem alten Yast übernehmen könnte, so hätte man wenigstens bei zig Sprachen so den 50% Stand und niemand mehr müsste sich - wie ich - mit der Struktur der Übersetzung abmühen.
Dann könnte man den Stefan bitten, dass er die myrlyn.pot bei sich pflegt. Er macht ja die manuelle Änderungen im Code. Bei ihm myrlin.pot einmal verändert wäre der Auslöser für die Übersetzer. Und nicht nur wir müssen die Übersetzung machen.

BTW: Die Übersetzung der langen Strings ist im Editor sehr tückisch, wenn die Zeilenumbrüche und sonstige Formatierungen nicht 1:1 beachtet werden, gibt es Fallbacks. Das habe ich deinem Post so entnommen, bei mir war es nicht anders. Weblate bietet hier wirklich gute Unterstützung.
 
Ps:
Die Icons sind jetzt größer als vorher und in der Übersicht hatte ich switcheroo eigentlich auf Tabu gesetzt, dies Icon wird jetzt nicht mehr angezeigt

Bildschirmfoto_20261011_201007-1.png
 
Oben