add: website files #1
34
1.html
Normal file
34
1.html
Normal file
@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script defer src="translations.js"></script>
|
||||
<script defer src="script.js"></script>
|
||||
<title data-translatable="paranormal_activities"></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<svg id="wave-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,0L1420,0C1400,0,1360,0,1320,0C1280,0,1240,0,1200,0C1160,0,1120,0,1080,0C1040,0,1000,0,960,0C920,0,880,0,840,0C800,0,760,0,720,0C680,0,640,0,600,0C560,0,520,0,480,0C440,0,400,0,360,0C320,0,280,0,240,0C200,0,160,0,120,0C80,0,40,0,20,0L0,0Z">
|
||||
</path>
|
||||
<div id="header">
|
||||
</div>
|
||||
<div id="container">
|
||||
<h1 data-translatable="paranormal_activities"></h1>
|
||||
<h2 data-translatable="activities.1"></h2>
|
||||
<p data-translatable="activities.1.description"></p>
|
||||
|
||||
<a data-redirect-to="index.html" data-translatable="back"></a>
|
||||
</div>
|
||||
<svg id="wave-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,320L1420,320C1400,320,1360,320,1320,320C1280,320,1240,320,1200,320C1160,320,1120,320,1080,320C1040,320,1000,320,960,320C920,320,880,320,840,320C800,320,760,320,720,320C680,320,640,320,600,320C560,320,520,320,480,320C440,320,400,320,360,320C320,320,280,320,240,320C200,320,160,320,120,320C80,320,40,320,20,320L0,320Z">
|
||||
</path>
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
37
2.html
Normal file
37
2.html
Normal file
@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script defer src="translations.js"></script>
|
||||
<script defer src="script.js"></script>
|
||||
<title data-translatable="paranormal_activities"></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<svg id="wave-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,0L1420,0C1400,0,1360,0,1320,0C1280,0,1240,0,1200,0C1160,0,1120,0,1080,0C1040,0,1000,0,960,0C920,0,880,0,840,0C800,0,760,0,720,0C680,0,640,0,600,0C560,0,520,0,480,0C440,0,400,0,360,0C320,0,280,0,240,0C200,0,160,0,120,0C80,0,40,0,20,0L0,0Z">
|
||||
</path>
|
||||
<div id="header">
|
||||
</div>
|
||||
<div id="container">
|
||||
<h1 data-translatable="paranormal_activities"></h1>
|
||||
<h2 data-translatable="activities.2"></h2>
|
||||
<p data-translatable="activities.2.description.1"></p>
|
||||
|
||||
<h3 data-translatable="activities.2.not_investigated"></h3>
|
||||
<p data-translatable="activities.2.description.2"></p>
|
||||
|
||||
<a data-redirect-to="index.html" data-translatable="back"></a>
|
||||
</div>
|
||||
<svg id="wave-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,320L1420,320C1400,320,1360,320,1320,320C1280,320,1240,320,1200,320C1160,320,1120,320,1080,320C1040,320,1000,320,960,320C920,320,880,320,840,320C800,320,760,320,720,320C680,320,640,320,600,320C560,320,520,320,480,320C440,320,400,320,360,320C320,320,280,320,240,320C200,320,160,320,120,320C80,320,40,320,20,320L0,320Z">
|
||||
</path>
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
35
3.html
Normal file
35
3.html
Normal file
@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script defer src="translations.js"></script>
|
||||
<script defer src="script.js"></script>
|
||||
<title data-translatable="paranormal_activities"></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<svg id="wave-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,0L1420,0C1400,0,1360,0,1320,0C1280,0,1240,0,1200,0C1160,0,1120,0,1080,0C1040,0,1000,0,960,0C920,0,880,0,840,0C800,0,760,0,720,0C680,0,640,0,600,0C560,0,520,0,480,0C440,0,400,0,360,0C320,0,280,0,240,0C200,0,160,0,120,0C80,0,40,0,20,0L0,0Z">
|
||||
</path>
|
||||
<div id="header">
|
||||
</div>
|
||||
<div id="container">
|
||||
<h1 data-translatable="paranormal_activities"></h1>
|
||||
<h2 data-translatable="activities.3"></h2>
|
||||
<p data-translatable="activities.3.description.1"></p>
|
||||
<p data-translatable="activities.3.description.2"></p>
|
||||
|
||||
<a data-redirect-to="index.html" data-translatable="back"></a>
|
||||
</div>
|
||||
<svg id="wave-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,320L1420,320C1400,320,1360,320,1320,320C1280,320,1240,320,1200,320C1160,320,1120,320,1080,320C1040,320,1000,320,960,320C920,320,880,320,840,320C800,320,760,320,720,320C680,320,640,320,600,320C560,320,520,320,480,320C440,320,400,320,360,320C320,320,280,320,240,320C200,320,160,320,120,320C80,320,40,320,20,320L0,320Z">
|
||||
</path>
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
36
4.html
Normal file
36
4.html
Normal file
@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script defer src="translations.js"></script>
|
||||
<script defer src="script.js"></script>
|
||||
<title data-translatable="paranormal_activities"></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<svg id="wave-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,0L1420,0C1400,0,1360,0,1320,0C1280,0,1240,0,1200,0C1160,0,1120,0,1080,0C1040,0,1000,0,960,0C920,0,880,0,840,0C800,0,760,0,720,0C680,0,640,0,600,0C560,0,520,0,480,0C440,0,400,0,360,0C320,0,280,0,240,0C200,0,160,0,120,0C80,0,40,0,20,0L0,0Z">
|
||||
</path>
|
||||
<div id="header">
|
||||
</div>
|
||||
<div id="container">
|
||||
<h1 data-translatable="paranormal_activities"></h1>
|
||||
<h2 data-translatable="activities.4"></h2>
|
||||
|
||||
<p data-translatable="activities.4.description.1"></p>
|
||||
<p data-translatable="activities.4.description.2"></p>
|
||||
|
||||
<a data-redirect-to="index.html" data-translatable="back"></a>
|
||||
</div>
|
||||
<svg id="wave-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,320L1420,320C1400,320,1360,320,1320,320C1280,320,1240,320,1200,320C1160,320,1120,320,1080,320C1040,320,1000,320,960,320C920,320,880,320,840,320C800,320,760,320,720,320C680,320,640,320,600,320C560,320,520,320,480,320C440,320,400,320,360,320C320,320,280,320,240,320C200,320,160,320,120,320C80,320,40,320,20,320L0,320Z">
|
||||
</path>
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
36
5.html
Normal file
36
5.html
Normal file
@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script defer src="translations.js"></script>
|
||||
<script defer src="script.js"></script>
|
||||
<title data-translatable="paranormal_activities"></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<svg id="wave-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,0L1420,0C1400,0,1360,0,1320,0C1280,0,1240,0,1200,0C1160,0,1120,0,1080,0C1040,0,1000,0,960,0C920,0,880,0,840,0C800,0,760,0,720,0C680,0,640,0,600,0C560,0,520,0,480,0C440,0,400,0,360,0C320,0,280,0,240,0C200,0,160,0,120,0C80,0,40,0,20,0L0,0Z">
|
||||
</path>
|
||||
<div id="header">
|
||||
</div>
|
||||
<div id="container">
|
||||
<h1 data-translatable="paranormal_activities"></h1>
|
||||
<h2 data-translatable="activities.5"></h2>
|
||||
|
||||
<p data-translatable="activities.5.description.1"></p>
|
||||
<p data-translatable="activities.5.description.2"></p>
|
||||
|
||||
<a data-redirect-to="index.html" data-translatable="back"></a>
|
||||
</div>
|
||||
<svg id="wave-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,320L1420,320C1400,320,1360,320,1320,320C1280,320,1240,320,1200,320C1160,320,1120,320,1080,320C1040,320,1000,320,960,320C920,320,880,320,840,320C800,320,760,320,720,320C680,320,640,320,600,320C560,320,520,320,480,320C440,320,400,320,360,320C320,320,280,320,240,320C200,320,160,320,120,320C80,320,40,320,20,320L0,320Z">
|
||||
</path>
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,3 +0,0 @@
|
||||
# paranormal-activities
|
||||
|
||||
Simple school project, website available in 4 languages (pl-PL - Polish, pl-SL - Polish Silesian, en - English, de - Deutsch)
|
BIN
background.jpg
Normal file
BIN
background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 137 KiB |
41
index.html
Normal file
41
index.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="cache-control" content="max-age=0" />
|
||||
<meta http-equiv="pragma" content="no-cache" />
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script defer src="translations.js"></script>
|
||||
<script defer src="script.js"></script>
|
||||
<title data-translatable="paranormal_activities"></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<svg id="wave-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,0L1420,0C1400,0,1360,0,1320,0C1280,0,1240,0,1200,0C1160,0,1120,0,1080,0C1040,0,1000,0,960,0C920,0,880,0,840,0C800,0,760,0,720,0C680,0,640,0,600,0C560,0,520,0,480,0C440,0,400,0,360,0C320,0,280,0,240,0C200,0,160,0,120,0C80,0,40,0,20,0L0,0Z">
|
||||
</path>
|
||||
</svg>
|
||||
<div id="header">
|
||||
</div>
|
||||
<div id="container">
|
||||
<h1 data-translatable="paranormal_activities"></h1>
|
||||
<p data-translatable="paranormal_activities_description"></p>
|
||||
<ul>
|
||||
<li><a data-redirect-to="1.html" data-translatable="activities.1"></a></li>
|
||||
<li><a data-redirect-to="2.html" data-translatable="activities.2"></a></li>
|
||||
<li><a data-redirect-to="3.html" data-translatable="activities.3"></a></li>
|
||||
<li><a data-redirect-to="4.html" data-translatable="activities.4"></a></li>
|
||||
<li><a data-redirect-to="5.html" data-translatable="activities.5"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<svg id="wave-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
|
||||
<path fill="#ff0000" fill-opacity="0.5"
|
||||
d="M0,96L20,106.7C40,117,80,139,120,154.7C160,171,200,181,240,197.3C280,213,320,235,360,218.7C400,203,440,149,480,138.7C520,128,560,160,600,181.3C640,203,680,213,720,202.7C760,192,800,160,840,149.3C880,139,920,149,960,138.7C1000,128,1040,96,1080,80C1120,64,1160,64,1200,101.3C1240,139,1280,213,1320,202.7C1360,192,1400,96,1420,48L1440,0L1440,320L1420,320C1400,320,1360,320,1320,320C1280,320,1240,320,1200,320C1160,320,1120,320,1080,320C1040,320,1000,320,960,320C920,320,880,320,840,320C800,320,760,320,720,320C680,320,640,320,600,320C560,320,520,320,480,320C440,320,400,320,360,320C320,320,280,320,240,320C200,320,160,320,120,320C80,320,40,320,20,320L0,320Z">
|
||||
</path>
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
92
script.js
Normal file
92
script.js
Normal file
@ -0,0 +1,92 @@
|
||||
// basic functions/variables
|
||||
const wait = (time) => new Promise(resolve => setTimeout(resolve, time))
|
||||
const language = localStorage.getItem('language') || 'pl-PL';
|
||||
|
||||
// admin message
|
||||
const ADMIN_MESSAGE = {
|
||||
author: 'Franek',
|
||||
message: {
|
||||
"pl-PL": "Aby zmienić język, wciśnij kombinację klawiszy Shift + L. Niestety, ze względu na limity, język jest ustawiany tylko na aktualną stronę.",
|
||||
"pl-SL": "Aby zmienić język, wciśnij kombinacyjo klawiszy Shift + L. Niestety, ze względu na limity, język je ustawiany ino na aktualno strōna.",
|
||||
"en": "To change the language, press the key combination Shift + L. Unfortunately, due to limitations, the language is set only for the current page.",
|
||||
"de": "Um die Sprache zu ändern, drücken Sie die Tastenkombination Shift + L. Leider wird die Sprache aufgrund von Beschränkungen nur für die aktuelle Seite festgelegt."
|
||||
},
|
||||
enabled: true
|
||||
}
|
||||
|
||||
function initializeAdminMessage() {
|
||||
if (!ADMIN_MESSAGE.enabled) return;
|
||||
|
||||
header.style.display = 'unset';
|
||||
header.textContent = `${ADMIN_MESSAGE.message[language]} ~ ${ADMIN_MESSAGE.author}`
|
||||
}
|
||||
|
||||
// redirects
|
||||
const redirects = document.querySelectorAll('[data-redirect-to]')
|
||||
|
||||
Array.from(redirects).forEach(item => item.addEventListener('click', async e => {
|
||||
e.preventDefault();
|
||||
|
||||
fadeOut(document.body)
|
||||
await wait(300)
|
||||
|
||||
const a = document.createElement("a")
|
||||
a.href = item.dataset.redirectTo
|
||||
a.click()
|
||||
}))
|
||||
|
||||
// opacity transitions
|
||||
async function fadeIn(block) {
|
||||
block.style.opacity = 0;
|
||||
await wait(1000);
|
||||
block.style.opacity = 1;
|
||||
}
|
||||
|
||||
async function fadeOut(block) {
|
||||
block.style.opacity = 0;
|
||||
await wait(300);
|
||||
}
|
||||
|
||||
// prevent context menu
|
||||
const elements = document.querySelectorAll('*');
|
||||
elements.forEach(el => el.addEventListener('contextmenu', e => e.preventDefault()))
|
||||
|
||||
window.addEventListener('hashchange', () => {
|
||||
fadeIn(document.body);
|
||||
});
|
||||
|
||||
// language support
|
||||
const translatable = document.querySelectorAll('[data-translatable]');
|
||||
|
||||
Array.from(translatable).forEach(item => {
|
||||
const key = item.dataset.translatable;
|
||||
const resource = TRANSLATIONS[key];
|
||||
|
||||
if (!resource) {
|
||||
item.textContent = key;
|
||||
return;
|
||||
}
|
||||
|
||||
item.textContent = resource[language] || key;
|
||||
})
|
||||
|
||||
// shift + l support
|
||||
document.addEventListener('keydown', e => {
|
||||
if (e.key === 'L' && e.shiftKey) {
|
||||
const languagePrompt = prompt([
|
||||
TRANSLATIONS['choose_language'][language],
|
||||
Object.keys(TRANSLATIONS['choose_language']).join(', ')
|
||||
].join(' '));
|
||||
|
||||
if (typeof TRANSLATIONS['choose_language'][languagePrompt] === 'undefined') {
|
||||
alert(TRANSLATIONS['invalid_language'][language]);
|
||||
return;
|
||||
}
|
||||
|
||||
localStorage.setItem('language', languagePrompt);
|
||||
location.reload();
|
||||
}
|
||||
})
|
||||
|
||||
fadeIn(document.body)
|
||||
initializeAdminMessage()
|
95
style.css
Normal file
95
style.css
Normal file
@ -0,0 +1,95 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
|
||||
@import url('style.mobile.css');
|
||||
|
||||
:root {
|
||||
--bg-secondary: #000;
|
||||
--divide-by: 3;
|
||||
--font: 'Rubik', sans-serif;
|
||||
--header: rgb(255, 178, 155);
|
||||
--header-padding: 1em;
|
||||
}
|
||||
|
||||
* {
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
opacity: 0;
|
||||
font-family: var(--font);
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
|
||||
background-color: var(--bg-secondary);
|
||||
background-image: url(background.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#wave-top {
|
||||
top: 0;
|
||||
width: 100vw;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#wave-bottom {
|
||||
bottom: 0;
|
||||
width: 100vw;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#header {
|
||||
margin: 0;
|
||||
padding-top: var(--header-padding);
|
||||
padding-bottom: var(--header-padding);
|
||||
|
||||
width: 100%;
|
||||
background-color: var(--header);
|
||||
|
||||
display: none;
|
||||
text-align: center;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
#container {
|
||||
height: calc(100vh - var(--header-padding));
|
||||
width: calc(100% / var(--divide-by));
|
||||
z-index: 1;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#container ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#container ul li:before {
|
||||
content: "- "
|
||||
}
|
||||
|
||||
#container>* {
|
||||
background-color: white;
|
||||
width: fit-content;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
[data-redirect-to] {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
5
style.mobile.css
Normal file
5
style.mobile.css
Normal file
@ -0,0 +1,5 @@
|
||||
@media screen and (max-width: 798px) {
|
||||
#container {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
122
translations.js
Normal file
122
translations.js
Normal file
@ -0,0 +1,122 @@
|
||||
const TRANSLATIONS = {
|
||||
"choose_language": {
|
||||
"pl-PL": "Wybierz język",
|
||||
"pl-SL": "Wybiyrz język",
|
||||
"en": "Choose Language",
|
||||
"de": "Sprache wählen"
|
||||
},
|
||||
"invalid_language": {
|
||||
"pl-PL": "Nieprawidłowy język",
|
||||
"pl-SL": "Niyprowidlany język",
|
||||
"en": "Invalid Language",
|
||||
"de": "Ungültige Sprache"
|
||||
},
|
||||
"back": {
|
||||
"pl-PL": "Powrót",
|
||||
"pl-SL": "Powrōt",
|
||||
"en": "Back",
|
||||
"de": "Zurück"
|
||||
},
|
||||
"paranormal_activities": {
|
||||
"pl-PL": "Zjawiska nadprzyrodzone",
|
||||
"pl-SL": "Nadprzirodzone zjawiska",
|
||||
"en": "Paranormal Activities",
|
||||
"de": "Übernatürliche Aktivitäten"
|
||||
},
|
||||
"paranormal_activities_description": {
|
||||
"pl-PL": "Witaj, na tej stronie dowiesz się o fascynujących zjawiskach nadprzyrodzonych. Znajdziesz tu informacje o mrocznych legendach i tajemniczych, niewyjaśnionych sytuacjach. Nasza strona pełna jest ciekawych opowieści, które wciągną Cię w świat zjawisk nadprzyrodzonych.",
|
||||
"pl-SL": "Witej, na tyn strōnie dowiyrz sie o fascynujących nadprzirodzonych zjawiskach. Znajdziesz tukej informacyje o mrocznych legendach i tajemnicznych, niewyjaśnionych sytuacjach. Naso strōna je pełno ciekawych opowieści, kere wciągną Cię w świat nadprzirodzonych zjawisk.",
|
||||
"en": "Welcome, on this page you will learn about fascinating paranormal phenomena. You will find information about dark legends and mysterious, unexplained situations. Our site is full of interesting stories that will draw you into the world of paranormal phenomena.",
|
||||
"de": "Willkommen, auf dieser Seite erfahren Sie von faszinierenden übernatürlichen Phänomenen. Sie finden hier Informationen über dunkle Legenden und mysteriöse, ungeklärte Situationen. Unsere Seite ist voller interessanter Geschichten, die Sie in die Welt der übernatürlichen Phänomene eintauchen lassen."
|
||||
},
|
||||
"activities.1": {
|
||||
"pl-PL": "Szpital psychiatryczny w Owińskach",
|
||||
"pl-SL": "Psychiatryczny szpital w Owińskach",
|
||||
"en": "Psychiatric Hospital in Owińska",
|
||||
"de": "Psychiatrisches Krankenhaus in Owińska"
|
||||
},
|
||||
"activities.2": {
|
||||
"pl-PL": "Komisariat w Konstancinie-Jeziornie",
|
||||
"pl-SL": "Komisariat w Konstancinie-Jeziornie",
|
||||
"en": "Police Station in Konstancin-Jeziorna",
|
||||
"de": "Polizeistation in Konstancin-Jeziorna"
|
||||
},
|
||||
"activities.3": {
|
||||
"pl-PL": "Masońska willa w Gdańsku",
|
||||
"pl-SL": "Masońsko willa w Gdańsku",
|
||||
"en": "Masonic Villa in Gdańsk",
|
||||
"de": "Freimaurervilla in Danzig"
|
||||
},
|
||||
"activities.4": {
|
||||
"pl-PL": "Blok przy ul. Herbsta 4",
|
||||
"pl-SL": "Blok przi ul. Herbsta 4",
|
||||
"en": "Block at Herbsta Street 4",
|
||||
"de": "Block in der Herbsta Straße 4"
|
||||
},
|
||||
"activities.5": {
|
||||
"pl-PL": "Stara cerkiew w Chróścinie",
|
||||
"pl-SL": "Staro cerkiew w Chróścinie",
|
||||
"en": "Old Church in Chróścina",
|
||||
"de": "Alte Kirche in Chróścina"
|
||||
},
|
||||
"activities.1.description": {
|
||||
"pl-PL": "Nic bardziej nie kojarzy się z horrorami o upiorach niż opuszczone szpitale psychiatryczne. Jedno z takich miejsc znajduje się kilkanaście kilometrów od Poznania w miejscowości Owińska. Szpital otwarto w 1838 roku, w budynku dawnego klasztoru cystersów. W trakcie II wojny światowej pensjonariusze zostali wymordowani przez hitlerowskie wojsko, które później zajęło budynek. Teraz budynek stoi pusty i pilnuje go ochrona a jednak czasami w środku palą się światła, widać przemykające postaci, słychać głosy i płacz. Pierwszym dyrektorem zakładu był Friedrich Wilhelm Christian Beschorner, a kolejnym Karl Wilhelm Werner. Do 1920 zakład w Owińskach był jedynym publicznym zakładem dla całej Prowincji Poznańskiej i jednym z najlepiej urządzonych w Niemczech.",
|
||||
"pl-SL": "Nic bardziej niy kojarzy się z horrorami o upiorach niż opuszczone psychiatryczne szpitale. Jedno z takich miejsc sie znajduje kilkanaście kilometrów od Poznania we miejscowości Owińska. Szpital otwarto we 1838 roku, we budynku dawnego klasztoru cystersów. We trakcie II wojny światowej pensjonariusze zostali wymordowani przez hitlerowskie wojsko, kere późnij zajęło budynek. Teraz budynek stoi pusty i pilnuje go ochrona, a jednak czasami we środku palą sie światła, widzać przemykające postaci, słychać głosy i płacz. Pierwszym dyrektorem zakładu był Friedrich Wilhelm Christian Beschorner, a kolejnym Karl Wilhelm Werner. Do 1920 zakład we Owińskach był jedynym publicznym zakładem dla całej Prowincji Poznańskiej i jednym z najlepiej urządzonych we Niemcach.",
|
||||
"en": "Nothing is more associated with ghost horror than abandoned psychiatric hospitals. One such place is located a few kilometers from Poznań in the town of Owińska. The hospital was opened in 1838 in the building of the former Cistercian monastery. During World War II, the patients were murdered by Nazi soldiers, who later took over the building. Now the building stands empty and is guarded, but sometimes lights are seen inside, figures are seen flitting, voices and crying can be heard. The first director of the facility was Friedrich Wilhelm Christian Beschorner, and the next was Karl Wilhelm Werner. Until 1920, the facility in Owińska was the only public facility for the entire Poznań Province and one of the best equipped in Germany.",
|
||||
"de": "Nichts wird mehr mit Geisterhorror in Verbindung gebracht als verlassene psychiatrische Krankenhäuser. Ein solcher Ort befindet sich einige Kilometer von Posen entfernt in der Stadt Owińska. Das Krankenhaus wurde 1838 im Gebäude des ehemaligen Zisterzienserklosters eröffnet. Während des Zweiten Weltkriegs wurden die Patienten von Nazi-Soldaten ermordet, die später das Gebäude übernahmen. Jetzt steht das Gebäude leer und wird bewacht, aber manchmal werden innen Lichter gesehen, Figuren huschen vorbei, Stimmen und Weinen sind zu hören. Der erste Direktor der Einrichtung war Friedrich Wilhelm Christian Beschorner, und der nächste war Karl Wilhelm Werner. Bis 1920 war die Einrichtung in Owińska die einzige öffentliche Einrichtung für die gesamte Provinz Posen und eine der bestausgestatteten in Deutschland."
|
||||
},
|
||||
"activities.2.not_investigated": {
|
||||
"pl-PL": "Niewyjaśnione zjawiska w komisariacie",
|
||||
"pl-SL": "Niewyjaśnione zjawiska we komisariacie",
|
||||
"en": "Unexplained phenomena at the police station",
|
||||
"de": "Unerklärliche Phänomene in der Polizeistation"
|
||||
},
|
||||
"activities.2.description.1": {
|
||||
"pl-PL": "Ten niepozorny budynek z czerwonej cegły ma około 80 lat i od początku jego powstania mieściły się w nim różnego rodzaju służby mundurowe. Po wojnie urzędowało tutaj NKWD i UB, a następnie był tu komisariat policji.",
|
||||
"pl-SL": "Tyn niepozorny budynek z czerwonej cegły ma około 80 lot i od poczōnku jego powstania mieściły sie tukej różnego rodzaju służby mundurowe. Po wojnie urzędowało tukej NKWD i UB, a następnie był tukej komisariat policji.",
|
||||
"en": "This unassuming red brick building is about 80 years old and has housed various uniformed services since its inception. After the war, the NKVD and UB were stationed here, and later it became a police station.",
|
||||
"de": "Dieses unscheinbare rote Ziegelgebäude ist etwa 80 Jahre alt und beherbergte seit seiner Errichtung verschiedene uniformierte Dienste. Nach dem Krieg waren hier das NKWD und die UB stationiert, später wurde es eine Polizeistation."
|
||||
},
|
||||
"activities.2.description.2": {
|
||||
"pl-PL": "Na początku 2000 r., kiedy komisariat jeszcze funkcjonował, policjanci, którzy pełnili służbę w tamtym czasie, słyszeli niepokojące odgłosy dochodzące z pierwszego piętra budynku. Zdarzało się, że wyraźnie słychać było kroki, jakby ktoś schodził po drewnianych schodach na dół w stronę dyżurki. Byli do tego stopnia przekonani o realności tego zjawiska, że często chwytali za broń lub wzywali swoich kolegów na pomoc.",
|
||||
"pl-SL": "Na poczōnku 2000 roku, kiedy komisariat jeszcze funkcjonowoł, policjanci, kery pełnili służba w tym czasie, słyszeli niepokojące odgłosy dochodzące z piyrszego piytra budynku. Zdarzało sie, że wyraźnie słychać było kroki, jakby ktoś schodził po drewnianych schodach na dōł we stronę dyżurki. Byli do tego stopnia przekonani o realności tego zjawiska, że często chwytali za broń lub wzywali swoich kolegów na pomoc.",
|
||||
"en": "In the early 2000s, when the station was still operational, officers on duty at that time heard disturbing noises coming from the first floor of the building. There were instances when footsteps were clearly heard, as if someone was coming down the wooden stairs towards the duty room. They were so convinced of the reality of this phenomenon that they often grabbed their weapons or called their colleagues for help.",
|
||||
"de": "Anfang der 2000er Jahre, als die Polizeistation noch in Betrieb war, hörten die diensthabenden Polizisten zu dieser Zeit beunruhigende Geräusche vom ersten Stock des Gebäudes. Es kam vor, dass deutlich Schritte zu hören waren, als ob jemand die Holztreppe hinunter in Richtung der Wache ging. Sie waren so von der Realität dieses Phänomens überzeugt, dass sie oft zu ihren Waffen griffen oder ihre Kollegen um Hilfe riefen."
|
||||
},
|
||||
"activities.3.description.1": {
|
||||
"pl-PL": "Willa stoi na wzgórzu Sobótka w Gdańsku, które niegdyś było ulubionym pomorskich czarownic. Żaden z właścicieli tego miejsca nie zagrzał tam miejsca. Około 1925 roku willę kupił zarząd wolnomularzy Gdańska i Sopotu, który organizował tam spotkania Loży Trzech Sal. Potem budynek przejął oddział gdańskiej Telewizji Polskiej. Teraz za dnia świeci pustkami, ale sąsiedzi twierdzą, że nocą widać demoniczne barwy i światła.",
|
||||
"pl-SL": "Willa stoi na wzgórzu Sobótka we Gdańsku, kere niegdyś było ulubionym pomorskich czarownic. Żoden z właścicieli tego miejsca niy zagrzoł tam miejsca. Około 1925 roku willa kupił zarząd wolnomularzy Gdańska i Sopotu, kery organizowoł tam spotkania Loży Trzech Sal. Potym budynek przejął oddział gdańskiej Telewizji Polskiej. Teraz za dnia świeci pustkami, ale sąsiedzi twierdzą, że nocą widać demoniczne barwy i światła.",
|
||||
"en": "The villa stands on Sobótka Hill in Gdańsk, which was once favored by Pomeranian witches. None of the owners stayed there long. Around 1925, the Gdańsk and Sopot Masonic board bought the villa and organized meetings of the Lodge of Three Halls there. Later, the building was taken over by the Gdańsk branch of Polish Television. Now it stands empty during the day, but neighbors claim that demonic colors and lights can be seen at night.",
|
||||
"de": "Die Villa steht auf dem Sobótka-Hügel in Danzig, der einst von pommerschen Hexen bevorzugt wurde. Keiner der Besitzer blieb dort lange. Um 1925 kaufte der Gdańsker und Sopot Masonic Board die Villa und organisierte dort Treffen der Loge der Drei Hallen. Später wurde das Gebäude von der Danziger Niederlassung des Polnischen Fernsehens übernommen. Jetzt steht es tagsüber leer, aber Nachbarn behaupten, dass nachts dämonische Farben und Lichter zu sehen sind."
|
||||
},
|
||||
"activities.3.description.2": {
|
||||
"pl-PL": "Legenda głosi, że od 1925 roku w kamienicy zaczęli spotykać się członkowie loży masońskiej \"Zur Kette an der Weichsel\". Wkrótce też w murach charakterystycznej budowli zagościła kolejna loża o nazwie \"Zum Drei Saule\".",
|
||||
"pl-SL": "Legenda głosi, że od 1925 roku we kamienicy zaczęli sie spotykać członkowie loży masońskiej \"Zur Kette an der Weichsel\". Wkrótce też we murach charakterystycznej budowli zagościła kolejno loża o nazwie \"Zum Drei Saule\".",
|
||||
"en": "Legend has it that from 1925, members of the Masonic lodge 'Zur Kette an der Weichsel' began meeting in the building. Soon after, another lodge named 'Zum Drei Saule' also settled in the characteristic structure.",
|
||||
"de": "Der Legende nach begannen ab 1925 die Mitglieder der Freimaurerloge \"Zur Kette an der Weichsel\" sich in dem Gebäude zu treffen. Bald darauf zog eine weitere Loge namens \"Zum Drei Saule\" in die charakteristische Struktur ein."
|
||||
},
|
||||
"activities.4.description.1": {
|
||||
"pl-PL": "Od lat część mieszkańców bloku przy ulicy Herbsta 4 na warszawskim Ursynowie mówi, że budynek jest nawiedzony. Dochodziło tam do morderstw, pożarów, samobójstw czy innych tragicznych wydarzeń, które miały dziać się rzekomo częściej, niż w innych miejscach. Dla wielu to po prostu miejska legenda.",
|
||||
"pl-SL": "Od lot cześ mieszkańców bloku przi ulicy Herbsta 4 na warszawskim Ursynowie goda, że budynek je nawiedzony. Dochodziło tam do morderstw, pożarów, samobójstw czy innych tragicznych wydarzeń, kere miały dziać sie rzekomo częściej, niż we innyk miejscach. Dla wiela to po prostu miejska legenda.",
|
||||
"en": "For years, some residents of the block at Herbsta Street 4 in Warsaw's Ursynów district have said that the building is haunted. There have been murders, fires, suicides, and other tragic events that supposedly happened more often than in other places. For many, it's just an urban legend.",
|
||||
"de": "Seit Jahren sagen einige Bewohner des Blocks in der Herbsta Straße 4 im Warschauer Stadtteil Ursynów, dass das Gebäude verflucht ist. Es gab Morde, Brände, Selbstmorde und andere tragische Ereignisse, die angeblich häufiger passierten als an anderen Orten. Für viele ist es einfach eine urbane Legende."
|
||||
},
|
||||
"activities.4.description.2": {
|
||||
"pl-PL": "Podobno od dłuższego czasu nie dochodzi tu do żadnych niecodziennych sytuacji. Jednak mieszkańcy za przykład podają częste samobójstwa - najpierw z balkonu skoczyła młoda kobieta, później młody chłopak odebrał swoje życie w podobny sposób, a kolejny powiesił się w piwnicy.",
|
||||
"pl-SL": "Podobno od dłuższego czasu niy dochodzi tukej do żadnych niecodziennych sytuacji. Jednak mieszkańcy za przykład podają częste samobójstwa - najpierw z balkonu skoczyła młodo baba, potym młody chop odebrał swoje życie we podobny sposób, a kolejny powieszył sie we piwnicy.",
|
||||
"en": "Apparently, there have been no unusual situations here for some time. However, residents cite frequent suicides as an example - first a young woman jumped from the balcony, then a young man took his life in a similar way, and another hanged himself in the basement.",
|
||||
"de": "Anscheinend gibt es hier seit einiger Zeit keine ungewöhnlichen Situationen. Die Bewohner nennen jedoch häufige Selbstmorde als Beispiel - zuerst sprang eine junge Frau vom Balkon, dann nahm sich ein junger Mann auf ähnliche Weise das Leben, und ein anderer erhängte sich im Keller."
|
||||
},
|
||||
"activities.5.description.1": {
|
||||
"pl-PL": "Stara Cerkiew w Chróścinie jest podobno nawiedzona przez ducha małego chłopca - syna dawnych właścicieli pobliskiego pałacu. Zjawa pojawia się na położonym za cerkwią cmentarzu i, według świadków, można ją zobaczyć głównie nocą. Duch ten podobno płacze i woła matkę, co nadaje miejscu dodatkowy, upiorny charakter.",
|
||||
"pl-SL": "Staro cerkiew w Chróścinie je podobno nawiedzono przez ducha małego chłopca - syna dawnych właścicieli pobliskiego pałacu. Zjawa pojawia sie na położonym za cerkwią cmentarzu i, według świadków, można ją zobaczyć głównie nocą. Duch ten podobno płacze i woło matkę, co nadaje miejscu dodatkowy, upiorny charakter.",
|
||||
"en": "The Old Church in Chróścina is said to be haunted by the ghost of a young boy - the son of the former owners of a nearby palace. The apparition appears in the cemetery behind the church and, according to witnesses, can be seen mainly at night. This ghost is said to cry and call for his mother, adding an eerie atmosphere to the place.",
|
||||
"de": "Die alte Kirche in Chróścina soll vom Geist eines kleinen Jungen - dem Sohn der ehemaligen Besitzer eines nahegelegenen Schlosses - heimgesucht werden. Die Erscheinung taucht auf dem hinter der Kirche gelegenen Friedhof auf und kann laut Zeugen hauptsächlich nachts gesehen werden. Dieser Geist soll weinen und nach seiner Mutter rufen, was dem Ort eine zusätzliche, gespenstische Atmosphäre verleiht."
|
||||
},
|
||||
"activities.5.description.2": {
|
||||
"pl-PL": "Lokalne legendy mówią, że duch chłopca pojawia się w szczególności w noc Wszystkich Świętych. Wielu mieszkańców Chróściny unika wówczas tego miejsca, twierdząc, że zjawisko to niesie ze sobą przeczucie nieszczęścia.",
|
||||
"pl-SL": "Lokalne legendy godajō, że duch chłopca pojawia sie w szczególności we noc Wszystkich Świętych. Wielu mieszkańców Chróściny uniko w tym czasie tego miejsca, twierdząc, że zjawisko to niesie ze sobą przeczucie nieszczęścia.",
|
||||
"en": "Local legends say that the boy's ghost appears especially on All Saints' Night. Many residents of Chróścina avoid the place during this time, claiming that the phenomenon brings a sense of impending misfortune.",
|
||||
"de": "Lokale Legenden besagen, dass der Geist des Jungen besonders in der Nacht zu Allerheiligen erscheint. Viele Einwohner von Chróścina meiden diesen Ort zu dieser Zeit und behaupten, dass das Phänomen ein Gefühl drohenden Unheils mit sich bringt."
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user