diff --git a/src/buffer.c b/src/buffer.c
index 98cca6c..174ca1e 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5231,8 +5231,8 @@
 #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 @@
     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);
+    }
 }
 
 /*
