Refactor language attribute handling in LanguageProvider to ensure correct translation application and avoid unnecessary updates.
This commit is contained in:
@@ -259,7 +259,8 @@ export function LanguageProvider({ children }: { children: ReactNode }) {
|
|||||||
if (!stored) { stored = new Map(); attributeOriginals.current.set(element, stored) }
|
if (!stored) { stored = new Map(); attributeOriginals.current.set(element, stored) }
|
||||||
if (!stored.has(attribute)) stored.set(attribute, value)
|
if (!stored.has(attribute)) stored.set(attribute, value)
|
||||||
const original = stored.get(attribute) ?? value
|
const original = stored.get(attribute) ?? value
|
||||||
element.setAttribute(attribute, language === 'ru' ? translate(original) : original)
|
const translated = language === 'ru' ? translate(original) : original
|
||||||
|
if (value !== translated) element.setAttribute(attribute, translated)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
applying = false
|
applying = false
|
||||||
|
|||||||
Reference in New Issue
Block a user