[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:
https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=22456ebdad40b188bf03b02ec5c58796f16838d5
> + 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 (_("\
-\n\
-License GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>.\n\
+ 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\
-\n\
"),
- stream);
+ "https://gnu.org/licenses/gpl.html");
+
+ fputs ("\n", stream);
switch (n_authors)
{
@@ -238,11 +241,12 @@ version_etc (FILE *stream,
void
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);
#ifdef PACKAGE_PACKAGER_BUG_REPORTS
printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER,
PACKAGE_PACKAGER_BUG_REPORTS);
@@ -250,9 +254,9 @@ emit_bug_reporting_address (void)
#ifdef PACKAGE_URL
printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
#else
- printf (_("%s home page: <https://www.gnu.org/software/%s/>\n"),
- PACKAGE_NAME, PACKAGE);
+ printf (_("%s home page: <%s>\n"),
+ PACKAGE_NAME, "https://www.gnu.org/software/" PACKAGE "/");
#endif
- fputs (_("General help using GNU software:
<https://www.gnu.org/gethelp/>\n"),
- stdout);
+ printf (_("General help using GNU software: <%s>\n"),
+ "https://www.gnu.org/gethelp/");
}