diff options
Diffstat (limited to 'src/po/cleanup.vim')
-rw-r--r-- | src/po/cleanup.vim | 34 |
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 |