-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlocalization.js
109 lines (94 loc) · 3.38 KB
/
localization.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const select = document.getElementById("LanguageSelect");
select.addEventListener("change", changeUrlLanguage);
const allLang = ['en', 'ru'];
const lang = changeLanguage();
function changeUrlLanguage() {
let lang = select.value;
location.href = window.location.pathname + "#" + lang;
location.reload();
}
function changeLanguage() {
let hash = window.location.hash.substring(1);
if (!allLang.includes(hash)) {
location.href = window.location.pathname + "#en";
location.reload();
}
select.value = hash;
for (let key in langArray) {
if (langArray.hasOwnProperty(key)) {
const element = document.getElementById(key);
if (element) {
element.textContent = langArray[key][hash];
}
}
}
return select.value;
}
function checkingTheValidityOfDatesLocalization(str) {
switch (str) {
case "day1":
return lang == "ru" ? "Первый день введён неверно!#" : "The first day is incorrect!#";
case "day2":
return lang == "ru" ? "Второй день введён неверно!#" : "The second day is incorrect!#";
case "year1":
return lang == "ru" ? "Первый год введён неверно!#" : "The first year is incorrect!#";
case "year2":
return lang == "ru" ? "Второй день введён неверно!#" : "The second year is incorrect!#";
case "tooBigYear":
return lang == "ru" ? "Введен слишком большой год!#" : "Enter a smaller year!#";
};
}
// change text!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function isGregorianTransitionPeriodLocalization() {
const ruErrorMessage = "Нет таких дат!";
const enErrorMessage = "There are no such dates!";
return lang == "ru" ? ruErrorMessage : enErrorMessage;
}
function daysLocalization(days) {
if (lang == "ru") {
return daysLocalizationRU(days);
} else {
return daysLocalizationEN(days);
}
}
function daysLocalizationRU(days) {
if (([11, 12, 13, 14].includes(days % 100)) || [5, 6, 7, 8, 9, 0].includes(days % 10)) return `${days} дней`;
if (days % 10 == 1) return `${days} день`;
return `${days} дня`;
}
function daysLocalizationEN(days) {
return days == 1 ? "1 day" : `${days} days`;
}
function monthsLocalization(months) {
if (lang == "ru") {
return monthsLocalizationRU(months);
} else {
return monthsLocalizationEN(months);
}
}
function monthsLocalizationRU(months) {
if (months == 1) return `${months} месяц`;
if (months < 5) return `${months} месяца`;
return `${months} месяцев`;
}
function monthsLocalizationEN(months) {
return months == 1 ? "1 month" : `${months} months`;
}
function yearsLocalization(years) {
if (lang == "ru") {
return yearsLocalizationRU(years);
} else {
return yearsLocalizationEN(years);
}
}
function yearsLocalizationRU(years) {
if (([11, 12, 13, 14].includes(years % 100)) || [5, 6, 7, 8, 9, 0].includes(years % 10)) return `${years} лет`;
if (years % 10 == 1) return `${years} год`;
return `${years} года`;
}
function yearsLocalizationEN(years) {
return years == 1 ? "1 year" : `${years} years`;
}
function orLocalization(){
return lang == "ru" ? "<br> или <br>" : "<br> or <br>";
}