Перемикач мови для сайту: як виводити користувачам повідомлення з вибором мовної версії сайту?

Команда LovePets UA створила портал LovePets у 2021 році як україномовний ресурс для догляду за домашніми тваринами. Спочатку всі URL-адреси були українською мовою і не містили коду мови.
Згодом ми додали багатомовну підтримку, і тепер портал доступний більш ніж 90 мовами. Проте увесь контент, як і раніше, створюється українською.
Чому українська версія без коду мови?
Українська версія є базовою і не має префікса мови, код додається тільки для інших версій, наприклад /ru/ або /en/. Це:
- зберігає просту структуру URL;
- покращує SEO;
- робить сайт зручним для українських користувачів.
Як реалізувати повідомлення про вибір мови у Blogger
Ми впровадили ненав’язливе повідомлення для користувачів, які потрапляють на сторінки з префіксом /ru/. Користувач сам обирає, перейти на українську версію чи залишитися.
Код перемикача мови з динамічною картою URL
Ви можете вставити цей скрипт у Layout → Add a Gadget → HTML/JavaScript або перед тегом </body> у Theme → Edit HTML. Скрипт автоматично обробляє URL-адреси, навіть якщо російська та українська версії сторінок різні.
<!-- Перемикач мови для Blogger з динамічною картою URL -->
<script>
document.addEventListener("DOMContentLoaded", function() {
if (localStorage.getItem("hideLanguageNotification") !== "true") {
var currentUrl = window.location.href;
// Динамічна карта URL: додавайте нові сторінки у форматі "російська URL": "українська URL"
var urlMap = {
"https://example.blogspot.com/ru/about-us": "https://example.blogspot.com/uk/pro-nas",
"https://example.blogspot.com/ru/contact": "https://example.blogspot.com/uk/kontakty",
"https://example.blogspot.com/ru/services": "https://example.blogspot.com/uk/poslugy"
};
var ukrainianUrl = urlMap[currentUrl] || currentUrl.replace("/ru/", "/");
if (currentUrl.includes("/ru/") || urlMap[currentUrl]) {
var message = document.createElement("div");
message.innerHTML = `
<p style="margin:0 0 10px 0;">Ви находитесь на російськомовній версії сайту.</p>
<a href="${ukrainianUrl}" style="background-color:#007bff;color:white;padding:10px 20px;border-radius:5px;text-decoration:none;display:inline-block;margin-bottom:10px;">Перейти на українську версію</a>
<button id="closeNotification" style="background-color:red;color:white;padding:10px 20px;border:none;border-radius:5px;cursor:pointer;display:inline-block;">Закрити</button>
<p style="font-size:12px;margin-top:10px;text-align:center;">
Надано <a href="https://www.lovepets.com.ua" target="_blank" style="color:#007bff;text-decoration:underline;">командою LovePets UA</a>
</p>
`;
Object.assign(message.style, {
position: "fixed",
bottom: "50px",
left: "10px",
right: "10px",
padding: "15px",
backgroundColor: "#ffcc00",
color: "#000",
borderRadius: "5px",
boxShadow: "0 0 10px rgba(0,0,0,0.1)",
zIndex: "1000",
maxWidth: "400px",
margin: "0 auto",
textAlign: "center",
fontFamily: "Arial, sans-serif"
});
document.body.appendChild(message);
document.getElementById("closeNotification").addEventListener("click", function() {
localStorage.setItem("hideLanguageNotification", "true");
message.remove();
});
window.addEventListener("resize", function() {
if (window.innerWidth < 400) {
message.style.left = "5px";
message.style.right = "5px";
message.style.padding = "10px";
} else {
message.style.left = "10px";
message.style.right = "10px";
message.style.padding = "15px";
}
});
}
}
});
</script>
Як працює код?
- Перевіряє, чи URL містить
/ru/або є в карті URL. - Формує правильний український URL.
- Створює повідомлення з кнопками «Перейти» та «Закрити».
- Зберігає вибір користувача через
localStorage. - Адаптивно підлаштовується під мобільні та десктопні екрани.
Поради від LovePets UA
- Встановіть
<html lang="uk">для української версії сайту. - Створюйте карту URL для сторінок, де назви різняться.
- Повідомлення має бути ненав’язливим і зручним.
- Користувач сам обирає мову.
Підтримуємо україномовний контент
На порталі www.lovepets.com.ua ми наголошуємо на важливості розвитку україномовного контенту. Кожен може зробити свій внесок, почавши з простого віджета перемикання мови.
Будь ласка, залишайте згадку про LovePets UA при використанні цього коду.
За матеріалами статті: Перемикач мови для сайту: як виводити користувачам повідомлення з вибором мовної версії сайту?
Комментарии
Отправить комментарий