Index: trunk/l10n-support/nn/skript/kde-l10n-synk.sh =================================================================== --- trunk/l10n-support/nn/skript/kde-l10n-synk.sh (revision 1571516) +++ trunk/l10n-support/nn/skript/kde-l10n-synk.sh (revision 1571517) @@ -1,260 +1,260 @@ #!/bin/bash # kde-l10n-synk.sh – Synkronisering av omsettingar frå og til KDE. -# Copyright © 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Karl Ove Hufthammer . +# Copyright © 2007–2020 Karl Ove Hufthammer . # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ## MÅ FIKSAST: Oppdatering av «docs/» i vår SVN (bilde og sånt). # Køyr følgjande for å fylla mappa $KDEREPO med nødvendige filer # med rett mappestruktur: # # brukarnamn=huftis # cd ~/utvikling # mkdir -p kde # cd kde -# git clone git@git.kde.org:pology +# git clone git@invent.kde.org:sdk/pology.git # svn co --depth=files svn+ssh://svn@svn.kde.org/home/kde/trunk/ # cd trunk # for mappe in l10n-kde4 l10n-support l10n-kf5 # do # svn up --depth=files $mappe # cd $mappe # svn up nn nb se templates # cd .. # done # cd .. # svn co --depth=files svn+ssh://svn@svn.kde.org/home/kde/branches/ # cd branches # svn up --depth=files stable # cd stable # svn up --depth=files l10n-kde4 l10n-kf5 l10n-kf5-plasma-lts # cd l10n-kde4 # svn up nn nb se templates # cd ../l10n-kf5 # svn up nn nb se templates # cd ../l10n-kf5-plasma-lts # svn up nn nb se templates # echo 'Ferdig!' # # Avslutt ved feil set -o errexit export KDEREPO=~/utvikling/kde # KDE repository folder export L10NS="$KDEREPO/trunk/l10n-support/" # Top-level l10n-support folder export SCRIPTS="$L10NS/nn/skript/" # Our local script folder export KOMP="$SCRIPTS/kompendium/" # Folder for storing compendium files # Ensure we can run pology scripts directly, without specifying a path. export PATH=$PATH:$KDEREPO/pology/bin SVN_COMMAND="svn --quiet" # SVN command sprak="nn nb se" # The languages the script should handle hjelpetekstar="nei" # Should the docs files be updated too? kjapp="ja" # "ja": Do a quick merge, on only PO files with updated templates; "no": merge all PO files # What operations posummit should execute. if [ $kjapp = "ja" ] then tving="" # Only merge PO files that have updated templates. else tving="--force" # Merge (and rewrap) all PO files. fi # Which folders should be updated. if [ $hjelpetekstar = "ja" ] then mapper="summit/messages summit/docmessages" else mapper="summit/messages" fi # Add new local files to SVN and remove deleted ones. function leggtilfjern { # Do *not* use $SVN_COMMAND here; it suppresses the needed output. nye=$(svn status | grep "^\?" | cut -c8-) fjerna=$(svn status | grep "^\!" | cut -c8-) if [ -n "$nye" ]; then $SVN_COMMAND add $nye; fi if [ -n "$fjerna" ]; then $SVN_COMMAND delete $fjerna; fi } # Create compendium files for the various languages. function lag_kompendium { echo -e "\n═══ Lagar kompendiefiler av omsettingsfiler ═══" mkdir -p "$KOMP" # Create compendium folder if it doesn’t already exist. # Genereting compendium files. for sprk in $sprak do echo "─── Lagar kompendium for språkkoden «${sprk}» ───" # First output all messages. # (For Norwegian Nynorsk, you can add an environment variable # ‘ekstra_kompendiumfiler’ containing a space-separated list of # additional PO files to include in the compendium.) po_filer="$L10NS/$sprk/summit/messages/*/*.po" if [ $sprk = "nn" ]; then po_filer="$po_filer $ekstra_kompendiumfiler" fi msgcat --output-file="$KOMP/${sprk}.po" $po_filer # Also include obsolete (but non-fuzzy) messages, and remove fuzzy ones. msgattrib --clear-obsolete --translated --no-fuzzy --output-file="$KOMP/${sprk}.tmp" "$KOMP/${sprk}.po" # Mark all messages as fuzzy, so they will be merged as fuzzy. msgattrib --translated --set-fuzzy --no-location --no-wrap --output-file="$KOMP/${sprk}.po" "$KOMP/${sprk}.tmp" # Resolve aggregate messages cd "$KOMP" posieve resolve-aggregates ${sprk}.po # Remove any translator comments and source references. grep -v '^#[.:, ]' "$KOMP/${sprk}.po" | msguniq --use-first --no-wrap | \ grep -v '^#[.:, ]' > "$KOMP/${sprk}.tmp" # Remove any NAME OF TRANSLATORS and EMAIL OF TRANSLATOR strings. msggrep -v "$KOMP/${sprk}.tmp" -o "$KOMP/${sprk}.po"\ -JFie 'NAME OF TRANSLATORS' \ -JFie 'EMAIL OF TRANSLATORS' \ -JFie 'ROLES_OF_TRANSLATORS' \ -JFie 'CREDIT_FOR_TRANSLATORS' \ # Remove the temporary files rm -f *.tmp done } # lag_kompendium done # Update PO files with latest templates. function oppdater_po { echo -e "\n═══ Oppdaterer omsettingsfilene med dei nyaste malfilene ═══" # Update all the KDE SVN folders. echo "─── Hentar nyaste omsettingsfiler, malar og skript ───" $SVN_COMMAND up --accept theirs-full $KDEREPO/{trunk,branches/stable}/{l10n-kde4,l10n-kf5,l10n-kf5-plasma-lts}/{scripts,templates,nb,nn,se} $SVN_COMMAND up --accept theirs-full $KDEREPO/trunk/l10n-support/{scripts,templates,nb,nn,se} $SVN_COMMAND up -N $KDEREPO/trunk/l10n-support/ # Copy and commit the actual translation files. for sprk in $sprak do echo "─── Legg til / slettar for $versjon og språk $sprk i KDEREPO ───" # Define full language names for commit message. if [ $sprk = "nn" ]; then langsprk="Norwegian Nynorsk" elif [ $sprk = "nb" ]; then langsprk="Norwegian Bokmål" elif [ $sprk = "se" ]; then langsprk="Northern Sami" fi cd $L10NS echo " ─ Oppdaterer omsettingsfiler og spreier omsettingane frå summit til stable og trunk o.l. ─" # Merge and scatter the messages files, and possibly the docmessages files. for mappe in $mapper do echo " ─ Spreier omsettingsfilene i «${mappe}» for språkkoden «${sprk}» med nyaste malfiler ─" posummit --quiet $tving scripts/${mappe#summit/}.summit $sprk merge,scatter done echo " ─ Kopierer eventuelle skriptfiler til KDE5+ ─" # Er fristande og også kopiera desse til branches/stable/l10n-kf5 branches/stable/l10n-kf5-plasma-lts ikkje trunk/l10n-kde4 branches/stable/l10n-kde4 # men det er visst feil, jf. https://bugs.kde.org/show_bug.cgi?id=343277 … # fixme: Gjeld dette alle filer eller berre frameworks-filer? Oppdater # viss (og berre viss) det viser seg at skripta ikkje vert pakka # rett på alle distroar. for kdemappe in trunk/l10n-kf5 do rsync -r --exclude='.svn*' --delete $L10NS/${sprk}/summit/scripts $KDEREPO/${kdemappe}/$sprk/ done for kdemappe in trunk/l10n-kf5 branches/stable/l10n-kf5 branches/stable/l10n-kf5-plasma-lts trunk/l10n-kde4 branches/stable/l10n-kde4 trunk/l10n-support/ do # Commit any updated translation files to KDE for undermappe in messages docmessages scripts summit/messages summit/docmessages do omsmappe=$KDEREPO/${kdemappe}/$sprk/$undermappe if [ -d "$omsmappe" ]; then cd $omsmappe leggtilfjern $SVN_COMMAND commit -m "SVN_SILENT Updated $langsprk translations for ‘$undermappe’ in ‘$kdemappe’" fi done done done } # oppdater_po done # Generate the docmentation DocBook files. function lag_dok { echo -e "\n═══ Lagar hjelpetekstfiler ═══" echo "─── Hentar oppdaterte hjelpetekstfiler ───" $SVN_COMMAND up $KDEREPO/{trunk,branches/stable}/{l10n-kde4,l10n-kf5,l10n-kf5-plasma-lts}/*/docs for sprk in $sprak do # For each branch, update the documentation for kdemappe in trunk/l10n-kf5 branches/stable/l10n-kf5 branches/stable/l10n-kf5-plasma-lts trunk/l10n-kde4 branches/stable/l10n-kde4 do echo " ─ Oppdaterer hjelpefilene i «${kdemappe}» for språkkoden «${sprk}» ─" cd $KDEREPO/${kdemappe} ./scripts/update_xml --commit $sprk >/dev/null done # Slutt kde_mappe done } # Slutt lag_dok # By default, print the following message. echo -e "kde-l10n-synk.sh\n\ Copyright © 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Karl Ove Hufthammer . This program comes with ABSOLUTELY NO WARRANTY; for details, see the source code. This is free software, and you are welcome to redistribute it under certain conditions; again, see the source code for details." # If any arguments are given, execute them. val=$1 if [ -z "$val" ]; then echo -e "\nBruk: kde-l10n-synk.sh [KOMMANDO]... Kommandoar: lag_kompendium Lag kompendium over alle tekstane i omsettingane. oppdater_po Oppdater omsettingsfilene med nytt frå malane og sprei omsette tekstar. lag_dok Lag og send inn hjelpefiler basert på omsettingane i KDE-SVN. alt Gjer alt ovanfor (i rekkjefølgje)." elif [ $val = alt ]; then lag_kompendium oppdater_po hent_fra_kde3 tilbake_po if [ $hjelpetekstar = "ja" ] then lag_dok fi else for i in $@; do echo -e "\nUtfører «$i»." $i done fi