" Vim syntax file
" Language: po (GNU gettext)
" Maintainer: Sung-Hyun Nam
" Last Change: 6.05.2003
" Last change made by Слободан Средојевић and Александар Урошевић :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 @/ = ""$i
" find previous fuzzy
imap {?#,fuzzy\\|#, fuzzy:let @/ = ""/msgstr:let @/ = ""$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 }?^msgidf"ly$/^msgstr:let @/ = ""f"plxi
" 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