patch 8.1.0103: long version string cannot be translated

Problem:    Long version string cannot be translated.
Solution:   Build the string in init_longVersion().
diff --git a/src/globals.h b/src/globals.h
index 8750859..0bb7de5 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1131,12 +1131,12 @@
 EXTERN char	breakat_flags[256];	/* which characters are in 'breakat' */
 #endif
 
-/* these are in version.c */
+/* These are in version.c, call init_longVersion() before use. */
 extern char *Version;
 #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
 extern char longVersion[];
 #else
-extern char *longVersion;
+EXTERN char *longVersion;
 #endif
 
 /*
diff --git a/src/main.c b/src/main.c
index 66b67b8..8a598c5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -940,10 +940,6 @@
     /* Init the table of Normal mode commands. */
     init_normal_cmds();
 
-#if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
-    make_version();	/* Construct the long version string. */
-#endif
-
     /*
      * Allocate space for the generic buffers (needed for set_init_1() and
      * EMSG2()).
@@ -3215,6 +3211,7 @@
     reset_signals();		/* kill us with CTRL-C here, if you like */
 #endif
 
+    init_longVersion();
     mch_errmsg(longVersion);
     mch_errmsg("\n");
     mch_errmsg(_(main_errors[n]));
@@ -3268,6 +3265,7 @@
     reset_signals();		/* kill us with CTRL-C here, if you like */
 #endif
 
+    init_longVersion();
     mch_msg(longVersion);
     mch_msg(_("\n\nUsage:"));
     for (i = 0; ; ++i)
diff --git a/src/proto/version.pro b/src/proto/version.pro
index cd44e8b..8139772 100644
--- a/src/proto/version.pro
+++ b/src/proto/version.pro
@@ -1,5 +1,5 @@
 /* version.c */
-void make_version(void);
+void init_longVersion(void);
 int highest_patch(void);
 int has_patch(int n);
 void ex_version(exarg_T *eap);
diff --git a/src/version.c b/src/version.c
index a38cdda..45f339b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -37,7 +37,7 @@
 						      + sizeof(__TIME__) + 3];
 
     void
-make_version(void)
+init_longVersion(void)
 {
     /*
      * Construct the long version string.  Necessary because
@@ -49,8 +49,25 @@
     strcat(longVersion, __TIME__);
     strcat(longVersion, ")");
 }
+
 # else
-char	*longVersion = VIM_VERSION_LONG_DATE __DATE__ " " __TIME__ ")";
+    void
+init_longVersion(void)
+{
+    char *date_time = __DATE__ " " __TIME__;
+    char *msg = _("%s (%s, compiled %s)");
+    size_t len = strlen(msg)
+		+ strlen(VIM_VERSION_LONG_ONLY)
+		+ strlen(VIM_VERSION_DATE_ONLY)
+		+ strlen(date_time);
+
+    longVersion = (char *)alloc(len);
+    if (longVersion == NULL)
+	longVersion = VIM_VERSION_LONG;
+    else
+	vim_snprintf(longVersion, len, msg,
+		      VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
+}
 # endif
 #else
 char	*longVersion = VIM_VERSION_LONG;
@@ -762,6 +779,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    103,
+/**/
     102,
 /**/
     101,
@@ -1148,6 +1167,7 @@
      * When adding features here, don't forget to update the list of
      * internal variables in eval.c!
      */
+    init_longVersion();
     MSG(longVersion);
 #ifdef WIN3264
 # ifdef FEAT_GUI_W32
diff --git a/src/version.h b/src/version.h
index d3e575d..b94ab7e 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,7 @@
 #define VIM_VERSION_NODOT	"vim81"
 #define VIM_VERSION_SHORT	"8.1"
 #define VIM_VERSION_MEDIUM	"8.1"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 8.1 (2018 May 17)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 8.1 (2018 May 17, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 8.1 (2018 May 18)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 8.1 (2018 May 18, compiled "
+#define VIM_VERSION_LONG_ONLY	"VIM - Vi IMproved 8.1"
+#define VIM_VERSION_DATE_ONLY	"2018 May 18"