| 165 | return newProblems |
| 166 | }), |
| 167 | compareStrings (problems) { |
| 168 | return $.i18n.changeLanguage(this.language, () => { |
| 169 | return problems.forEach(problem => { |
| 170 | const original = problem[this.messageOrHint] |
| 171 | const translated = Problem.prototype.translate(problem[this.messageOrHint]) |
| 172 | let trimmed = translated |
| 173 | for (const regex of Array.from(this.otherRegexes)) { |
| 174 | trimmed = trimmed.replace(regex, '').replace(/^\n/, '') |
| 175 | } |
| 176 | Vue.set(problem, 'translated', translated) |
| 177 | return Vue.set(problem, 'trimmed', trimmed) |
| 178 | }) |
| 179 | }) |
| 180 | }, |
| 181 | slugifyProblem (problem) { |
| 182 | const str = _.string.slugify(problem.trimmed) |
| 183 | return str.split('-').slice(0, 4).join('_') |