File: /var/www/quadcode/one-time-popup/src/utils/translations/translation.ts
import { webinarsTranslations } from './translations-data/webinarsTranslations.ts';
import { formTranslations } from './translations-data/formTranslations.ts';
import type { ITranslations } from '../../types/translations/ITranslations.type.ts';
const translations: ITranslations = {
...webinarsTranslations,
...formTranslations,
};
export const $t = (lang: string, key: string) => {
return translations[key] ? translations[key][lang] : key;
};
export const staticHtmlLanguageParse = (document: ShadowRoot, lang: string) => {
const pageText = document.querySelectorAll('[data-lang]');
Array.from(pageText).forEach((textNode) => {
const key = textNode.getAttribute('data-lang');
if (key) {
if (['INPUT', 'TEXTAREA'].includes(textNode.tagName)) {
(textNode as HTMLInputElement).placeholder = $t(lang || 'en', key.replace('lng-', ''));
} else {
textNode.innerHTML = $t(lang || 'en', key.replace('lng-', ''));
}
}
});
};