[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] version-etc.c: Do not include URLS in translatable strings.

From: Bruno Haible
Subject: Re: [PATCH] version-etc.c: Do not include URLS in translatable strings.
Date: Sun, 12 May 2019 00:46:39 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-145-generic; KDE/5.18.0; x86_64; ; )

Hi John,

> This method is better for several reasons:  1. It avoids the danger of
> cut and paste errors.  2. Naive translators can't translate the urls
> (it's amazing how many do things like that!) 3. Should the urls ever
> change, only this file has to be updated rather than every single
> translation.
> * lib/version-etc.c: Take URLS out of translatable strings.

Good suggestion. I've added it to the GNU gettext manual:

> +  printf (_("%s home page: <%s/%s/>\n"), PACKAGE_NAME,
> +       "https://www.gnu.org/software";, PACKAGE);

Taking your argument further: The shape of the URL can change, it's
not necessarily of the form "%s/%s/". So move that logic out of the
translatable string as well.

And formatting newlines also can be moved out of the translatable string.

I'm thus committing this:

2019-05-11  John Darrington  <address@hidden>
            Bruno Haible  <address@hidden>

        version-etc: Ease translation.
        * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
        URLs and formatting newlines out of translatable string.

diff --git a/lib/version-etc.c b/lib/version-etc.c
index 9ca9a56..f6b26ef 100644
--- a/lib/version-etc.c
+++ b/lib/version-etc.c
@@ -82,14 +82,17 @@ version_etc_arn (FILE *stream,
      locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
   fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR);
-  fputs (_("\
-License GPLv3+: GNU GPL version 3 or later 
+  fputs ("\n", stream);
+  /* TRANSLATORS: The %s placeholder is the web address of the GPL license.  */
+  fprintf (stream, _("\
+License GPLv3+: GNU GPL version 3 or later <%s>.\n\
 This is free software: you are free to change and redistribute it.\n\
 There is NO WARRANTY, to the extent permitted by law.\n\
-         stream);
+           "https://gnu.org/licenses/gpl.html";);
+  fputs ("\n", stream);
   switch (n_authors)
@@ -238,11 +241,12 @@ version_etc (FILE *stream,
 emit_bug_reporting_address (void)
+  fputs ("\n", stdout);
   /* TRANSLATORS: The placeholder indicates the bug-reporting address
      for this package.  Please add _another line_ saying
      "Report translation bugs to <...>\n" with the address for translation
      bugs (typically your translation team's web or email address).  */
-  printf (_("\nReport bugs to: %s\n"), PACKAGE_BUGREPORT);
+  printf (_("Report bugs to: %s\n"), PACKAGE_BUGREPORT);
   printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER,
@@ -250,9 +254,9 @@ emit_bug_reporting_address (void)
   printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
-  printf (_("%s home page: <https://www.gnu.org/software/%s/>\n"),
+  printf (_("%s home page: <%s>\n"),
+          PACKAGE_NAME, "https://www.gnu.org/software/"; PACKAGE "/");
-  fputs (_("General help using GNU software: 
-         stdout);
+  printf (_("General help using GNU software: <%s>\n"),
+          "https://www.gnu.org/gethelp/";);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]