commit 965f54cf5027a765b6969f75828f7ce23c913f1c
parent e27e4052c852fa935338681e2c243175d2865563
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu, 22 Jan 2026 13:39:28 +0800
vim-patch:96dab9c: check.vim: Further improve po message checks
https://github.com/vim/vim/commit/96dab9c9b1a1046a4f30ed0aed5686136d52ed19
Co-authored-by: Antonio Giovanni Colombo <azc100@gmail.com>
Diffstat:
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/nvim/po/check.vim b/src/nvim/po/check.vim
@@ -4,9 +4,9 @@
" and verify various congruences
" 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)
let s:save_cpo = &cpo
@@ -74,7 +74,7 @@ while 1
" for each "msgid"
" check msgid "Text;editor;"
- " translation must have two ";" as well
+ " translation must have two or more ";" (in case of more categories)
let lnum = line('.')
if getline(lnum) =~ 'msgid "Text;.*;"'
if getline(lnum + 1) !~ '^msgstr "\([^;]\+;\)\+"$'
@@ -191,7 +191,7 @@ while 1
endwhile
" 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
" in the middle of a word
1
@@ -213,19 +213,28 @@ while 1
while ilnum < end - 1
let iltype = 0
if getline( ilnum ) =~ "^msgid_plural"
- let iltype = 99
+ let iltype = 2
endif
if getline( ilnum ) =~ "^msgstr["
- let iltype = 98
+ let iltype = 2
endif
if getline( ilnum ) =~ "\"\""
let iltype = 1
endif
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
if getline( ilnum ) =~ "\\\\n\"$"
- let iltype = 3
+ let iltype = 1
endif
if iltype == 0
echomsg 'Possibly incorrect final at line: ' . ilnum