diff --git a/guix/ui.scm b/guix/ui.scm index 8de8e3c86330e296d2fa559c18b1d2b140157494..2f757547cf615bd0bc2c60ee9e68fad3cb871b2f 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -99,7 +99,15 @@ (define %package-text-domain (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