old_contents: // commonjs code goes here
  import i18next from 'i18next';
  import localstorage from './localstorage';
  
  window.i18n = i18next;
  
  i18next.init({
      lng: 'lang',
      resources: {
          lang: {
              translation: page_params.translation_data,
          },
      },
      nsSeparator: false,
      keySeparator: false,
      interpolation: {
          prefix: "__",
          suffix: "__",
      },
      returnEmptyString: false,  // Empty string is not a valid translation.
  });
  
  // garbage collect all old-style i18n translation maps in localStorage.
  $(function () {
      if (!localstorage.supported()) {
          return;
      }
  
      // this collects all localStorage keys that match the format of:
      //   i18next:dddddddddd:w+ => 1484902202:en
      // these are all language translation strings.
      const translations = Object.keys(localStorage).filter(function (key) {
          return /^i18next:\d{10}:\w+$/.test(key);
      });
  
      // remove cached translations of older versions.
      translations.forEach(function (translation_key) {
          localStorage.removeItem(translation_key);
      });
      return this;
  });
  
new_contents: import i18next from 'i18next';
  
  i18next.init({
      lng: 'lang',
      resources: {
          lang: {
              translation: page_params.translation_data,
          },
      },
      nsSeparator: false,
      keySeparator: false,
      interpolation: {
          prefix: "__",
          suffix: "__",
      },
      returnEmptyString: false,  // Empty string is not a valid translation.
  });
  
  window.i18n = i18next;
  
subject: Remove code to sweep local storage.