Commit fd0617eb by xcoder

VPN-45 A bunch of fixes for desktop and mobile

1 parent b34435f7
<!DOCTYPE html>
<html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link type="image/svg+xml" href="favicons/favicon.svg" rel="icon" />
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="style.css?ver=1.08" />
<link rel="stylesheet" href="style.css?ver=1.15" />
<title>KrystalVPN</title>
</head>
<body>
......@@ -43,17 +43,19 @@
Русский
</div>
<div class="dropdown-menu" aria-labelledby="langSwitcher">
<span
<a
class="dropdown-item active"
data-lang="ru"
onclick="switchLang('ru', 'desktop')"
>Русский</span
href=""
>Русский</a
>
<span
<a
class="dropdown-item"
data-lang="en"
onclick="switchLang('en', 'desktop')"
>English</span
href="./index_en.html"
>English</a
>
</div>
</div>
......@@ -97,17 +99,19 @@
RU
</div>
<div class="dropdown-menu mobile" aria-labelledby="langSwitcher">
<span
<a
class="dropdown-item active"
data-lang-mobile="ru"
onclick="switchLang('ru', 'mobile')"
>RU</span
href=""
>RU</a
>
<span
<a
class="dropdown-item"
data-lang-mobile="en"
onclick="switchLang('en', 'mobile')"
>EN</span
href="./index_en.html"
>EN</a
>
</div>
<div class="chevron mobile"
......@@ -155,7 +159,7 @@
Защищенный доступ в любой точке мира
</div>
<div class="d-card-wrapper__content" data-lang="servers">
Надежное подключение к виртуальной частной сети (ВПН) из любой
Надежное подключение к виртуальной частной сети (VPN) из любой
точки мира. Наши высокоскоростные серверы в 94 странах помогут
вам взять контроль в свои руки.
</div>
......@@ -278,7 +282,6 @@
</div>
</footer>
<script src="bootstrap.min.js"></script>
<script src="lang.js"></script>
<script src="index.js"></script>
</body>
</html>
......@@ -32,12 +32,37 @@ window.onload = function () {
console.log("localStorage is not supported");
}
const _path = window.location.pathname.split("/");
const path = _path[_path.length -1];
if (langStr == null) {
const lang = getLangFromBrowser();
switchLang(lang, platform);
if (lang === "en") {
if (path !== "index_en.html") {
window.location.href = "./index_en.html";
}
}
else {
if (path !== "index.html") {
window.location.href = "./index.html";
}
}
}
else {
switchLang(langStr, platform);
if (langStr === "en") {
if (path !== "index_en.html") {
window.location.href = "./index_en.html";
}
}
else {
if (path !== "index.html") {
window.location.href = "./index.html";
}
}
}
try {
......@@ -132,39 +157,6 @@ function switchLang(lang, platform) {
googlePlayImg.src = "assets/google_play.svg";
}
}
for (const key in langDict) {
const langNode = document.querySelector(`[data-lang=${CSS.escape(key)}]`);
const langNodeMobile = document.querySelector(
`[data-lang-mobile=${CSS.escape(key)}]`
);
if (langNode != null) {
const translate = langDict[key][lang];
if (translate != null) {
langNode.innerHTML = translate;
}
}
if (langNodeMobile != null) {
const translate = langDict[key][lang];
if (translate != null) {
langNodeMobile.innerHTML = translate;
}
}
if (googlePlayImg != null) {
if (activeLang === "en") {
googlePlayImg.src = "assets/google_play_ru.svg";
}
if (activeLang === "ru") {
googlePlayImg.src = "assets/google_play.svg";
}
}
}
}
if (ddMobile != null) {
......@@ -198,20 +190,6 @@ function switchLang(lang, platform) {
googlePlayImg.src = "assets/google_play.svg";
}
}
for (const key in langDict) {
const langNodeMobile = document.querySelector(
`[data-lang-mobile=${CSS.escape(key)}]`
);
if (langNodeMobile != null) {
const translate = langDict[key][lang];
if (translate != null) {
langNodeMobile.innerHTML = translate;
}
}
}
}
const dropdownMenu = document.querySelector(".dropdown-menu");
......@@ -228,8 +206,9 @@ function switchLang(lang, platform) {
dropdownMenuMobile.classList.remove("show");
}
if (mobileCheck()) {
switchMobileMenu();
const openedMenu = document.querySelector("#opened-menu");
if (mobileCheck() && openedMenu.classList.contains("show")) {
openedMenu.classList.remove("show");
}
}
......@@ -237,7 +216,9 @@ function switchLang(lang, platform) {
const mobArrow = document.querySelector(".chevron.mobile");
if (mobArrow != null) {
mobArrow.classList.toggle("rotated");
if (mobArrow.classList.contains("rotated")) {
mobArrow.classList.remove("rotated");
}
}
}
}
......
const langDict = {
"rights": {
"ru": "Все права защищены.",
"en": "All rights reserved.",
},
"support": {
"ru": "Связаться с нами",
"en": "Contact us",
},
"support-onl": {
"ru": `Наши специалисты доступны 24/7 в онлайн-чате и по электронной почте,
чтобы помочь вам с установкой и устранением неполадок.`,
"en": `Our experts are available 24/7 via live chat and email,
to help you with installation and troubleshooting.`,
},
"can-use": {
"ru": "Можно использовать",
"en": "Can be used",
},
"all-devs": {
"ru": "на всех устройствах",
"en": "on all devices",
},
"subscribes": {
"ru": `Оформив подписку на Krystal VPN, вы получите удобные приложения для всех ваших устройств, включая телефоны, планшеты,
компьютеры, роутеры и многие другие девайсы.`,
"en": `By subscribing to Krystal VPN, you will get convenient applications for all your devices, including phones, tablets,
computers, routers and many other devices.`,
},
"our-service": {
"ru": `Наш VPN-сервис прост в использовании. Как и наша гарантия. Если вам что-то не нравится, мы вернем ваши деньги. Никаких
вопросов, никакого риска.`,
"en": `Our VPN-service is easy to use. As is our guarantee. If you don't like something, we will refund your money. Any
questions, no risk.`,
},
"guarantees": {
"ru": `Гарантия возврата денег 30 дней`,
"en": `30 days money back guarantee`,
},
"description": {
"ru": `Использование Интернета не означает, что все должны видеть ваши личные данные. Совершаете ли вы покупки онлайн или
подключаетесь к Wi-Fi в кафе, вы можете обеспечить более серьезную защиту своей персональной информации.`,
"en": `Using the Internet does not mean that everyone should see your personal data. Do you shop online or connect
to Wi-Fi in a cafe, you can provide more serious protection of your personal information.`,
},
"safety": {
"ru": "Безопасный Интернет за пару секунд",
"en": "Secure Internet in a couple of seconds",
},
"details": {
"ru": `Наша VPN-сеть создана для скорости и использует технологии нового поколения.`,
"en": `Our VPN is built for speed and uses next generation technology.`,
},
"speed": {
"ru": "Высокая скорость везде и всегда",
"en": "High speed everywhere and always",
},
"servers": {
"ru": `Надежное подключение к виртуальной частной сети (ВПН) из любой точки мира. Наши высокоскоростные серверы в 94 странах помогут
вам взять контроль в свои руки.`,
"en": `Reliable connection to a virtual private network (VPN) from any points of the world. Our high-speed servers in 94 countries will help
you take control into your own hands.`,
},
"world-points": {
"ru": "Защищенный доступ в любой точке мира",
"en": "Secure access anywhere in the world",
},
"vpn-service": {
"ru": "VPN-сервис",
"en": "VPN-service",
},
"fast": {
"ru": "быстрый и безопасный",
"en": "fast and safe",
},
"truely": {
"ru": "Открой для себя по-настоящему",
"en": "Discover for real",
},
"download": {
"ru": "Скачать KRYSTALVPN",
"en": "Download KRYSTALVPN",
},
"functions": {
"ru": "Функции",
"en": "Functions",
},
"contact-us": {
"ru": "Контакты",
"en": "Contact us",
},
"download-menu": {
"ru": "Скачать",
"en": "Download",
},
"download-mob": {
"ru": "Получить KRYSTALVPN",
"en": "Get KRYSTALVPN",
},
};
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!