

(function (globals) {

  var django = globals.django || (globals.django = {});

  
  django.pluralidx = function (n) {
    var v=(n != 1);
    if (typeof(v) == 'boolean') {
      return v ? 1 : 0;
    } else {
      return v;
    }
  };
  

  
  /* gettext library */

  django.catalog = {
    ":": ":", 
    "Accept": "Accept", 
    "All tasks require an associated station.": "All tasks require an associated station.", 
    "Annotate this alert": "Annotate this alert", 
    "Available %s": "Available %s", 
    "Book your vehicle or your park place": "Book your vehicle or your parking spot", 
    "Cancel": "Cancel", 
    "Car available": "Car available", 
    "Choose": "Choose", 
    "Choose all": "Choose all", 
    "Chosen %s": "Chosen %s", 
    "Click here to see all": "Click here to see all", 
    "Click to choose all %s at once.": "Click to choose all %s at once.", 
    "Click to remove all chosen %s at once.": "Click to remove all chosen %s at once.", 
    "Confirm": "Confirm", 
    "Date and time": "Date and time", 
    "Decline": "Decline", 
    "Demand a shift modification": "Request a shift modification", 
    "End charging point": "End charge point", 
    "Filter": "Filter", 
    "For the amount of": "For the amount of", 
    "Many task creation demands are awaiting approval": "Many task creation requests are awaiting approval", 
    "New task created by callcenter": "New task created by call center", 
    "New task creation demand": "New task creation request", 
    "Parking place available": "Parking spot available", 
    "Please confirm this action": "Please confirm this action", 
    "Please enter a valid number -%s between %s": "Please enter a valid number -%s between %s", 
    "Public plug": "Public plug", 
    "Reason": "Reason", 
    "Remove": "Remove", 
    "Remove all": "Remove all", 
    "Response regarding demand #": "Response regarding request #", 
    "Return reason": "Return reason", 
    "Send message": "Send message", 
    "Sending message": "Sending message", 
    "Station closed for maintenance": "Station closed for maintenance", 
    "Station in maintenance": "Station in maintenance", 
    "Station under construction": "Station under construction", 
    "Station with a subscription kiosk": "Station with an enrollment kiosk", 
    "Station without subscription kiosk": "Station without enrollment kiosk", 
    "Subscription kiosk currently unavailable": "Enrollment kiosk currently unavailable", 
    "Task": "Task", 
    "Task creation refused: ": "Task creation refused: ", 
    "Task refusal": "Task refusal", 
    "The modified amount should be strictly less than the initial amount.": "The modified amount should be strictly less than the initial amount.", 
    "There are \\${count} task creation demands awaiting approval": "There are \\${count} task creation requests awaiting approval", 
    "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.", 
    "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.", 
    "This rental won't be charged to the customer.": "This rental will not be charged to the customer.", 
    "This station is under construction.": "This station is under construction.", 
    "Total duration": "Total duration", 
    "Type into this box to filter down the list of available %s.": "Type into this box to filter down the list of available %s.", 
    "Valet": "Valet", 
    "Validate": "Validate", 
    "Validation error(s):": "Validation error(s):", 
    "You need to select a start point before using suggest station button.": "You need to select a start point before using suggest station button.", 
    "account": "account", 
    "car available": [
      "car available", 
      "cars available"
    ], 
    "in your ": "in your ", 
    "parking place available": [
      "parking spot available", 
      "parking spots available"
    ], 
    "select2\u0004Loading more results...": "Loading more results...", 
    "select2\u0004No matches found": "No matches found", 
    "select2\u0004Please enter %s more characters": [
      "Please enter %s more characters", 
      "Please enter %s more characters"
    ], 
    "select2\u0004Searching...": "Searching...", 
    "select2\u0004You can only select %s item": [
      "You can only select %s item", 
      "You can only select %s items"
    ]
  };

  django.gettext = function (msgid) {
    var value = django.catalog[msgid];
    if (typeof(value) == 'undefined') {
      return msgid;
    } else {
      return (typeof(value) == 'string') ? value : value[0];
    }
  };

  django.ngettext = function (singular, plural, count) {
    var value = django.catalog[singular];
    if (typeof(value) == 'undefined') {
      return (count == 1) ? singular : plural;
    } else {
      return value[django.pluralidx(count)];
    }
  };

  django.gettext_noop = function (msgid) { return msgid; };

  django.pgettext = function (context, msgid) {
    var value = django.gettext(context + '\x04' + msgid);
    if (value.indexOf('\x04') != -1) {
      value = msgid;
    }
    return value;
  };

  django.npgettext = function (context, singular, plural, count) {
    var value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count);
    if (value.indexOf('\x04') != -1) {
      value = django.ngettext(singular, plural, count);
    }
    return value;
  };
  

  django.interpolate = function (fmt, obj, named) {
    if (named) {
      return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])});
    } else {
      return fmt.replace(/%s/g, function(match){return String(obj.shift())});
    }
  };


  /* formatting library */

  django.formats = {
    "DATETIME_FORMAT": "N j, Y, P", 
    "DATETIME_INPUT_FORMATS": [
      "%Y-%m-%d %H:%M:%S", 
      "%Y-%m-%d %H:%M:%S.%f", 
      "%Y-%m-%d %H:%M", 
      "%Y-%m-%d", 
      "%m/%d/%Y %H:%M:%S", 
      "%m/%d/%Y %H:%M:%S.%f", 
      "%m/%d/%Y %H:%M", 
      "%m/%d/%Y", 
      "%m/%d/%y %H:%M:%S", 
      "%m/%d/%y %H:%M:%S.%f", 
      "%m/%d/%y %H:%M", 
      "%m/%d/%y"
    ], 
    "DATE_FORMAT": "N j, Y", 
    "DATE_INPUT_FORMATS": [
      "%Y-%m-%d", 
      "%m/%d/%Y", 
      "%m/%d/%y"
    ], 
    "DECIMAL_SEPARATOR": ".", 
    "FIRST_DAY_OF_WEEK": "0", 
    "MONTH_DAY_FORMAT": "F j", 
    "NUMBER_GROUPING": "3", 
    "SHORT_DATETIME_FORMAT": "m/d/Y P", 
    "SHORT_DATE_FORMAT": "m/d/Y", 
    "THOUSAND_SEPARATOR": ",", 
    "TIME_FORMAT": "P", 
    "TIME_INPUT_FORMATS": [
      "%H:%M:%S", 
      "%H:%M:%S.%f", 
      "%H:%M"
    ], 
    "YEAR_MONTH_FORMAT": "F Y"
  };

  django.get_format = function (format_type) {
    var value = django.formats[format_type];
    if (typeof(value) == 'undefined') {
      return format_type;
    } else {
      return value;
    }
  };

  /* add to global namespace */
  globals.pluralidx = django.pluralidx;
  globals.gettext = django.gettext;
  globals.ngettext = django.ngettext;
  globals.gettext_noop = django.gettext_noop;
  globals.pgettext = django.pgettext;
  globals.npgettext = django.npgettext;
  globals.interpolate = django.interpolate;
  globals.get_format = django.get_format;

}(this));

