Files
cacto a1b123dd13 Редизайн под новую Matrix-стилистику + RU/EN переключатель языка
Новая шапка (sticky, blur, мигающий курсор), нумерованные секции резюме
с полным опытом работы и новым разделом «Образование», карточки
проектов в стиле drwxr-xr-x, более яркий дождь на фоне. Добавлен
i18n-модуль (frontend/js/i18n.js) с переключателем EN/RU: резюме и
проекты полностью переведены, в игре переведены статичные подписи
интерфейса лобби и боя (данные от сервера остаются на русском).
2026-08-09 21:42:57 +05:00

31 lines
950 B
JavaScript

const KEY = 'cacto-lang';
export function getLang() {
return localStorage.getItem(KEY) === 'en' ? 'en' : 'ru';
}
export function setLang(lang) {
localStorage.setItem(KEY, lang);
document.documentElement.lang = lang;
}
// Вешает обработчик на кнопку #lang-toggle в шапке и синхронизирует её
// подпись (показываем язык, НА который переключит клик, а не текущий).
export function initLangToggle(onChange) {
document.documentElement.lang = getLang();
const btn = document.getElementById('lang-toggle');
if (!btn) return;
const sync = () => {
btn.textContent = getLang() === 'ru' ? 'EN' : 'RU';
};
sync();
btn.addEventListener('click', () => {
setLang(getLang() === 'ru' ? 'en' : 'ru');
sync();
window.dispatchEvent(new CustomEvent('cacto:langchange', { detail: getLang() }));
onChange?.(getLang());
});
}