" This script is used for po (GNU gettext) file editing. " Language: po (GNU gettext) " Maintainer: Слободан Средојевић " Last Change: 14.09.2003 " The original script was written by Sung-Hyun Nam . " find a non-translated msg string /forward imap :call FindNonTransMsgFw()z.$i " find a non-translated msg string /backward imap :call FindNonTransMsgBw()z.$i " remove fuzzy imap ?#,fuzzy\\|#, fuzzy:let @/ = ""ddi " insert fuzzy imap {:let @/ = ""o#, fuzzyi " find next fuzzy imap /#,fuzzy\\|#, fuzzy:let @/ = ""/msgstr:let @/ = ""z.$i " find previous fuzzy imap {?#,fuzzy\\|#, fuzzy:let @/ = ""/msgstr:let @/ = ""z.$i " fill last-translator,language team and content-type imap /Last-Translator:f:ld$a:put = name_and_emailkJ/Language-Team:f:ld$a:put = lang_teamkJ/Content-Type:f:ld$a:put = content_typekJi " change po revision date imap /PO-Revision-Date:f:ld$a =strftime("%Y-%m-%d %H:%M%z")\n"i " show statistics imap :w:!msgfmt --statistics % " put original msgid string into msgstr quotes "". imap ?^msgstrd}o?^msgid:let @/ = ""f"ly}}imsgstr "p}k$i " erase the translated message imap }?^msgstr:let @/ = ""f"lc}"i function! FindNonTransMsgFw() let lnum = line(".") + 1 let enum = line("$") let found = 0 while lnum < enum let line = getline(lnum) let lnum = lnum + 1 if line == "msgstr \"\"" let blank = getline(lnum) if blank == "" let found = found + 1 exec "normal " . lnum . "ggk" let lnum = enum endif let lnum = lnum + 1 endif endwhile if found < 1 echo "Cannot find non-translated msg" endif endfun function! FindNonTransMsgBw() exec "normal k" exec "normal ?msgstr \"\"\" exec "normal " "j" let myblank = getline(".") if myblank == "" exec "normal " "k" else call FindNonTransMsgBw() endif endfun