

(function (globals) {

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

  
  django.pluralidx = function (count) { return (count == 1) ? 0 : 1; };
  

  
  /* gettext library */

  django.catalog = {
    "%(language_code)s LingQ Twitter Feed": "%(language_code)s LingQ Twitter Feed", 
    "%(sel)s of %(cnt)s selected": [
      "%(sel)s of %(cnt)s selected", 
      "%(sel)s of %(cnt)s selected"
    ], 
    "6 a.m.": "6 a.m.", 
    "Add Video": "Add Video", 
    "Add a note to your tutor/student(s)": "Add a note to your tutor/student(s)", 
    "Answer": "Answer", 
    "Are you sure you want to cancel this conversation?": "Are you sure you want to cancel this conversation?", 
    "Are you sure you want to delete %(language_title)s?": "Are you sure you want to delete %(language_title)s?", 
    "Attach Conversation": "Attach Conversation", 
    "By clicking the button below you are deleting all data from ": "By clicking the button below you are deleting all data from ", 
    "Cancel": "Cancel", 
    "Check spelling": "Check spelling", 
    "Choose level from filters at right to see available courses.": "Choose level from filters at right to see available courses.", 
    "Click on blue words": "Click on blue words", 
    "Click on the correct meaning of the displayed term from the options below.": "Click on the correct meaning of the displayed term from the options below.", 
    "Click to continue": "Click to continue", 
    "Conversation request submitted. Check your email for your tutor's response.": "Conversation request submitted. Check your email for your tutor's response.", 
    "Do you really want to delete this post?": "Do you really want to delete this post?", 
    "Do you really want to delete this thread?": "Do you really want to delete this thread?", 
    "Do you really want to remove this lesson?": "Do you really want to remove this lesson?", 
    "Don't show this popup again": "Don't show this popup again", 
    "Error: ": "Error: ", 
    "FREE": "FREE", 
    "Fill in the blank in this sentence by clicking on the correct answer below.": "Fill in the blank in this sentence by clicking on the correct answer below.", 
    "Filter": "Filter", 
    "Finish": "Finish", 
    "Got it.": "Got it.", 
    "Hide": "Hide", 
    "I know %(words)s %(language_title)s words! Woot! Give it a try": "I know %(words)s %(language_title)s words! Woot! Give it a try", 
    "I understand. Delete my %(language_title)s data": "I understand. Delete my %(language_title)s data", 
    "In Google Play": "In Google Play", 
    "Internal Error. Try again": "Internal Error. Try again", 
    "Internal error": "Internal error", 
    "LingQ App": "LingQ App", 
    "Loading...": "Loading...", 
    "Midnight": "Midnight", 
    "My %(language_title)s level is %(level_title)s! How many do you know? Measure your language skills with this fun test": "My %(language_title)s level is %(level_title)s! How many do you know? Measure your language skills with this fun test", 
    "No LingQs for dictation.": "No LingQs for dictation.", 
    "No LingQs remain in this session.": "No LingQs remain in this session.", 
    "No LingQs to cloze test.": "No LingQs to cloze test.", 
    "No LingQs to flashcard.": "No LingQs to flashcard.", 
    "No LingQs to test.": "No LingQs to test.", 
    "No flashcards left in session.": "No flashcards left in session.", 
    "No results to display. Try another search.": "No results to display. Try another search.", 
    "No test available for this language": "No test available for this language", 
    "No, do not cancel": "No, do not cancel", 
    "No, thanks": "No, thanks", 
    "Noon": "Noon", 
    "Not allowed": "Not allowed", 
    "Now": "Now", 
    "On the App Store": "On the App Store", 
    "Please enter tags separated by spaces": "Please enter tags separated by spaces", 
    "Please save this lesson first": "Please save this lesson first", 
    "Please select a language to start.": "Please select a language to start.", 
    "Please select a session first": "Please select a session first", 
    "Please select an image": "Please select an image", 
    "Please select cropping area. Press 'Finish' when done.": "Please select cropping area. Press 'Finish' when done.", 
    "Please wait...": "Please wait...", 
    "Popup Blocker is enabled! Please add this site to your exception list.": "Popup Blocker is enabled! Please add this site to your exception list.", 
    "Proficiency Test...": "Proficiency Test...", 
    "Read the lesson.<br>If you don't know a word, just click on it.": "Read the lesson.<br>If you don't know a word, just click on it.", 
    "Resources was out of date.": "Resources was out of date.", 
    "Result": "Result", 
    "Saving LingQ...": "Saving LingQ...", 
    "Saving...": "Saving...", 
    "Searching dictionary...": "Searching dictionary...", 
    "Select one or more LingQs": "Select one or more LingQs", 
    "Share Challenge": "Share Challenge", 
    "Show": "Show", 
    "Sorry. There was an error on the server.": "Sorry. There was an error on the server.", 
    "Submission not found. ": "Submission not found. ", 
    "Submit...": "Submit...", 
    "This conversation takes place in less than 24 hours.": "This conversation takes place in less than 24 hours.", 
    "Type into this box to filter down the list of available %s.": "Type into this box to filter down the list of available %s.", 
    "Type the text": "Type the text", 
    "Type what you hear": "Type what you hear", 
    "Upload Image": "Upload Image", 
    "Url unlinkeable": "Url unlinkeable", 
    "View": "View", 
    "X Close": "X Close", 
    "Yes, confirm cancellation": "Yes, confirm cancellation", 
    "Yes, share it": "Yes, share it", 
    "You can move highlighted area and change it's size with the mouse.": "You can move highlighted area and change it's size with the mouse.", 
    "You cannot uncheck this box.": "You cannot uncheck this box.", 
    "You have already signed up for the challenge ": "You have already signed up for the challenge ", 
    "You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button.": "You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button.", 
    "You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.": "You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.", 
    "You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.": "You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.", 
    "You must pick times that are adjoining.": "You must pick times that are adjoining.", 
    "You will be able to set the appropriate size.": "You will be able to set the appropriate size.", 
    "You will not be able to cancel your attendance if you sign-up.": "You will not be able to cancel your attendance if you sign-up.", 
    "close": "close", 
    "for %(language_title)s Speakers": "for %(language_title)s Speakers", 
    "importing...": "importing...", 
    "leaving...": "leaving...", 
    "less common": "less common", 
    "loading resources......": "loading resources......", 
    "loading...": "loading...", 
    "removing...": "removing...", 
    "restarting...": "restarting...", 
    "sending...": "sending...", 
    "sharing...": "sharing...", 
    "signing up...": "signing up...", 
    "signup...": "signup...", 
    "submit...": "submit...", 
    "updating...": "updating..."
  };

  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", 
      "%b %d %Y", 
      "%b %d, %Y", 
      "%d %b %Y", 
      "%d %b, %Y", 
      "%B %d %Y", 
      "%B %d, %Y", 
      "%d %B %Y", 
      "%d %B, %Y"
    ], 
    "DECIMAL_SEPARATOR": ".", 
    "FIRST_DAY_OF_WEEK": "0", 
    "MONTH_DAY_FORMAT": "F j", 
    "NUMBER_GROUPING": "0", 
    "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));

