From a8490a4952c320f234ae4528d4a1e812a27f3a0a Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 23 May 2023 18:00:58 +0100 Subject: patch 9.0.1575: "file N of M" message is not translated Problem: "file N of M" message is not translated. Solution: Make argument count message translatable. (close #12429) --- src/buffer.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/buffer.c') diff --git a/src/buffer.c b/src/buffer.c index ff7c50fae1..a47342a3f5 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5278,24 +5278,21 @@ append_arg_number( int buflen, int add_file) // Add "file" before the arg number { - char_u *p; - if (ARGCOUNT <= 1) // nothing to do return FALSE; - p = buf + STRLEN(buf); // go to the end of the buffer - if (p - buf + 35 >= buflen) // getting too long - return FALSE; - *p++ = ' '; - *p++ = '('; - if (add_file) + char *msg; + switch ((wp->w_arg_idx_invalid ? 1 : 0) + (add_file ? 2 : 0)) { - STRCPY(p, "file "); - p += 5; + case 0: msg = _(" (%d of %d)"); break; + case 1: msg = _(" ((%d) of %d)"); break; + case 2: msg = _(" (file %d of %d)"); break; + case 3: msg = _(" (file (%d) of %d)"); break; } - vim_snprintf((char *)p, (size_t)(buflen - (p - buf)), - wp->w_arg_idx_invalid ? "(%d) of %d)" - : "%d of %d)", wp->w_arg_idx + 1, ARGCOUNT); + + char_u *p = buf + STRLEN(buf); // go to the end of the buffer + vim_snprintf((char *)p, (size_t)(buflen - (p - buf)), msg, + wp->w_arg_idx + 1, ARGCOUNT); return TRUE; } -- cgit v1.2.3