This commit is contained in:
Rocky_Pup
2025-08-04 23:53:01 -04:00
parent 25df9ae73f
commit 817eb4c862

View File

@@ -1,6 +1,26 @@
// Текущий язык (по умолчанию русский)
let currentLanguage = localStorage.getItem('language') || 'ru';
// Функция для автоопределения языка браузера
function detectBrowserLanguage() {
// Получаем список предпочитаемых языков пользователя
const browserLanguages = navigator.languages || [navigator.language || navigator.userLanguage];
// Доступные языки в приложении
const availableLanguages = Object.keys(translations);
// Ищем точное совпадение (например, 'ru' или 'en')
for (let browserLang of browserLanguages) {
const langCode = browserLang.split('-')[0].toLowerCase(); // берем только код языка без региона
if (availableLanguages.includes(langCode)) {
return langCode;
}
}
// Если точного совпадения нет, возвращаем русский по умолчанию
return 'en';
}
// Текущий язык (автоопределение при первом посещении, иначе из localStorage)
let currentLanguage = localStorage.getItem('language') || detectBrowserLanguage();
@@ -15,6 +35,9 @@ function updateLanguage(lang) {
document.getElementById('downloadBtn').textContent = t.downloadBtn;
document.getElementById('betaNotice').textContent = t.betaNotice;
// Обновить lang атрибут HTML документа
document.documentElement.lang = lang;
// Сохранить выбранный язык
localStorage.setItem('language', lang);
currentLanguage = lang;
@@ -76,7 +99,7 @@ document.addEventListener('DOMContentLoaded', function () {
// Инициализировать переключатель языка
initLanguageSelector();
// Применить сохраненный язык
// Применить автоопределенный или сохраненный язык
updateLanguage(currentLanguage);
// Установить ссылку для скачивания
@@ -137,4 +160,9 @@ function getCurrentLanguage() {
// Функция для получения всех доступных языков
function getAvailableLanguages() {
return Object.keys(translations);
}
// Функция для получения автоопределенного языка браузера (экспорт для внешнего использования)
function getBrowserLanguage() {
return detectBrowserLanguage();
}