Estoy trabajando en una opción de traducción simple, pero estoy atascado en caso de que tenga títulos duplicados. Cuando los títulos son diferentes, funciona bien, pero cuando tengo duplicados, no los traduce.
Aquí está la función:
function Translate(language, availableLanguages) { let titles = [...document.getElementsByClassName('translate')] let titlesValues = [] titles.forEach((title) => { titlesValues.push(title.textContent) }) for (let i = 0; i < availableLanguages.length; i++) { const languageObject = availableLanguages[i]; titlesValues.forEach((title) => { if(Object.values(languageObject).includes(title)) { titles[titlesValues.indexOf(title)].textContent = languageObject[language] } }) } }Aquí están los idiomas entrantes json:
{ "Languages": [ "English", "German" ] }Aquí está el json de idiomas disponibles:
[ { "Key": "Hello", "English": "Hello", "German": "Hallo" } ]