diff --git a/web-app/frontend/src/instruments/helpers/AddNameManager.ts b/web-app/frontend/src/instruments/helpers/AddNameManager.ts index 6d153f6f..f3f02cce 100644 --- a/web-app/frontend/src/instruments/helpers/AddNameManager.ts +++ b/web-app/frontend/src/instruments/helpers/AddNameManager.ts @@ -2,6 +2,12 @@ import { WikidataLanguage, AddNameForm, NameEntry } from '../Types'; import { NameValidator } from './NameValidator'; import { Modal } from 'bootstrap'; +function normalize(str: string): string { + return str + .normalize('NFD') // split accents + .replace(/[\u0300-\u036f]/g, ''); // remove accents +} + export class AddNameManager { private rowIndex: number = 1; private languages: WikidataLanguage[]; @@ -20,12 +26,22 @@ export class AddNameManager { row.classList.add('row', 'mb-1', 'name-row'); // Create datalist options dynamically using the languages - let datalistOptions: string = this.languages - .map( - (language: WikidataLanguage) => ` - - `, - ) + let datalistOptions = this.languages + .map((language) => { + const normalizedAutonym = normalize(language.autonym); + // Only include normalized version if it's different + const displayNormalized = + normalizedAutonym !== language.autonym + ? ` (${normalizedAutonym})` + : ''; + + return ` + + `; + }) .join(''); row.innerHTML = `