@@ -532,8 +532,9 @@ def gettext(string, **variables):
532532 """
533533 t = get_translations ()
534534 if t is None :
535- return string % variables
536- return t .ugettext (string ) % variables
535+ return string if not variables else string % variables
536+ s = t .ugettext (string )
537+ return s if not variables else s % variables
537538_ = gettext
538539
539540
@@ -552,8 +553,11 @@ def ngettext(singular, plural, num, **variables):
552553 variables .setdefault ('num' , num )
553554 t = get_translations ()
554555 if t is None :
555- return (singular if num == 1 else plural ) % variables
556- return t .ungettext (singular , plural , num ) % variables
556+ s = singular if num == 1 else plural
557+ return s if not variables else s % variables
558+
559+ s = t .ungettext (singular , plural , num )
560+ return s if not variables else s % variables
557561
558562
559563def pgettext (context , string , ** variables ):
@@ -563,8 +567,9 @@ def pgettext(context, string, **variables):
563567 """
564568 t = get_translations ()
565569 if t is None :
566- return string % variables
567- return t .upgettext (context , string ) % variables
570+ return string if not variables else string % variables
571+ s = t .upgettext (context , string )
572+ return s if not variables else s % variables
568573
569574
570575def npgettext (context , singular , plural , num , ** variables ):
@@ -575,8 +580,10 @@ def npgettext(context, singular, plural, num, **variables):
575580 variables .setdefault ('num' , num )
576581 t = get_translations ()
577582 if t is None :
578- return (singular if num == 1 else plural ) % variables
579- return t .unpgettext (context , singular , plural , num ) % variables
583+ s = singular if num == 1 else plural
584+ return s if not variables else s % variables
585+ s = t .unpgettext (context , singular , plural , num )
586+ return s if not variables else s % variables
580587
581588
582589def lazy_gettext (string , ** variables ):
0 commit comments