summaryrefslogtreecommitdiffstats
path: root/src/po/cleanup.vim
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
commitaed8ce9da277f5ecffe968b324f242c41c3b752a (patch)
treed2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /src/po/cleanup.vim
parentInitial commit. (diff)
downloadvim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz
vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/po/cleanup.vim')
-rw-r--r--src/po/cleanup.vim34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/po/cleanup.vim b/src/po/cleanup.vim
new file mode 100644
index 0000000..1af188a
--- /dev/null
+++ b/src/po/cleanup.vim
@@ -0,0 +1,34 @@
+" Vim script to cleanup a .po file:
+" - Remove line numbers (avoids that diffs are messy).
+" - Comment-out fuzzy and empty messages.
+" - Make sure there is a space before the string (required for Solaris).
+" Requires Vim 6.0 or later (because of multi-line search patterns).
+
+" Disable diff mode, because it makes this very slow
+let s:was_diff = &diff
+setl nodiff
+
+" untranslated message preceded by c-format or comment
+silent g/^#, c-format\n#/.d
+silent g/^#\..*\n#/.d
+
+" c-format comments have no effect, the check.vim scripts checks it.
+" But they might still be useful?
+" silent g/^#, c-format$/d
+
+silent g/^#[:~] /d
+silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ /
+silent g/^msgstr"/s//msgstr "/
+silent g/^msgid"/s//msgid "/
+silent g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ /
+
+" Comments only useful for the translator
+silent g/^#\. /d
+
+" clean up empty lines
+silent g/^\n\n\n/.d
+silent! %s/\n\+\%$//
+
+if s:was_diff
+ setl diff
+endif