forked from infoshareacademy/jfdz14-zdroweat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlang.js
386 lines (367 loc) · 14.8 KB
/
lang.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
let mlCodes = [
{
code: 'en',
name: 'English',
},
{
code: 'pl',
name: 'Polski',
},
]
let MLstrings = [
{
English: 'HOME',
Polski: 'STRONA GŁÓWNA',
},
{
English: 'ABOUT',
Polski: 'O PROJEKCIE',
},
{
English: 'MORE',
Polski: 'WIĘCEJ',
},
{
English: 'ABOUT US',
Polski: 'O NAS',
},
{
English: 'SIGN UP',
Polski: 'ZAPISZ SIĘ',
},
{
English: 'HERE COMES APP FOR ECOMANIACS',
Polski: 'NADCHODZI APLIKACJA DLA ECO MANIAKÓW',
},
{
English: 'FIND A PLACE, WHERE YOU CAN EAT FIT MEALS',
Polski: 'ZNAJDŹ MIEJSCE, GDZIE MOŻESZ ZJEŚĆ FIT POSIŁKI',
},
{
English: 'BUY NATURAL PRODUCTS',
Polski: 'KUPUJ NATURALNE PRODUKTY',
},
{
English: 'BE THE FIRST',
Polski: 'BĄDŹ PIERWSZY',
},
{
English: 'ABOUT PROJECT',
Polski: 'O PPROJEKCIE',
},
{
English: 'RESTAURANTS',
Polski: 'RESTAURACJE',
},
{
English:
'Nettle burger? Pita with falafel? At loacation or with delivery? Our interactive map will allow you to find what you like! You can look for pubs by location or by dish name.',
Polski:
'Burger z pokrzywy? Pita z falafelem? Na miejscu, czy z dowozem? Nasza interaktywna mapa pozwoli Ci znaleźć to, na co masz ochotę! U nas możesz szukać knajpek według lokalizacji lub po nazwie dania. Zdrowa kuchnia w Trójmieście nie ma przed nami żadnych tajemnic!',
},
{
English: 'RECIPES',
Polski: 'PRZEPISY',
},
{
English:
'Everyone sometimes wants to cook something themselves. When the mind is empty and ideas gone, ZdrowEat comes to the rescue! Salads, power bowle, vegetable burgers- you will find here proven recipes to make your diet tasty and balanced. Cook healthy - live healthy!',
Polski:
'Każdy czasem chce coś ugotować sam. Kiedy w głowie pustka i pomysłów brak, ZdrowEat przychodzi z odsieczą! Sałatki, power bowle, burgery roślinne - u nas znajdziesz sprawdzone przepisy, dzięki którym Twoja dieta będzie smaczna i zbilansowana. Gotuj zdrowo - żyj zdrowo!',
},
{
English: 'STORES',
Polski: 'SKLEPY',
},
{
English:
'You have already found your dream recipe. You cook. Flavors and aromas create perfect harmony. Only the last ingredients left. But wait... Where can you find yeast flakes? Where to look for millet flour? In this section you will learn the answers to these questions. Health food stores in the Tri-City - only on ZdrowEat!',
Polski:
'Znalazłeś już swój wymarzony przepis. Gotujesz. Smaki i aromaty tworzą idealną harmonię. Już tylko ostatnie składniki. Ale zaraz... Gdzie znaleźć płatki drożdżowe? Gdzie szukać mąki jaglanej? W tej sekcji poznasz odpowiedzi na te pytania. Sklepy ze zdrową żywnością w Trójmieście - tylko na ZdrowEat!',
},
{
English: 'ONLINE STORES',
Polski: 'SKLEP ONLINE',
},
{
English:
"Have they closed the store right in front of you? Is there a war or pandemic? Don't worry - check out our online store! We offer a wide range of BIO products from reliable suppliers. We are open 24 hours a day, 7 days a week, and we deliver free of charge within 1 day of ordering. Check us out!",
Polski:
'Sklep zamknęli Ci przed nosem? Trwa wojna lub pandemia? Nie łam się - sprawdź nasz sklep online! Oferujemy szeroki asortyment produktów BIO od sprawdzonych dostawców. Jesteśmy czynni 24h na dobę, 7 dni w tygodniu, a dostawy realizujemy bezpłatnie w ciągu 1 doby od zamówienia. Sprawdź nas!',
},
{
English: 'LEARN MORE',
Polski: 'DOWIEDZ SIĘ WIĘCEJ',
},
{
English: 'PROMOTIONS',
Polski: 'PROMOCJE',
},
{
English:
'No more excuses that health is expensive! Only with us you can get attractive discount codes for restaurants, as well as for health food stores.',
Polski:
'Koniec z wymówkami, że jak zdrowo to zaraz drogo! Tylko u nas możesz zdobyć atrakcyjne kody rabatowe do restauracji jak również do sklepów ze zdrową żywnością.',
},
{
English:
'Not only that - if you subscribe to our Newsletter you will receive a 10% discount on our assortment at the start!',
Polski:
'Mało tego - jeśli zapiszesz się na nasz Newsletter otrzymasz na start 10% rabatu na nasz asortyment!',
},
{
English: 'Do not miss this opportunity!',
Polski: 'Nie przegap takiej okazji!',
},
{
English: 'BUY LOCALLY',
Polski: 'KUPUJ LOKALNIE',
},
{
English:
'Are you fed up with processed foods? After returning from the store, you cannot stop thinking if the eggs were caged, and the bread did not spend half a year in the freezer?',
Polski:
'Masz dosyć przetworzonej żywności? Po powrocie ze sklepu nie dają Ci spokoju myśli czy jajka były z chowu klatkowego, a chleb nie spędził w zamrażarce pół roku?',
},
{
English:
'Along with us support local producents. Buying at Zdroweat you support not only local bisiness and environment, but also your health.',
Polski:
' Razem z nami wspieraj lokalnych producentów. Kupując u nas wspierasz nie tylko lokalny biznes i ochronę środowiska, ale przede wszystkim swoje zdrowie.',
},
{
English: 'ECOLOGY',
Polski: 'EKOLOGIA',
},
{
English:
'We dont stop at healthy food. We use high quality disposable, ecological packaging for transport orders. They are environmentally friendly, fully biodegradable products.',
Polski:
'Na zdrowej żywności nie poprzestajemy. Stosujemy wysokiej jakości jednorazowe, ekologiczne opakowania do przewozu zamówień. Są to przyjazne dla środowiska, w pełni biodegradowalne produkty.',
},
{
English: 'OUR EXPERTS',
Polski: 'NASI EKSPERCI',
},
{
English:
'You have doubts which product will meet your best expectations? Which restaurant to choose or which vegetable milk is suitable for your diet? Write to our experts! Our team will advise you the best they can.',
Polski:
'Masz wątpliwości, który produkt spełni najlepiej Twoje oczekiwania? Którą restaurację wybrać albo które mleko roślinne jest odpowiednie dla Twojej diety? Napisz do naszych Ekspertów! Nasz Zespół Ci doradzi, najlepiej jak potrafi.',
},
{
English: 'STAY UPDATED!',
Polski: 'BĄDŹ NA BIEŻĄCO!',
},
{
English:
'By subscribing to the Newsletter you can be sure that we will keep you up to date about all nutrition news, culinary events in the Tri-City and about promotions.',
Polski:
'Zapisując się na Newsletter masz pewność, że na bieżąco będziemy Cię informować o wszystkich nowinkach żywieniowych, wydarzeniach kulinarnych w Trójmieście oraz o promocjach.',
},
{
English: 'ZDROWEAT APP',
Polski: 'APLIKACJA ZDROWEAT',
},
{
English:
'Our application is easy to use, and most importantly - absolutely free! Wait for an email notification. We will let you know right after its premiere.',
Polski:
'Nasza aplikacja jest prosta w obsłudze, a co najważniejsze - zupełnie darmowa! Czekaj na powiadomienie na maila. Damy Ci znać zaraz po jej premierze.',
},
{
English: 'LETS MEET',
Polski: 'POZNAJMY SIĘ',
},
{
English:
'We organize culinary workshops and meetings! if you are ZdrowoManiac, like us on Facebook, follow the Newsletter and be sure to come to one of the meetings!',
Polski:
'Organizujemy warsztaty i spotkania kulinarne! Jeśli jesteś ZdrowoManiakiem polub nas na facebooku, śledź Newsletter i koniecznie przyjdź na jedno ze spotkań!',
},
{
English: 'SECURITY',
Polski: 'BEZPIECZEŃSTWO',
},
{
English:
'In this difficult time related to the epidemic, we are trying to get out of you on the opposite. Without giving up healthy habits, you can still order products in our store and take-out food - we ensure compliance with all sanitary recommendations',
Polski:
'W tym trudnym czasie związanym z epidemią, staramy się Wam wyjśc na przeciw. Nie rezygnując ze zdrowych przyzwyczajeń, nadal możesz zamawiać produkty w naszym sklepie i jedzenie na wynos - zapewniamy zachowanie wszelkich zaleceń sanitarnych',
},
{
English: 'ABOUT US - WE CREATE ZDROWEAT!',
Polski: 'O NAS - TO MY TWORZYMY ZDROWEAT!',
},
{
English: 'On daily basis I design renewables.',
Polski: 'Na codzień projektuję odnawialne źródła energii.',
},
{
English:
'Personally, I love to travel, sleep under a tent, paint (paintings), and the peak of dreams is an evening with a good book and a mug hot chocolate.',
Polski:
'Osobiście zaś uwielbiam podróżować, spać pod namiotem, malować (obrazy), a szczytem marzeń jest wieczór z dobrą książką i kubkiem gorącej czekolady.',
},
{
English:
'Good food engineer who supervises buildings from concrete, and in his free time watches Thai series and draws handsome gentlemen. A total fantasy freak spending more part of the day in the clouds.',
Polski:
'Inżynier dobrego jedzenia, który na codzień nadzoruje budynki z betonu, a w wolnej chwili ogląda tajlandzkie seriale i rysuje przystojnych panów. Totalny freak fantastyki, spędzający większą część dnia w obłokach.',
},
{
English:
'Food technologist. I watch the substantive content of the information provided on the website. Privately, I love sport (football, tennis) and everything related to avionics.',
Polski:
'Technolog żywności. Pilnuję merytorycznej treści przekazywanych na stronie informacji. Prywatnie uwielbiam sport (piłka nożna, tenis) i wszystko co związane z awioniką.',
},
{
English:
'Steel structure designer. Privately - a fan of unhealthy food that under pressure and increasing body weight looks for tasty alternatives to fat-dripping meats.',
Polski:
'Projektant konstrukcji stalowych. Prywatnie - fan niezdrowego jedzenia, który pod wpływem nacisków i rosnącej masy ciała szuka smakowitych alternatyw dla ociekających tłuszczem mięsiw.',
},
{
English: 'SIGN UP FOR NEWSLETTER!',
Polski: 'ZAPISZ SIĘ DO NEWSLETTERA!',
},
{
English:
'Use the form below to keep up to date with all information about the application.',
Polski:
'Skorzystaj z poniższego formularza, aby być na bieżąco z wszystkimi informacjami dotyczącymi aplikacji.',
},
{
English:
'We will send you one e-mail with information that you can now use the ZdrowEat application. By participating in the registration you will get the fastest access to ZdrowEat!',
Polski:
'Wyślemy Ci jednego maila z informacją, że możesz już korzystać z aplikacji ZdrowEat. Biorąc udział w zapisie uzyskasz jak najszybszy dostęp do ZdrowEat!',
},
{
English: 'Name',
Polski: 'Imię',
},
{
English:
'I agree to receive commercial information by e-mail to the above e-mail address sent by ZdrowEat.',
Polski:
'Wyrażam zgodę na otrzymywanie informacji handlowych drogą elektroniczną na podany powyżej adres poczty elektronicznej wysyłanych przez ZdrowEat',
},
{
English: 'SUBMIT',
Polski: 'WYŚLIJ',
},
{
English: 'Webpage created by Karina, Paulina, Michał and Maciek',
Polski: 'Strona stworzona przez Karinę, Paulinę, Michała i Maćka',
},
{
English: 'All rights reserved',
Polski: 'Wszelkie prawa zastrzeżone',
},
{
English:
'ZdrowEat uses cookies in accordance with the settings of your browser. By using our services, you accept use such files. You can read more about it in',
Polski:
' ZdrowEat wykorzystuje pliki cookie zgodnie z ustawieniami Twojej przeglądarki. Korzystając z naszych usług, akceptujesz używanie takich plików. Więcej na ten temat możesz przeczytać w',
},
{
English: 'Privacy policy.',
Polski: 'Polityce prywatności.',
},
{
English: 'I Accept',
Polski: 'Akceptuję',
},
]
let mlrLangInUse
let mlr = function ({
dropID = "mbPOCControlsLangDrop",
stringAttribute = "data-mlr-text",
chosenLang = "Polski",
mLstrings = MLstrings,
countryCodes = false,
countryCodeData = [],
} = {}) {
let root = document.documentElement
let listOfLanguages = Object.keys(mLstrings[0])
mlrLangInUse = chosenLang;
(function createMLDrop() {
let mbPOCControlsLangDrop = document.getElementById(dropID)
mbPOCControlsLangDrop.innerHTML = ''
listOfLanguages.forEach(function (lang) {
let HTMLoption = document.createElement('option')
HTMLoption.value = lang
HTMLoption.textContent = lang
mbPOCControlsLangDrop.appendChild(HTMLoption)
if (lang === chosenLang) {
mbPOCControlsLangDrop.value = lang
}
})
mbPOCControlsLangDrop.addEventListener('change', function (e) {
mlrLangInUse =
mbPOCControlsLangDrop[mbPOCControlsLangDrop.selectedIndex].value
resolveAllMLStrings()
if (countryCodes === true) {
if (!Array.isArray(countryCodeData) || !countryCodeData.length) {
console.warn('Cannot access strings for language codes')
return
}
root.setAttribute('lang', updateCountryCodeOnHTML().code)
}
setLangInStorage()
})
window.onload = function () {
if (localStorage.getItem('chosenLang') === 'English') {
mlrLangInUse = localStorage.getItem('chosenLang')
mbPOCControlsLangDrop.value = localStorage.getItem('chosenLang')
mlr.chosenLang = localStorage.getItem('chosenLang')
resolveAllMLStrings()
if (countryCodes === true) {
if (!Array.isArray(countryCodeData) || !countryCodeData.length) {
console.warn('Cannot access strings for language codes')
return
}
root.setAttribute('lang', mlCodes[0].code)
}
}
}
})()
function setLangInStorage() {
localStorage.setItem('chosenLang', mlrLangInUse)
}
function updateCountryCodeOnHTML() {
return countryCodeData.find(function (this2Digit) {
return this2Digit.name === mlrLangInUse
})
}
function resolveAllMLStrings() {
let stringsToBeResolved = document.querySelectorAll(
'[' + stringAttribute + ']',
)
stringsToBeResolved.forEach(function (stringToBeResolved) {
let originaltextContent = stringToBeResolved.innerText
let resolvedText = resolveMLString(originaltextContent, mLstrings)
stringToBeResolved.innerText = resolvedText
})
}
}
function resolveMLString(stringToBeResolved, mLstrings) {
let matchingStringIndex = mLstrings.find(function (stringObj) {
let stringValues = Object.values(stringObj)
return stringValues.includes(stringToBeResolved)
})
if (matchingStringIndex) {
return matchingStringIndex[mlrLangInUse]
} else {
return stringToBeResolved
}
}
mlr({
dropID: 'mbPOCControlsLangDrop',
stringAttribute: 'data-mlr-text',
chosenLang: 'Polski',
mLstrings: MLstrings,
countryCodes: true,
countryCodeData: mlCodes,
})