check.vim: Further improve po message checks
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
e581227421
commit
96dab9c9b1
25
src/po/check.vim
Normal file → Executable file
25
src/po/check.vim
Normal file → Executable file
@ -4,9 +4,9 @@
|
|||||||
" and verify various congruences
|
" and verify various congruences
|
||||||
" See the comments in the code
|
" See the comments in the code
|
||||||
|
|
||||||
" Last Update: 2025 Jul 22
|
" Last Update: 2025 Aug 06
|
||||||
|
|
||||||
if 1" Only execute this if the eval feature is available.
|
if 1 " Only execute this if the eval feature is available.
|
||||||
|
|
||||||
" Using line continuation (set cpo to vim default value)
|
" Using line continuation (set cpo to vim default value)
|
||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
@ -71,7 +71,7 @@ while 1
|
|||||||
" for each "msgid"
|
" for each "msgid"
|
||||||
|
|
||||||
" check msgid "Text;editor;"
|
" check msgid "Text;editor;"
|
||||||
" translation must have two ";" as well
|
" translation must have two or more ";" (in case of more categories)
|
||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
if getline(lnum) =~ 'msgid "Text;.*;"'
|
if getline(lnum) =~ 'msgid "Text;.*;"'
|
||||||
if getline(lnum + 1) !~ '^msgstr "\([^;]\+;\)\+"$'
|
if getline(lnum + 1) !~ '^msgstr "\([^;]\+;\)\+"$'
|
||||||
@ -188,7 +188,7 @@ while 1
|
|||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
" Check that the eventual continuation of 'msgstr' is well formed
|
" Check that the eventual continuation of 'msgstr' is well formed
|
||||||
" final '""', '\n"', ' "' are OK
|
" final '""', '\n"', ' "' '/"' '."' '-"' are OK
|
||||||
" Beware, it can give false positives if the message is split
|
" Beware, it can give false positives if the message is split
|
||||||
" in the middle of a word
|
" in the middle of a word
|
||||||
1
|
1
|
||||||
@ -210,19 +210,28 @@ while 1
|
|||||||
while ilnum < end - 1
|
while ilnum < end - 1
|
||||||
let iltype = 0
|
let iltype = 0
|
||||||
if getline( ilnum ) =~ "^msgid_plural"
|
if getline( ilnum ) =~ "^msgid_plural"
|
||||||
let iltype = 99
|
let iltype = 2
|
||||||
endif
|
endif
|
||||||
if getline( ilnum ) =~ "^msgstr["
|
if getline( ilnum ) =~ "^msgstr["
|
||||||
let iltype = 98
|
let iltype = 2
|
||||||
endif
|
endif
|
||||||
if getline( ilnum ) =~ "\"\""
|
if getline( ilnum ) =~ "\"\""
|
||||||
let iltype = 1
|
let iltype = 1
|
||||||
endif
|
endif
|
||||||
if getline( ilnum ) =~ " \"$"
|
if getline( ilnum ) =~ " \"$"
|
||||||
let iltype = 2
|
let iltype = 1
|
||||||
|
endif
|
||||||
|
if getline( ilnum ) =~ "-\"$"
|
||||||
|
let iltype = 1
|
||||||
|
endif
|
||||||
|
if getline( ilnum ) =~ "/\"$"
|
||||||
|
let iltype = 1
|
||||||
|
endif
|
||||||
|
if getline( ilnum ) =~ "\\.\"$"
|
||||||
|
let iltype = 1
|
||||||
endif
|
endif
|
||||||
if getline( ilnum ) =~ "\\\\n\"$"
|
if getline( ilnum ) =~ "\\\\n\"$"
|
||||||
let iltype = 3
|
let iltype = 1
|
||||||
endif
|
endif
|
||||||
if iltype == 0
|
if iltype == 0
|
||||||
echomsg 'Possibly incorrect final at line: ' . ilnum
|
echomsg 'Possibly incorrect final at line: ' . ilnum
|
||||||
|
|||||||
Reference in New Issue
Block a user