blob: 5e1b96799c5a1049572c5ac7f25d68fdebb67f55 [file] [log] [blame]
Bram Moolenaar4be06f92005-07-29 22:36:03 +00001" Vim script to cleanup a .po file:
2" - Remove line numbers (avoids that diffs are messy).
3" - Comment-out fuzzy and empty messages.
4" - Make sure there is a space before the string (required for Solaris).
Bram Moolenaarb0158592005-07-22 21:54:43 +00005" Requires Vim 6.0 or later (because of multi-line search patterns).
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +00006
7" Disable diff mode, because it makes this very slow
8let s:was_diff = &diff
9setl nodiff
10
Bram Moolenaar4d2ba822017-07-16 20:32:25 +020011" untranslated message preceded by c-format or comment
RestorerZcca3df92024-08-15 21:47:09 +020012silent g/^#, c-format\n#/.d _
13silent g/^#\..*\n#/.d _
Bram Moolenaar4d2ba822017-07-16 20:32:25 +020014
Bram Moolenaar016188f2022-06-06 20:52:59 +010015" c-format comments have no effect, the check.vim scripts checks it.
Bram Moolenaar63f32602022-06-09 20:45:54 +010016" But they might still be useful?
RestorerZcca3df92024-08-15 21:47:09 +020017" silent g/^#, c-format$/d _
Bram Moolenaar016188f2022-06-06 20:52:59 +010018
RestorerZcca3df92024-08-15 21:47:09 +020019silent g/^#[:~] /d _
Bram Moolenaara5792f52005-11-23 21:25:05 +000020silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ /
21silent g/^msgstr"/s//msgstr "/
22silent g/^msgid"/s//msgid "/
23silent g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ /
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +000024
Bram Moolenaard592deb2022-06-17 15:42:40 +010025" Comments only useful for the translator
RestorerZcca3df92024-08-15 21:47:09 +020026silent g/^#\./d _
Bram Moolenaard592deb2022-06-17 15:42:40 +010027
Bram Moolenaar02575992022-02-18 11:28:29 +000028" clean up empty lines
RestorerZcca3df92024-08-15 21:47:09 +020029silent g/^\n\n\n/.d _
Bram Moolenaar02575992022-02-18 11:28:29 +000030silent! %s/\n\+\%$//
Bram Moolenaar4d2ba822017-07-16 20:32:25 +020031
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +000032if s:was_diff
33 setl diff
34endif