

'use strict';
{
  const globals = this;
  const django = globals.django || (globals.django = {});

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

  /* gettext library */

  django.catalog = django.catalog || {};
  
  const newcatalog = {
    " of ": " of ",
    "(required)": "(required)",
    "1 active filter": "1 active filter",
    "A cancel reason must be given.": "A cancel reason must be given.",
    "Accept all": "Accept all",
    "According to the GDPR and the EDBP Guidelines, we can store cookies on your device if they are strictly necessary for the operation of this site. You can at any time change or withdraw your consent from the Cookie Declaration on our website by clicking on \"Privacy Controls\" at the bottom of the page.": "According to the GDPR and the EDBP Guidelines, we can store cookies on your device if they are strictly necessary for the operation of this site. You can at any time change or withdraw your consent from the Cookie Declaration on our website by clicking on \"Privacy Controls\" at the bottom of the page.",
    "Active filters": "Active filters",
    "Add to favorites": "Add to favorites",
    "Adding a description text and some tags will help you to easily find and categorize your collection later.": "Adding a description text and some tags will help you to easily find and categorize your collection later.",
    "Admin interface": "Admin interface",
    "Advanced Cycling Maps": "Advanced Cycling Maps",
    "All routes in": "All routes in",
    "An error occurred while loading the support chat. Please contact <a href=\"mailto:support@bikemap.net\">support@bikemap.net</a>.": "An error occurred while loading the support chat. Please contact <a href=\"mailto:support@bikemap.net\">support@bikemap.net</a>.",
    "An error occurred while processing your transaction. Please contact <a href=\"mailto:office@bikemap.net\">support</a>": "An error occurred while processing your transaction. Please contact <a href=\"mailto:office@bikemap.net\">support</a>",
    "Apps": "Apps",
    "Are you sure you want to cancel your registration?": "Are you sure you want to cancel your registration?",
    "Are you sure?": "Are you sure?",
    "Are you sure? By downgrading your account, you will lose your downloaded Offline maps and access to all Bikemap Premium features:": "Are you sure? By downgrading your account, you will lose your downloaded Offline maps and access to all Bikemap Premium features:",
    "As a Premium user you can join our <b>In-App Giveaway</b> through Bikemap for iOS and Android. For this exclusive giveaway, we're offering <b>one TENWAYS CGO009 e-bike</b>, <b>8x2 tickets to a BVB football match</b> as well as <b>5 upgrades to Bikemap Lifetime Premium</b>.": "As a Premium user you can join our <b>In-App Giveaway</b> through Bikemap for iOS and Android. For this exclusive giveaway, we're offering <b>one TENWAYS CGO009 e-bike</b>, <b>8x2 tickets to a BVB football match</b> as well as <b>5 upgrades to Bikemap Lifetime Premium</b>.",
    "Ascent": "Ascent",
    "Authorize Garmin Connect to sync your cycling routes to Bikemap.": "Authorize Garmin Connect to sync your cycling routes to Bikemap.",
    "Avatar": "Avatar",
    "Back to cycling? You can reactivate your Bikemap Premium membership now to get access to all exclusive features again.": "Back to cycling? You can reactivate your Bikemap Premium membership now to get access to all exclusive features again.",
    "Beautiful.": "Beautiful.",
    "Bike type": "Bike type",
    "Bike-Type Optimised Routing": "Bike-Type Optimised Routing",
    "Bikemap App": "Bikemap App",
    "Bikemap values its users privacy, and therefore request your permission to use Cookies to process personal data like IP-address or browser information in order to personalise the advertisement you see. Cookies are small text files that can be used by websites to make a user's experience more efficient.": "Bikemap values its users privacy, and therefore request your permission to use Cookies to process personal data like IP-address or browser information in order to personalise the advertisement you see. Cookies are small text files that can be used by websites to make a user's experience more efficient.",
    "Billing Details": "Billing Details",
    "Cancel": "Cancel",
    "Cancel Membership": "Cancel Membership",
    "Cancel Subscription": "Cancel Subscription",
    "Check out this route on Bikemap!": "Check out this route on Bikemap!",
    "Choose a password": "Choose a password",
    "Choose authentication method": "Choose authentication method",
    "City bike": "City bike",
    "Close": "Close",
    "Collection": "Collection",
    "Confirm": "Confirm",
    "Confirm spam": "Confirm spam",
    "Confirm your email address": "Confirm your email address",
    "Connect Garmin with Bikemap": "Connect Garmin with Bikemap",
    "Continue with Apple": "Continue with Apple",
    "Continue with Facebook": "Continue with Facebook",
    "Continue with Google": "Continue with Google",
    "Continue with your mail": "Continue with your mail",
    "Copied to Clipboard!": "Copied to Clipboard!",
    "Copied to clipboard": "Copied to clipboard",
    "Copy Link": "Copy Link",
    "Couldn't remove route from collection.": "Couldn't remove route from collection.",
    "Currently not cycling?": "Currently not cycling?",
    "Custom Bike Computer": "Custom Bike Computer",
    "Cycling Navigation & Map": "Cycling Navigation & Map",
    "Cycling is more fun together. Join me on Bikemap!": "Cycling is more fun together. Join me on Bikemap!",
    "Debug state": "Debug state",
    "Delete Account": "Delete Account",
    "Delete cover picture": "Delete cover picture",
    "Delete profile picture": "Delete profile picture",
    "Delete route collection": "Delete route collection",
    "Delete training entry": "Delete training entry",
    "Delete user": "Delete user",
    "Descent": "Descent",
    "Destination": "Destination",
    "Detailed Route Previews": "Detailed Route Previews",
    "Details must be given if you select other reason.": "Details must be given if you select other reason.",
    "Didn't meet my expectations.": "Didn't meet my expectations.",
    "Disconnect": "Disconnect",
    "Discover more routes in App": "Discover more routes in App",
    "Distance": "Distance",
    "Do you really want to delete this route collection?": "Do you really want to delete this route collection?",
    "Do you really want to delete this route from the collection?": "Do you really want to delete this route from the collection?",
    "Do you really want to delete your Bikemap account?": "Do you really want to delete your Bikemap account?",
    "Do you really want to delete your cover picture?": "Do you really want to delete your cover picture?",
    "Do you really want to delete your profile picture?": "Do you really want to delete your profile picture?",
    "Do you really want to remove this training entry?": "Do you really want to remove this training entry?",
    "Done!": "Done!",
    "Downgrade": "Downgrade",
    "Edit training entry": "Edit training entry",
    "End tutorial": "End tutorial",
    "Enter a nice title and hit 'next'.": "Enter a nice title and hit 'next'.",
    "Enter some description text and/or tags and hit \"next\".": "Enter some description text and/or tags and hit \"next\".",
    "Enter your information for your new Bikemap account": "Enter your information for your new Bikemap account",
    "Error": "Error",
    "Error: Server Error": "Error: Server Error",
    "Exclusive In-App Giveaway for Premium Users": "Exclusive In-App Giveaway for Premium Users",
    "Export Routes": "Export Routes",
    "Facebook": "Facebook",
    "Fall Detection": "Fall Detection",
    "Feet / miles": "Feet / miles",
    "Filters": "Filters",
    "Find routes": "Find routes",
    "First, let's set a meaningful title.": "First, let's set a meaningful title.",
    "Garmin Connect": "Garmin Connect",
    "Geolocate": "Geolocate",
    "Giveaway": "Giveaway",
    "Go Premium": "Go Premium",
    "Go Premium with {percentage} off": "Go Premium with {percentage} off",
    "Gorgeous!": "Gorgeous!",
    "Gravel": "Gravel",
    "Home": "Home",
    "I'm having too many technical issues.": "I'm having too many technical issues.",
    "I'm not using it enough.": "I'm not using it enough.",
    "If you have any questions regarding our cookies, you can contact <a href=\"mailto:privacy@bikemap.net\">privacy@bikemap.net</a> stating your consent ID and date.": "If you have any questions regarding our cookies, you can contact <a href=\"mailto:privacy@bikemap.net\">privacy@bikemap.net</a> stating your consent ID and date.",
    "Install": "Install",
    "Invalid payment details": "Invalid payment details",
    "Invite Link": "Invite Link",
    "Invite friends with your personal link:": "Invite friends with your personal link:",
    "Invite more friends:": "Invite more friends:",
    "It wouldn't be the same without you. Could you tell us why you want to cancel?": "It wouldn't be the same without you. Could you tell us why you want to cancel?",
    "Join me on Bikemap and earn Premium": "Join me on Bikemap and earn Premium",
    "Language": "Language",
    "Learn more about who we are, how you can contact us, how we process your data, and detailed information on all our cookies by visiting our <a href=\"https://www.bikemap.net/en/dataprivacy/\">Privacy Policy</a> and our <a href=\"https://www.bikemap.net/en/cookies/\">Cookie Declaration</a>.": "Learn more about who we are, how you can contact us, how we process your data, and detailed information on all our cookies by visiting our <a href=\"https://www.bikemap.net/en/dataprivacy/\">Privacy Policy</a> and our <a href=\"https://www.bikemap.net/en/cookies/\">Cookie Declaration</a>.",
    "Length": "Length",
    "Let's walk through this screen and set up a cool collection in 5 quick steps.": "Let's walk through this screen and set up a cool collection in 5 quick steps.",
    "List view": "List view",
    "Log in to view and share your personal invitation link.": "Log in to view and share your personal invitation link.",
    "Log out": "Log out",
    "Looks like you lost your internet connection. Please try again.": "Looks like you lost your internet connection. Please try again.",
    "Lovely.": "Lovely.",
    "MTB": "MTB",
    "Mail": "Mail",
    "Make sure to add a title image that represents the beauty of your routes.": "Make sure to add a title image that represents the beauty of your routes.",
    "Map style": "Map style",
    "Map view": "Map view",
    "Mark all routes of this user as spam": "Mark all routes of this user as spam",
    "Mark as not spam": "Mark as not spam",
    "Mark as spam": "Mark as spam",
    "Membership could not be paused": "Membership could not be paused",
    "Membership could not be reactivated": "Membership could not be reactivated",
    "Merge Account": "Merge Account",
    "Meters / km": "Meters / km",
    "My Routes": "My Routes",
    "Navigate to": "Navigate to",
    "Necessary": "Necessary",
    "New Route": "New Route",
    "Next": "Next",
    "No charge while your membership is paused.": "No charge while your membership is paused.",
    "No connection": "No connection",
    "No routes added to this collection yet.": "No routes added to this collection yet.",
    "No routes found \ud83d\ude14": "No routes found \ud83d\ude14",
    "No, please cancel": "No, please cancel",
    "Now choose a visibility setting for your collection.": "Now choose a visibility setting for your collection.",
    "OK, let's go": "OK, let's go",
    "Offer & Giveaway": "Offer & Giveaway",
    "Offline Maps & Routes": "Offline Maps & Routes",
    "Oh no. An Error occurred while uploading {file}, the server responded with: {message}": "Oh no. An Error occurred while uploading {file}, the server responded with: {message}",
    "Oh no. An Error occurred while uploading {file}, the server responded with: {status}": "Oh no. An Error occurred while uploading {file}, the server responded with: {status}",
    "Oh no. An Error occurred while uploading {file}. {message}": "Oh no. An Error occurred while uploading {file}. {message}",
    "Old password": "Old password",
    "Only JPG and PNG files are supported.": "Only JPG and PNG files are supported.",
    "Open Bikemap for iOS or Android": "Open Bikemap for iOS or Android",
    "Other": "Other",
    "POIBOY": "POIBOY",
    "Password": "Password",
    "Pause once for up to 2 months.": "Pause once for up to 2 months.",
    "Paved": "Paved",
    "Pay once and get access to all exclusive Bikemap Premium features for 3 years. Enjoy all advantages for {price}.": "Pay once and get access to all exclusive Bikemap Premium features for 3 years. Enjoy all advantages for {price}.",
    "Payment Processor Error": "Payment Processor Error",
    "Payment error": "Payment error",
    "Payment failed": "Payment failed",
    "Plan a route": "Plan a route",
    "Please check this box to delete your account.": "Please check this box to delete your account.",
    "Please make sure to fill in complete and correct credit card details.": "Please make sure to fill in complete and correct credit card details.",
    "Please provide a title for your route collection!": "Please provide a title for your route collection!",
    "Please provide further details.": "Please provide further details.",
    "Please repeat your new password": "Please repeat your new password",
    "Please use another payment method or try again.": "Please use another payment method or try again.",
    "Please wait until this process has completed.": "Please wait until this process has completed.",
    "Popularity": "Popularity",
    "Premium Badge": "Premium Badge",
    "Premium Days": "Premium Days",
    "Premium Loop": "Premium Loop",
    "Premium Support": "Premium Support",
    "Privacy Controls": "Privacy Controls",
    "Private collections can only be seen by you while public collections can be seen by all Bikemap users.": "Private collections can only be seen by you while public collections can be seen by all Bikemap users.",
    "Pro tip": "Pro tip",
    "Promotion": "Promotion",
    "Reactivate Bikemap Premium anytime.": "Reactivate Bikemap Premium anytime.",
    "Reactivate Membership": "Reactivate Membership",
    "Redeem the voucher code {voucher} to save {percentage} on your Yearly Bikemap Premium membership, unlock all exclusive features and get the chance to win a <b>TENWAYS CGO009 e-bike</b> & more. As a Premium user you will be able join our <b>In-App Giveaway</b> through Bikemap for iOS and Android.": "Redeem the voucher code {voucher} to save {percentage} on your Yearly Bikemap Premium membership, unlock all exclusive features and get the chance to win a <b>TENWAYS CGO009 e-bike</b> & more. As a Premium user you will be able join our <b>In-App Giveaway</b> through Bikemap for iOS and Android.",
    "Refer a Friend": "Refer a Friend",
    "Regions": "Regions",
    "Relevance": "Relevance",
    "Remove from favorites": "Remove from favorites",
    "Remove route": "Remove route",
    "Remove this filter": "Remove this filter",
    "Reset Search": "Reset Search",
    "Reset bearing to north": "Reset bearing to north",
    "Road bike": "Road bike",
    "Round-trip route": "Round-trip route",
    "Route Collections": "Route Collections",
    "Route Title": "Route Title",
    "Route collection image": "Route collection image",
    "Route details": "Route details",
    "Route image": "Route image",
    "Route title": "Route title",
    "Route type": "Route type",
    "Routes": "Routes",
    "Save": "Save",
    "Save selection": "Save Selection",
    "Save {percentage} on Premium + Chance to Win an E-Bike": "Save {percentage} on Premium + Chance to Win an E-Bike",
    "Search": "Search",
    "Search all {object}.": "Search all {object}.",
    "Search as I move the map": "Search as I move the map",
    "Search for routes in...": "Search for routes in...",
    "Search for some routes and use the <em>Add to</em> button to add them to your collection.": "Search for some routes and use the <em>Add to</em> button to add them to your collection.",
    "See Details": "See Details",
    "Send us a message": "Send us a message",
    "Send via email": "Send via email",
    "Settings": "Settings",
    "Share on Facebook": "Share on Facebook",
    "Share on Twitter": "Share on Twitter",
    "Show debug info": "Show debug info",
    "Show me potential spam": "Show me potential spam",
    "Show more": "Show more",
    "Sign Up or Log in": "Sign up or Log in",
    "Sign up for free and add routes to your favorites": "Sign up for free and add routes to your favorites",
    "Sign up here": "Sign up here",
    "Sign up or Log in": "Sign up or Log in",
    "Skip": "Skip",
    "Sorry, sending mails is currently not possible please try again later": "Sorry, sending mails is currently not possible please try again later",
    "Sort by": "Sort by",
    "Start": "Start",
    "Starting point": "Starting point",
    "Statistics": "Statistics",
    "Stay Premium": "Stay Premium",
    "Stay in the Premium Loop:": "Stay in the Premium Loop:",
    "Subscribe": "Subscribe",
    "Surface": "Surface",
    "The giveaway closes on March 31, 2024. Winners will be drawn the following week.": "The giveaway closes on March 31, 2024. Winners will be drawn the following week.",
    "The last thing to do is to add some routes.": "The last thing to do is to add some routes.",
    "There are no more spam reports to review.": "There are no more spam reports to review.",
    "There aren't any routes matching your search criteria. Try adjusting your filters or search for another route title.": "There aren't any routes matching your search criteria. Try adjusting your filters or search for another route title.",
    "There was an unexpected error. We are sorry! Please try again!": "There was an unexpected error. We are sorry! Please try again!",
    "There will be no refund for the remaining days if you delete your account now.": "There will be no refund for the remaining days if you delete your account now.",
    "This area sums up various statistics of all routes within a collection.": "This area sums up various statistics of all routes within a collection.",
    "This cannot be undone!": "This cannot be undone!",
    "This file exceeds the maximum allowed filesize ({{maxFilesize}} MiB): {{filesize}} MiB": "This file exceeds the maximum allowed filesize ({{maxFilesize}} MiB): {{filesize}} MiB",
    "This is a route collection. Route collections are a great way to organize routes.": "This is a route collection. Route collections are a great way to organize routes.",
    "This route is": "This route is",
    "This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages. These technologies may access your device and help us to show you more relevant ads and improve your internet experience. We also use it in order to measure results or align our website content.": "This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages. These technologies may access your device and help us to show you more relevant ads and improve your internet experience. We also use it in order to measure results or align our website content.",
    "This will delete the user. This action is not reversible!.": "This will delete the user. This action is not reversible!.",
    "This will mark all routes as spam that are owned by the same user.": "This will mark all routes as spam that are owned by the same user.",
    "Toggle fullscreen": "Toggle fullscreen",
    "Toggle main navigation": "Toggle main navigation",
    "Too complicated.": "Too complicated.",
    "Too expensive.": "Too expensive.",
    "Turn-by-turn Navigation": "Turn-by-turn Navigation",
    "Twitter": "Twitter",
    "Unit": "Unit",
    "Unlock all exclusive features with Bikemap Premium": "Unlock all exclusive features with Bikemap Premium",
    "Unpaved": "Unpaved",
    "Upgrade Membership": "Upgrade Membership",
    "Upload Failed": "Upload Failed",
    "Upload GPX/KML file": "Upload GPX/KML file",
    "Upload failed": "Upload failed",
    "User Avatar": "User Avatar",
    "Waiting for SOFORT Payment": "Waiting for SOFORT Payment",
    "Warning": "Warning",
    "Watch the ascent value and make sure not to overestimate yourself when adding routes to your \"Trans-Alps Crossing\" collection... ;-)": "Watch the ascent value and make sure not to overestimate yourself when adding routes to your \"Trans-Alps Crossing\" collection... ;-)",
    "We just sent you another verification email. Please check your inbox and click the link to verify your email address!": "We just sent you another verification email. Please check your inbox and click the link to verify your email address!",
    "Welcome back!": "Welcome back!",
    "Welcome to Bikemap": "Welcome to Bikemap",
    "Yes, pause membership": "Yes, pause membership",
    "Yes, upgrade now": "Yes, upgrade now",
    "You can pause your membership and simply reactivate Bikemap Premium at a later point in time.": "You can pause your membership and simply reactivate Bikemap Premium at a later point in time.",
    "You can send or post this URL now to share the route.": "You can send or post this URL now to share the route.",
    "You have an <strong>active Bikemap Premium membership</strong>.": "You have an <strong>active Bikemap Premium membership</strong>.",
    "You have been disconnected from Garmin Connect.": "You have been disconnected from Garmin Connect.",
    "You need a free Bikemap account first.": "You need a free Bikemap account first.",
    "You're all set!": "You're all set!",
    "Your Garmin activities will no longer sync with your Bikemap profile. This will not affect any previously synced Garmin activities.": "Your Garmin activities will no longer sync with your Bikemap profile. This will not affect any previously synced Garmin activities.",
    "Your new password": "Your new password",
    "Your payment was not successful. Please try again.": "Your payment was not successful. Please try again.",
    "Zoom in": "Zoom in",
    "Zoom out": "Zoom out",
    "at least 1 lowercase character": "at least 1 lowercase character",
    "at least 1 numeric character": "at least 1 numeric character",
    "at least 1 uppercase character": "at least 1 uppercase character",
    "at least 8 characters": "at least 8 characters",
    "can't be similar to your name or email address": "can't be similar to your name or email address",
    "confirmed spam": "confirmed spam",
    "day left": "day(s) left",
    "days left": "days left",
    "downhill routes": "downhill routes",
    "earn Premium": "earn Premium",
    "flat routes": "flat routes",
    "hilly routes": "hilly routes",
    "not spam": "not spam",
    "of {days} days": "of {days} days",
    "on Google Play": "on Google Play",
    "potential spam": "potential spam",
    "routes": "routes",
    "routes with {minAsc} - {maxAsc} {percent} ascent and {minDesc} - {maxDesc} {percent} descent": "routes with {minAsc} - {maxAsc} {percent} ascent and {minDesc} - {maxDesc} {percent} descent",
    "routes with {min} - {max} {percent} ascent": "routes with {min} - {max} {percent} ascent",
    "routes with {min} - {max} {percent} descent": "routes with {min} - {max} {percent} descent",
    "save": "save",
    "two entered passwords match": "two entered passwords match",
    "uphill routes": "uphill routes",
    "{count} routes": "{count} routes",
    "{first} - {last} of {count} routes": "{first} - {last} of {count} routes",
    "{num} active filters": "{num} active filters"
  };
  for (const key in newcatalog) {
    django.catalog[key] = newcatalog[key];
  }
  

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

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

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

    django.pgettext = function(context, msgid) {
      let value = django.gettext(context + '\x04' + msgid);
      if (value.includes('\x04')) {
        value = msgid;
      }
      return value;
    };

    django.npgettext = function(context, singular, plural, count) {
      let value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count);
      if (value.includes('\x04')) {
        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",
      "%m/%d/%Y %H:%M:%S",
      "%m/%d/%Y %H:%M:%S.%f",
      "%m/%d/%Y %H:%M",
      "%m/%d/%y %H:%M:%S",
      "%m/%d/%y %H:%M:%S.%f",
      "%m/%d/%y %H:%M",
      "%Y-%m-%d"
    ],
    "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": 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) {
      const 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;

    django.jsi18n_initialized = true;
  }
};

