<commit_before>function isBetween(n, start, end) {
  return typeof n === typeof start && start <= n && n <= end;
}

plural = function(n) {
  if ((isBetween((n % 10), 2, 4)) && !(isBetween((n % 100), 12, 14))) {
    return 'few';
  }
  if (n !== 1 && (isBetween((n % 10), 0, 1)) ||
      (isBetween((n % 10), 5, 9)) ||
        (isBetween((n % 100), 12, 14))) {
    return 'many';
  }
  if (n === 1) {
    return 'one';
  }
  return 'other';
};

pickRandom = function(arr) {
  return arr[Math.floor(Math.random() * arr.length)];
};

howMany = function(num, trans) {
  return num + ' ' + trans[plural(num)];
};

getThanksString = function(thanks) {
  return thanks ?
    howMany(thanks, translations.thanks) : '';
};

getVotesString = function(prefix, sep, upvotes, downvotes) {
  var votes = [
    [upvotes, translations.upvotes],
    [downvotes, translations.downvotes]
  ].filter(
    function(elem) { return elem[0] !== 0; }).map(
      Function.prototype.apply.bind(howMany, null));
  return votes.length ? prefix + votes.join(sep) : '';
};

translations = {
  thanks: {
    one: 'podziękowanie',
    few: 'podziękowania',
    many: 'podziękowań',
  },
  upvotes: {
    one: 'potwierdzenie',
    few: 'potwierdzenia',
    many: 'potwierdzeń',
  },
  downvotes: {
    one: 'odwołanie',
    few: 'odwołania',
    many: 'odwołań',
  },
  reports: {
    one: 'zgłoszenie',
    few: 'zgłoszenia',
    many: 'zgłoszeń',
  },
  peopleSent: {
    one: 'osoba wysłała',
    few: 'osoby wysłały',
    many: 'osób wysłało',
  }
};

taunts = [
  'Wszystko OK.',
  'Jest super.',
  'Jest w porządku, serio.',
  'Brak zgłoszeń oznacza… brak zgłoszeń.',
  'Jeśli nie ma rozwiązania, to nie ma problemu.',
  'Chińczyki trzymają się mocno',
  'Dobrego dnia!',
];

toasts = {
  created: [
    'Dzięki!',
    'Zgłoszenie rozesłane.',
    'Dobra robota.',
    'Powodzenia.',
  ],
  upvoted: [
    'Dzięki, potwierdzone.',
    'Zgłoszenie potwierdzone.',
    'Dobra robota.',
    'A więc jednak.',
  ],
  downvoted: [
    'Dzięki, odwołane.',
    'Zgłoszenie odwołane.',
    'Dobra robota.',
    'Uff!',
  ],
  canceled: [
    'Nie sądzę.',
    'Puff!',
    'Pomyłka?',
  ],
  removed: [
    'Puff!',
    'Było — i nie ma.',
    'Zgłoszenie usunięte',
    'Pomyłka?',
    'I po problemie.',
  ],
  thanked: [
    'Dobrego dnia!',
    'Komuś będzie miło.',
    'Sprzyjających wiatrów!',
  ],
  archived: [
    'Zgłoszenie zarchiwizowane',<commit_msg>remove unused toasts<commit_after>function isBetween(n, start, end) {
  return typeof n === typeof start && start <= n && n <= end;
}

plural = function(n) {
  if ((isBetween((n % 10), 2, 4)) && !(isBetween((n % 100), 12, 14))) {
    return 'few';
  }
  if (n !== 1 && (isBetween((n % 10), 0, 1)) ||
      (isBetween((n % 10), 5, 9)) ||
        (isBetween((n % 100), 12, 14))) {
    return 'many';
  }
  if (n === 1) {
    return 'one';
  }
  return 'other';
};

pickRandom = function(arr) {
  return arr[Math.floor(Math.random() * arr.length)];
};

howMany = function(num, trans) {
  return num + ' ' + trans[plural(num)];
};

getThanksString = function(thanks) {
  return thanks ?
    howMany(thanks, translations.thanks) : '';
};

getVotesString = function(prefix, sep, upvotes, downvotes) {
  var votes = [
    [upvotes, translations.upvotes],
    [downvotes, translations.downvotes]
  ].filter(
    function(elem) { return elem[0] !== 0; }).map(
      Function.prototype.apply.bind(howMany, null));
  return votes.length ? prefix + votes.join(sep) : '';
};

translations = {
  thanks: {
    one: 'podziękowanie',
    few: 'podziękowania',
    many: 'podziękowań',
  },
  upvotes: {
    one: 'potwierdzenie',
    few: 'potwierdzenia',
    many: 'potwierdzeń',
  },
  downvotes: {
    one: 'odwołanie',
    few: 'odwołania',
    many: 'odwołań',
  },
  reports: {
    one: 'zgłoszenie',
    few: 'zgłoszenia',
    many: 'zgłoszeń',
  },
  peopleSent: {
    one: 'osoba wysłała',
    few: 'osoby wysłały',
    many: 'osób wysłało',
  }
};

taunts = [
  'Wszystko OK.',
  'Jest super.',
  'Jest w porządku, serio.',
  'Brak zgłoszeń oznacza… brak zgłoszeń.',
  'Jeśli nie ma rozwiązania, to nie ma problemu.',
  'Chińczyki trzymają się mocno',
  'Dobrego dnia!',
];

toasts = {
  created: [
    'Dzięki!',
    'Zgłoszenie rozesłane.',
    'Dobra robota.',
    'Powodzenia.',
  ],
  removed: [
    'Puff!',
    'Było — i nie ma.',
    'Zgłoszenie usunięte',
    'Pomyłka?',
    'I po problemie.',
  ],
  archived: [
    'Zgłoszenie zarchiwizowane',
{'fraction_non_alphanumeric': 0.1866904868244752, 'fraction_numerical': 0.013398838767306834, 'mean_word_length': 2.925503943908852, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4359241', 'n_tokens_mistral': 1952, 'n_tokens_neox': 1883, 'n_words': 394}