diff --git a/src/static/pretixpresale/js/ui/asynctask.js b/src/static/pretixpresale/js/ui/asynctask.js index 28cd1b01a..23552a4c9 100644 --- a/src/static/pretixpresale/js/ui/asynctask.js +++ b/src/static/pretixpresale/js/ui/asynctask.js @@ -1,4 +1,4 @@ -/*global $, waitingDialog, gettext */ +/*global $, waitingDialog, failsafe_gettext */ var async_task_id = null; var async_task_timeout = null; var async_task_check_url = null; @@ -46,7 +46,7 @@ function async_task_error(jqXHR, textStatus, errorThrown) { if (c.length > 0) { ajaxErrDialog.show(c.first().html()); } else { - alert(gettext('Unknown error.')); + alert(failsafe_gettext('Unknown error.')); } } @@ -58,7 +58,7 @@ $(function () { return; } $(this).data('ajaxing', true); - waitingDialog.show(gettext('We are processing your request …')); + waitingDialog.show(failsafe_gettext('We are processing your request …')); $.ajax( { diff --git a/src/static/pretixpresale/js/ui/cart.js b/src/static/pretixpresale/js/ui/cart.js index cb9dad45c..fb5add439 100644 --- a/src/static/pretixpresale/js/ui/cart.js +++ b/src/static/pretixpresale/js/ui/cart.js @@ -1,4 +1,4 @@ -/*global $,django */ +/*global $,failsafe_gettext,failsafe_ngettext */ var cart = { _deadline: null, @@ -7,10 +7,10 @@ var cart = { draw_deadline: function () { var diff = Math.floor(cart._deadline.diff(moment()) / 1000 / 60); if (diff < 0) { - $("#cart-deadline").text(django.gettext("The items in your cart are no longer reserved for you.")); + $("#cart-deadline").text(failsafe_gettext("The items in your cart are no longer reserved for you.")); window.clearInterval(cart._deadline_interval); } else { - $("#cart-deadline").text(django.ngettext( + $("#cart-deadline").text(failsafe_ngettext( "The items in your cart are reserved for you for one minute.", "The items in your cart are reserved for you for {num} minutes.", diff diff --git a/src/static/pretixpresale/js/ui/main.js b/src/static/pretixpresale/js/ui/main.js index 03ae14a44..862245204 100644 --- a/src/static/pretixpresale/js/ui/main.js +++ b/src/static/pretixpresale/js/ui/main.js @@ -1,5 +1,18 @@ /*global $ */ +function failsafe_gettext(msgid) { + if (typeof django !== 'undefined' && typeof django.gettext !== 'undefined') { + return django.gettext(msgid); + } + return msgid; +} +function failsafe_ngettext(singular, plural, count) { + if (typeof django !== 'undefined' && typeof django.ngettext !== 'undefined') { + return django.ngettext(singular, plural, count); + } + return plural; +} + $(function () { "use strict"; $("input[data-toggle=radiocollapse]").change(function () { @@ -41,11 +54,11 @@ var ajaxErrDialog = { "use strict"; $("#ajaxerr").html(c); $("#ajaxerr .links").html("" - + gettext("Close message") + ""); + + failsafe_gettext("Close message") + ""); $("body").addClass("ajaxerr"); }, hide: function () { "use strict"; $("body").removeClass("ajaxerr"); } -}; \ No newline at end of file +};