# HG changeset patch # User Bram Moolenaar # Date 1682766904 -7200 # Node ID 2a096f5f527ccd44a601dce4a44de37f7ee573f4 # Parent 9f9e2a63ad56a8cc3929edb7cad81b593e495218 patch 9.0.1497: the ruler percentage can't be localized Commit: https://github.com/vim/vim/commit/971cd2b8bc3e3a7faa886162cd7568938c627882 Author: Emir SARI Date: Sat Apr 29 12:09:53 2023 +0100 patch 9.0.1497: the ruler percentage can't be localized Problem: The ruler percentage can't be localized. Solution: Use a string that can be translated. (Emir Sari, closes https://github.com/vim/vim/issues/12311) diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -5231,8 +5231,8 @@ build_stl_str_hl( #endif // FEAT_STL_OPT /* - * Get relative cursor position in window into "buf[buflen]", in the form 99%, - * using "Top", "Bot" or "All" when appropriate. + * Get relative cursor position in window into "buf[buflen]", in the localized + * percentage form like %99, 99%; using "Top", "Bot" or "All" when appropriate. */ void get_rel_pos( @@ -5256,13 +5256,27 @@ get_rel_pos( below = wp->w_buffer->b_ml.ml_line_count - wp->w_botline + 1; if (below <= 0) vim_strncpy(buf, (char_u *)(above == 0 ? _("All") : _("Bot")), - (size_t)(buflen - 1)); + (size_t)(buflen - 1)); else if (above <= 0) vim_strncpy(buf, (char_u *)_("Top"), (size_t)(buflen - 1)); else - vim_snprintf((char *)buf, (size_t)buflen, "%2d%%", above > 1000000L - ? (int)(above / ((above + below) / 100L)) - : (int)(above * 100L / (above + below))); + { + int perc = (above > 1000000L) + ? (int)(above / ((above + below) / 100L)) + : (int)(above * 100L / (above + below)); + + char *p = (char *)buf; + size_t l = buflen; + if (perc < 10) + { + // prepend one space + buf[0] = ' '; + ++p; + --l; + } + // localized percentage value + vim_snprintf(p, l, _("%d%%"), perc); + } } /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1497, +/**/ 1496, /**/ 1495,