summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/ui.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 8de8e3c863..2f757547cf 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -99,7 +99,15 @@
 
 (define _ (cut gettext <> %gettext-domain))
 (define N_ (cut ngettext <> <> <> %gettext-domain))
-(define P_ (cut gettext <> %package-text-domain))
+
+(define (P_ msgid)
+  "Return the translation of the package description or synopsis MSGID."
+  ;; Descriptions/synopses might occasionally be empty strings, even if that
+  ;; is something we try to avoid.  Since (gettext "") can return a non-empty
+  ;; string, explicitly check for that case.
+  (if (string-null? msgid)
+      msgid
+      (gettext msgid %package-text-domain)))
 
 (define-syntax-rule (define-diagnostic name prefix)
   "Create a diagnostic macro (i.e., NAME), which will prepend PREFIX to all