Re: Übersetzungs-Helferleins

Alexander Becker alex-at-kde-l10n-de at freenet.de
Fri Aug 15 09:41:44 BST 2025


Hi Philipp,

 > Ich habe mich die Tage daran gemacht, mein persönliches Skript zur
 > Veröffentlichung von Übersetzungen etwas aufzuhübschen und auf Invent
 > hochzuladen. Vielleicht hilft es dem Einen oder der Anderen ja, oder ihr
 >habt noch Verbesserungsvorschläge.

danke für's Teilen!

1. Wie ich bereits in 
https://mail.kde.org/pipermail/kde-i18n-de/2025-August/018996.html 
geschrieben habe, gibt es beim Zusammenbauen der SPDX-Zeile ein Problem: 
Zwischen den Jahreszahlen werden die Kommas entfernt. Ob dies falsch 
ist, kann ich nicht beurteilen. Jedoch ist Lokalize da einer anderer 
Meinung, Komma zwischen Jahreszahlen muss rein. Ich habe mir den Code 
angeschaut, etwas optimiert und die Entfernung der Kommas herausgenommen:

     awk '
     BEGIN { header = 1 }
     /^msgid ""/ { header = 0 }
     {
       if (header == 1) {
         if (match($0, /^# ([^<]+)<([^>]+)>, ([0-9]{4}(, [0-9]{4})*)\./, 
arr)) {
                  years = arr[3]
                  printf "# SPDX-FileCopyrightText: %s %s<%s>\n", years, 
arr[1], arr[2]
         } else {
                  if (match($0, /(^# SPDX-FileCopyrightText:) ([0-9]{4}( 
[0-9]{4})*) (.*$)/, arr)) {
                      years = arr[2]
                      gsub(/ /, ", ", years)
                      printf "%s %s %s\n", arr[1], years, arr[4]
                  } else {
                      print $0
                  }
         }
         next
       }
       print $0
     }
     ' "$dst" > "$tmp_spdx" && mv "$tmp_spdx" "$dst"

2. Es gibt noch ein weiteres Problem: Beim Ersetzen von "..." wird ein 
NBSP auf jeden Fall mit eingefügt, z.B.

msgstr "..." wird fälschlicherweise zu msgstr " …"

oder auch


msgstr "2...3" wird fälschlicherweise zu msgstr "2 …3"

Fix dafür:

# 2) Collapse any tabs/spaces/NBSPs immediately before an ellipsis to 
one NBSP
     sed --in-place --regexp-extended "/^msgstr/ 
s/${SPC_CLASS}+…/${NBSP}…/g" "$dst"

Übrigens: Alle "sed"-Befehle im Skript funktionieren nur bei 
Einzeiler-msgstr. Im folgenden Fall wird der Skript nichts tun:

msgstr ""
"eine Übersetzung von ..."

→ Hier wäre die Verwendung von awk vorzuziehen.

Gruß
Alexander



More information about the kde-i18n-de mailing list