From e241008cd53d109745f333c485bc81bfbcf5ae90 Mon Sep 17 00:00:00 2001 From: AriaieBOY Date: Thu, 3 Nov 2022 21:18:23 +0330 Subject: [PATCH 01/65] Update fa-IR.json --- lang/fa-IR.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lang/fa-IR.json b/lang/fa-IR.json index 40121d45..09f35c77 100644 --- a/lang/fa-IR.json +++ b/lang/fa-IR.json @@ -36,7 +36,7 @@ "label.more": "بیشتر", "label.name": "نام", "label.new-password": "رمز جدید", - "label.none": "None", + "label.none": "هیچ", "label.owner": "ایجاد شده توسط", "label.password": "رمز", "label.passwords-dont-match": "رمزها یکسان نیستند", @@ -67,7 +67,7 @@ "message.confirm-reset": "آیا از بازنشانی آمار {target} مطمئن هستید?", "message.copied": "کپی شد!", "message.delete-warning": "همه‌ی داده‌های مرتبط هم حذف خواهد شد.", - "message.edit-dashboard": "Edit dashboard", + "message.edit-dashboard": "ویرایش داشبورد", "message.failure": "مشکلی پیش آمده است.", "message.get-share-url": "دریافت URL برای اشتراک گذاری", "message.get-tracking-code": "گرفتن کد رهگیری", @@ -103,9 +103,9 @@ "metrics.operating-systems": "سیستم‌عامل‌ها", "metrics.page-views": "بازدید صفحه", "metrics.pages": "صفحه‌ها", - "metrics.query-parameters": "Query parameters", + "metrics.query-parameters": "پارامترهای کوئری", "metrics.referrers": "ارجاع دهندگان", - "metrics.screens": "Screens", + "metrics.screens": "نمایشگرها", "metrics.unique-visitors": "بازدیدکننده‌های یکتا", "metrics.views": "بازدید", "metrics.visitors": "بازدیدکننده" From 268c0366320f84b1753ef7483cf52acec7cf41a2 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Mon, 7 Nov 2022 18:38:43 +0000 Subject: [PATCH 02/65] custom fr-FR date format --- lib/date.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/date.js b/lib/date.js index cae39ce4..4f92a6cd 100644 --- a/lib/date.js +++ b/lib/date.js @@ -198,6 +198,11 @@ export const customFormats = { p: 'ha', pp: 'h:mm:ss', }, + 'fr-FR': { + 'M/d': 'd/M', + 'MMM d': 'd MMM', + 'EEE M/d': 'EEE d/M', + }, }; export function dateFormat(date, str, locale = 'en-US') { From 6a2ea9f7cce0b5e2084ed35936f07b8812e602ee Mon Sep 17 00:00:00 2001 From: ShizuMilof <95567035+ShizuMilof@users.noreply.github.com> Date: Wed, 9 Nov 2022 09:42:02 +0100 Subject: [PATCH 03/65] Create hr-HR.json --- lang/hr-HR.json | 120 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lang/hr-HR.json diff --git a/lang/hr-HR.json b/lang/hr-HR.json new file mode 100644 index 00000000..daf53d61 --- /dev/null +++ b/lang/hr-HR.json @@ -0,0 +1,120 @@ +{ + "label.accounts": "Računi", + "label.add-account": "Dodaj račun", + "label.add-column": "Dodaj stupac", + "label.add-filter": "Dodaj filter", + "label.add-website": "Dodaj web stranicu", + "label.administrator": "Administrator", + "label.all": "Sve", + "label.all-time": "Svo vrijeme" , + "label.all-websites": "Sve web stranice", + "label.back": "Natrag ", + "label.cancel": "Odustani", + "label.change-password": "Promijeni lozinku", + "label.confirm-password": "Potvrdi lozinku", + "label.copy-to-clipboard": "Kopiraj u međuspremnik", + "label.current-password": "Trenutna lozinka", + "label.custom-range": "Prilagođeni raspon", + "label.dashboard": "Nadzorna ploča", + "label.date-range": "Raspon datuma", + "label.default-date-range": "Zadani datumski raspon", + "label.delete": "Obriši", + "label.delete-account": "Obriši račun", + "label.delete-website": "Obriši web stranicu", + "label.dismiss": "Odbaci", + "label.domain": "Domena", + "label.edit": "Uredi", + "label.edit-account": "Uredi račun", + "label.edit-website": "Uredi web stranicu", + "label.enable-share-url": "Omogući dijeljenje URL-a", + "label.event-data": "Podaci događaja", + "label.field-name": "Naziv polja", + "label.invalid": "Nesipravno", + "label.invalid-domain": "Neispravna domena", + "label.language": "Jezik", + "label.last-days": "Zadnjih {x} dana", + "label.last-hours": "Zadnjih {x} sati", + "label.logged-in-as": "Prijavljen kao {username}", + "label.login": "Prijava", + "label.logout": "Odjava", + "label.more": "Više", + "label.name": "Ime", + "label.new-password": "Nova lozinka", + "label.none": "Ništa", + "label.owner": "Vlasnik", + "label.password": "Lozinka", + "label.passwords-dont-match": "Lozinka nije točna", + "label.profile": "Profil", + "label.realtime": "Stvarno vrijeme", + "label.realtime-logs":"Trenutni zapisi", + "label.refresh": "Osvježi", + "label.required": "Potrebna", + "label.reset": "Resetirati", + "label.reset-website": "Resetirati web stranicu", + "label.save": "Spremi", + "label.search": "Pretraži", + "label.settings": "Postavke", + "label.share-url": "Podijeli URL", + "label.single-day": "Jedan dan", + "label.theme": "Tema", + "label.this-month": "Ovaj mjesec", + "label.this-week": "Ovaj tjedan", + "label.this-year": "Ova godina", + "label.timezone": "Vremenska zona", + "label.today": "Danas", + "label.tracking-code": "Kod za praćenje", + "label.type": "Tip", + "label.unknown": "Nepoznato", + "label.username": "Korisničko ime", + "label.value": "Vrijednost", + "label.view-details": "Pogledaj detalje", + "label.websites": "Web stranice", + "label.yesterday": "Jučer", + "message.active-users": "{x} Trenutno {x, plural, one {visitor} other {visitors}}", + "message.confirm-delete": "Jeste li sigurni da želite obrisati {target}?", + "message.confirm-reset": "Jeste li sigurni da želite resetirati {target}'s statistiku?", + "message.copied": "Kopirano!", + "message.delete-warning": "Izbrisat će se svi povezani podaci.", + "message.edit-dashboard": "Uredi nadzornu ploču", + "message.failure": "Nešto je pošlo po zlu.", + "message.get-share-url": "Dohvati URL za dijeljenje", + "message.get-tracking-code": "Dohvati kod za praćenje", + "message.go-to-settings": "Idi u postavke", + "message.incorrect-username-password": "Neispravno korisničke ime/lozinka.", + "message.log.visitor": "Posjetitelj iz {country} koristi {browser} na {os} {device}", + "message.new-version-available": "Nova verzija umami {version} je dostupna!", + "message.no-data-available": "Nema dostupnih podataka.", + "message.no-websites-configured": "Nemate konfiguriranu nijednu web stranicu.", + "message.page-not-found": "Stranica nije pronađena.", + "message.powered-by": "Powered by {name}", + "message.reset-warning": "Sve statistike za ovu web stranicu bit će izbrisane, ali će vaš kod za praćenje ostati netaknut.", + "message.save-success": "Uspješno spremljeno.", + "message.share-url": "Ovo je javno dijeljeni URL za {target}.", + "message.toggle-charts": "Uključi/isključi grafikone", + "message.track-stats": "Da biste pratili statistiku za {target}, postavite sljedeći kod u odjeljak {head} svoje web stranice.", + "message.type-delete": "Upišite {delete} u donji okvir za potvrdu.", + "message.type-reset": " Upišite {reset} u donji okvir za potvrdu. ", + "metrics.actions": "Akcije", + "metrics.average-visit-time": "Prosječno vrijeme posjeta", + "metrics.bounce-rate": "Stopa napuštanja stranice", + "metrics.browsers": "Web preglednici", + "metrics.countries": "Zemlje", + "metrics.device.desktop": "Pc", + "metrics.device.laptop": "Laptop", + "metrics.device.mobile": "Mobitel", + "metrics.device.tablet": "Tablet", + "metrics.devices": "Uređaji", + "metrics.events": "Događaji", + "metrics.filter.combined": "Kombinirano", + "metrics.filter.raw": "Neobrađeni podaci", + "metrics.languages": "Jezici", + "metrics.operating-systems": "Operativni sustavi", + "metrics.page-views": "Pregledi stranice", + "metrics.pages": "Stranice", + "metrics.query-parameters": "Parametri upita", + "metrics.referrers": "Upučivaći", + "metrics.screens": "Zasloni", + "metrics.unique-visitors": "Jedinstveni posjetitelji", + "metrics.views": "Pregledi", + "metrics.visitors": "Posjetitelji" +} From 2555ee09d166f6458ca2e78c48515553aaad38ec Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 12 Nov 2022 21:03:47 -0800 Subject: [PATCH 04/65] Added Croatian language. --- lib/lang.js | 2 + public/intl/country/hr-HR.json | 1 + public/intl/language/hr-HR.json | 1 + public/intl/messages/fa-IR.json | 8 +- public/intl/messages/hr-HR.json | 854 ++++++++++++++++++++++++++++++++ 5 files changed, 862 insertions(+), 4 deletions(-) create mode 100644 public/intl/country/hr-HR.json create mode 100644 public/intl/language/hr-HR.json create mode 100644 public/intl/messages/hr-HR.json diff --git a/lib/lang.js b/lib/lang.js index dcb5cd1a..05b951c8 100644 --- a/lib/lang.js +++ b/lib/lang.js @@ -14,6 +14,7 @@ import { faIR, he, hi, + hr, id, it, ja, @@ -61,6 +62,7 @@ export const languages = { 'he-IL': { label: 'עברית', dateLocale: he }, 'hi-IN': { label: 'हिन्दी', dateLocale: hi }, 'hu-HU': { label: 'Hungarian', dateLocale: hu }, + 'hr-HR': { label: 'hrvatski', dateLocale: hr }, 'it-IT': { label: 'Italiano', dateLocale: it }, 'id-ID': { label: 'Bahasa Indonesia', dateLocale: id }, 'ja-JP': { label: '日本語', dateLocale: ja }, diff --git a/public/intl/country/hr-HR.json b/public/intl/country/hr-HR.json new file mode 100644 index 00000000..afa7acfb --- /dev/null +++ b/public/intl/country/hr-HR.json @@ -0,0 +1 @@ +{"AF":"Afganistan","AX":"\u00c5landski otoci","AL":"Albanija","DZ":"Al\u017eir","AS":"Ameri\u010dka Samoa","VI":"Ameri\u010dki Djevi\u010danski otoci","AD":"Andora","AO":"Angola","AI":"Angvila","AQ":"Antarktika","AG":"Antigva i Barbuda","AR":"Argentina","AM":"Armenija","AW":"Aruba","AU":"Australija","AT":"Austrija","AZ":"Azerbajd\u017ean","BS":"Bahami","BH":"Bahrein","BD":"Banglade\u0161","BB":"Barbados","BE":"Belgija","BZ":"Belize","BJ":"Benin","BM":"Bermudi","BY":"Bjelorusija","BW":"Bocvana","BO":"Bolivija","BA":"Bosna i Hercegovina","CX":"Bo\u017ei\u0107ni otok","BR":"Brazil","VG":"Britanski Djevi\u010danski otoci","IO":"Britanski Indijskooceanski teritorij","BN":"Brunej","BG":"Bugarska","BF":"Burkina Faso","BI":"Burundi","BT":"Butan","CY":"Cipar","CK":"Cookovi Otoci","ME":"Crna Gora","CW":"Cura\u00e7ao","TD":"\u010cad","CZ":"\u010ce\u0161ka","CL":"\u010cile","DK":"Danska","DM":"Dominika","DO":"Dominikanska Republika","DJ":"D\u017eibuti","EG":"Egipat","EC":"Ekvador","GQ":"Ekvatorska Gvineja","ER":"Eritreja","EE":"Estonija","SZ":"Esvatini","ET":"Etiopija","FK":"Falklandski otoci","FO":"Farski otoci","FJ":"Fid\u017ei","PH":"Filipini","FI":"Finska","FR":"Francuska","GF":"Francuska Gijana","PF":"Francuska Polinezija","TF":"Francuski ju\u017eni i antarkti\u010dki teritoriji","GA":"Gabon","GM":"Gambija","GH":"Gana","GI":"Gibraltar","GR":"Gr\u010dka","GD":"Grenada","GL":"Grenland","GE":"Gruzija","GP":"Guadalupe","GU":"Guam","GG":"Guernsey","GY":"Gvajana","GT":"Gvatemala","GN":"Gvineja","GW":"Gvineja Bisau","HT":"Haiti","HN":"Honduras","HR":"Hrvatska","IN":"Indija","ID":"Indonezija","IQ":"Irak","IR":"Iran","IE":"Irska","IS":"Island","IT":"Italija","IL":"Izrael","JM":"Jamajka","JP":"Japan","YE":"Jemen","JE":"Jersey","JO":"Jordan","GS":"Ju\u017ena Georgija i Ju\u017eni Sendvi\u010dki Otoci","KR":"Ju\u017ena Koreja","SS":"Ju\u017eni Sudan","ZA":"Ju\u017enoafri\u010dka Republika","KY":"Kajmanski otoci","KH":"Kambod\u017ea","CM":"Kamerun","CA":"Kanada","BQ":"Karipski otoci Nizozemske","QA":"Katar","KZ":"Kazahstan","KE":"Kenija","CN":"Kina","KG":"Kirgistan","KI":"Kiribati","CC":"Kokosovi (Keelingovi) otoci","CO":"Kolumbija","KM":"Komori","CG":"Kongo - Brazzaville","CD":"Kongo - Kinshasa","CR":"Kostarika","CU":"Kuba","KW":"Kuvajt","LA":"Laos","LV":"Latvija","LS":"Lesoto","LB":"Libanon","LR":"Liberija","LY":"Libija","LI":"Lihten\u0161tajn","LT":"Litva","LU":"Luksemburg","MG":"Madagaskar","HU":"Ma\u0111arska","MW":"Malavi","MV":"Maldivi","MY":"Malezija","ML":"Mali","UM":"Mali udaljeni otoci SAD-a","MT":"Malta","MA":"Maroko","MH":"Mar\u0161alovi Otoci","MQ":"Martinique","MR":"Mauretanija","MU":"Mauricijus","YT":"Mayotte","MX":"Meksiko","FM":"Mikronezija","MM":"Mjanmar (Burma)","MD":"Moldavija","MC":"Monako","MN":"Mongolija","MS":"Montserrat","MZ":"Mozambik","NA":"Namibija","NR":"Nauru","NP":"Nepal","NE":"Niger","NG":"Nigerija","NI":"Nikaragva","NU":"Niue","NL":"Nizozemska","NO":"Norve\u0161ka","NC":"Nova Kaledonija","NZ":"Novi Zeland","DE":"Njema\u010dka","CI":"Obala Bjelokosti","OM":"Oman","HM":"Otoci Heard i McDonald","PN":"Otoci Pitcairn","TC":"Otoci Turks i Caicos","BV":"Otok Bouvet","IM":"Otok Man","NF":"Otok Norfolk","PK":"Pakistan","PW":"Palau","PS":"Palestinsko podru\u010dje","PA":"Panama","PG":"Papua Nova Gvineja","PY":"Paragvaj","PE":"Peru","PL":"Poljska","PR":"Portoriko","PT":"Portugal","HK":"PUP Hong Kong Kina","MO":"PUP Makao Kina","RE":"R\u00e9union","RW":"Ruanda","RO":"Rumunjska","RU":"Rusija","BL":"Saint Barth\u00e9lemy","MF":"Saint Martin","PM":"Saint-Pierre-et-Miquelon","SB":"Salomonski Otoci","SV":"Salvador","WS":"Samoa","SM":"San Marino","SA":"Saudijska Arabija","SC":"Sej\u0161eli","SN":"Senegal","SL":"Sijera Leone","SG":"Singapur","SX":"Sint Maarten","SY":"Sirija","US":"Sjedinjene Ameri\u010dke Dr\u017eave","KP":"Sjeverna Koreja","MK":"Sjeverna Makedonija","MP":"Sjevernomarijanski otoci","SK":"Slova\u010dka","SI":"Slovenija","SO":"Somalija","RS":"Srbija","CF":"Srednjoafri\u010dka Republika","SD":"Sudan","SR":"Surinam","SJ":"Svalbard i Jan Mayen","SH":"Sveta Helena","LC":"Sveta Lucija","KN":"Sveti Kristofor i Nevis","ST":"Sveti Toma i Princip","VC":"Sveti Vincent i Grenadini","ES":"\u0160panjolska","LK":"\u0160ri Lanka","SE":"\u0160vedska","CH":"\u0160vicarska","TJ":"Tad\u017eikistan","TH":"Tajland","TW":"Tajvan","TZ":"Tanzanija","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad i Tobago","TN":"Tunis","TM":"Turkmenistan","TR":"Turska","TV":"Tuvalu","UG":"Uganda","AE":"Ujedinjeni Arapski Emirati","GB":"Ujedinjeno Kraljevstvo","UA":"Ukrajina","UY":"Urugvaj","UZ":"Uzbekistan","VU":"Vanuatu","VA":"Vatikanski Grad","VE":"Venezuela","VN":"Vijetnam","WF":"Wallis i Futuna","ZM":"Zambija","EH":"Zapadna Sahara","CV":"Zelenortska Republika","ZW":"Zimbabve"} \ No newline at end of file diff --git a/public/intl/language/hr-HR.json b/public/intl/language/hr-HR.json new file mode 100644 index 00000000..d7378734 --- /dev/null +++ b/public/intl/language/hr-HR.json @@ -0,0 +1 @@ +{"ab":"abhaski","ace":"achinese","ach":"acoli","ada":"adangme","ady":"adigejski","aa":"afarski","afh":"afrihili","af":"afrikaans","agq":"aghem","ain":"ainu","ak":"akanski","akk":"akkadian","bss":"akoose","akz":"Alabama","sq":"albanski","ale":"aleutski","arq":"Algerian Arabic","ase":"American Sign Language","en_US":"ameri\u010dki engleski","am":"amharski","anp":"angika","njo":"Ao Naga","an":"aragonski","arc":"aramejski","aro":"Araona","arp":"arapaho","ar":"arapski","arn":"araukanski","arw":"arawak","hy":"armenski","rup":"aromunski","frp":"Arpitan","as":"asamski","ast":"asturijski","asa":"asu","cch":"atsam","en_AU":"australski engleski","de_AT":"austrijski njema\u010dki","av":"avarski","ae":"avestan","awa":"awadhi","ay":"aymara","az":"azerbajd\u017eanski","bfq":"Badaga","ksf":"bafia","bfd":"bafut","bqi":"Bakhtiari","ban":"balinezijski","bal":"baluchi","bm":"bambara","bax":"bamunski","bjn":"Banjar","bas":"basa","eu":"baskijski","ba":"ba\u0161kirski","bbc":"Batak Toba","bar":"Bavarian","bej":"beja","bem":"bemba","bez":"bena","bn":"bengalski","bew":"Betawi","zxx":"bez jezi\u010dnog sadr\u017eaja","bho":"bhojpuri","bik":"bikol","bin":"bini","bpy":"Bishnupriya","bi":"bislama","be":"bjeloruski","byn":"blin","zbl":"blissymbols","brx":"bodo","bs":"bosanski","brh":"Brahui","bra":"braj","pt_BR":"brazilski portugalski","br":"bretonski","en_GB":"britanski engleski","bg":"bugarski","bug":"buginski","bum":"bulu","bua":"buriat","my":"burmanski","cad":"caddo","frc":"Cajun French","cps":"Capiznon","cay":"cayuga","ceb":"cebuano","dtp":"Central Dusun","esu":"Central Yupik","chg":"chagatai","ch":"chamorro","chb":"chibcha","cgg":"chiga","qug":"Chimborazo Highland Quichua","chn":"chinook \u017eargon","chp":"chipewyan","cho":"choctaw","chk":"chuukese","cv":"chuvash","cr":"cree","mus":"creek","cu":"crkvenoslavenski","tn":"cvana","shu":"\u010dadski arapski","ce":"\u010de\u010denski","chy":"\u010dejenski","chr":"\u010deroki","cs":"\u010de\u0161ki","dak":"dakota jezik","da":"danski","dar":"dargwa","dzg":"dazaga","del":"delavarski","din":"dinka","dv":"divehi","doi":"dogri","dgr":"dogrib","nds":"donjonjema\u010dki","dua":"duala","dyu":"dyula","dz":"dzongkha","efi":"efik","arz":"Egyptian Arabic","eka":"ekajuk","elx":"elamitski","ebu":"embu","egl":"Emilian","en":"engleski","enm":"engleski, srednji","eo":"esperanto","et":"estonski","pt_PT":"europski portugalski","es_ES":"europski \u0161panjolski","ee":"ewe","ewo":"ewondo","ext":"Extremaduran","fan":"fang","fat":"fanti","phn":"feni\u010dki","fo":"ferojski","fj":"fid\u017eijski","hif":"Fiji Hindi","fil":"filipino","fi":"finski","nl_BE":"flamanski","fon":"fon","gur":"Frafra","fr":"francuski","frm":"francuski, srednji","fur":"friulski","ff":"fulah","gaa":"ga","gag":"gagauski","gl":"galicijski","gan":"Gan Chinese","lg":"ganda","gay":"gayo","gba":"gbaya","aln":"Gheg Albanian","bbj":"ghomala","glk":"Gilaki","gil":"gilbertski","gom":"Goan Konkani","gon":"gondi","hsb":"gornjolu\u017ei\u010dki","de_CH":"gornjonjema\u010dki (\u0161vicarski)","gor":"gorontalo","got":"gothic","el":"gr\u010dki","grb":"grebo","ka":"gruzijski","gn":"guarani","gu":"gud\u017earatski","guz":"gusii","gwi":"gwich\u2019in","hai":"haidi","hak":"Hakka Chinese","ha":"hausa","haw":"havajski","he":"hebrejski","hz":"herero","hit":"hetitski","hil":"hiligaynon","hi":"hindski","ho":"hiri motu","hmn":"hmong","hr":"hrvatski","hup":"hupa","iba":"iban","ibb":"ibibio","io":"ido","ig":"igbo","ilo":"iloko","smn":"inari sami","id":"indonezijski","izh":"Ingrian","inh":"ingu\u0161etski","ie":"interligua","ia":"interlingua","iu":"inuktitut","ik":"inupiaq","ga":"irski","mga":"irski, srednji","is":"islandski","frs":"isto\u010dnofrizijski","sah":"jakutski","jam":"Jamaican Creole English","ja":"japanski","yap":"japski","jv":"javanski","yi":"jidi\u0161","dyo":"jola-fonyi","yo":"joruba","jrb":"judejsko-arapski","jpr":"judejsko-perzijski","jut":"Jutish","alt":"ju\u017eni altai","nr":"ju\u017eni ndebele","se":"ju\u017eni sami","kbd":"kabardian","kab":"kabilski","kac":"kachin","kgp":"Kaingang","kaj":"kaje","kkj":"kako","kl":"kalaallisut","kln":"kalenjin","xal":"kalmyk","kam":"kamba","en_CA":"kanadski engleski","fr_CA":"kanadski francuski","kbl":"kanembu","kn":"kannadski","yue":"kantonski","kr":"kanuri","kaa":"kara-kalpak","krc":"karachay-balkar","krl":"karelijski","car":"karipski","ks":"ka\u0161mirski","csb":"ka\u0161upski","ca":"katalonski","kaw":"kawi","kk":"kaza\u0161ki","qu":"ke\u010dua","ksh":"kelnski","ken":"Kenyang","kha":"khasi","kho":"khotanese","khw":"Khowar","quc":"ki\u010de","ki":"kikuyu","kmb":"kimbundu","krj":"Kinaray-a","zh":"kineski","zh_Hans":"kineski (pojednostavljeni)","zh_Hant":"kineski (tradicionalni)","rw":"kinyarwanda","ky":"kirgi\u0161ki","kiu":"Kirmanjki","nwc":"klasi\u010dni newari","syc":"klasi\u010dni sirski","tlh":"klingonski","km":"kmerski","nb":"knji\u017eevni norve\u0161ki","bkm":"kom","kv":"komi","swb":"komorski","koi":"komski ili permski","kg":"kongo","swc":"kongoanski swahili","kok":"konkani","cop":"koptski","ko":"korejski","root":"korijenski","kw":"kornski","kfo":"koro","co":"korzi\u010dki","avk":"Kotava","khq":"koyra chiini","ses":"koyraboro senni","kpe":"kpelle","ht":"kreolski","crh":"krimski turski","kri":"Krio","kj":"kuanyama","kum":"kumyk","ku":"kurdski","kru":"kuru\u0161ki","kut":"kutenai","nmg":"kwasio","lad":"ladino","lah":"lahnda","lkt":"lakota","lam":"lamba","lag":"langi","lo":"laoski","ltg":"Latgalian","es_419":"latinoameri\u010dki \u0161panjolski","la":"latinski","lv":"latvijski","lzz":"Laz","lez":"lezgi\u0161ki","lij":"Ligurian","li":"limburgish","ln":"lingala","lfn":"Lingua Franca Nova","lt":"litavski","lzh":"Literary Chinese","liv":"Livonian","jbo":"lojban","lmo":"Lombard","sli":"Lower Silesian","loz":"lozi","lu":"luba-katanga","lua":"luba-lulua","lui":"luiseno","lb":"luksembur\u0161ki","smj":"lule sami","lun":"lunda","luo":"luo","lus":"lushai","luy":"luyia","dsb":"lu\u017ei\u010dkosrpski","mde":"maba","jmc":"machame","mad":"madurski","hu":"ma\u0111arski","maf":"mafa","mag":"magahi","vmf":"Main-Franconian","mai":"maithili","mak":"makasar","mk":"makedonski","mgh":"makhuwa-meetto","kde":"makonde","ml":"malajalamski","ms":"malajski","mg":"malga\u0161ki","mt":"malte\u0161ki","mdr":"mandar","man":"mandingo","mnc":"mand\u017eurski","mni":"manipurski","gv":"manski","mi":"maorski","mr":"marathski","chm":"mari","tzm":"marokanski tamazight","mh":"mar\u0161alski","mwr":"marwari","mas":"masajski","mfe":"mauricijski kreolski","mzn":"Mazanderani","byv":"medumba","es_MX":"meksi\u010dki \u0161panjolski","men":"mende","mwv":"Mentawai","mer":"meru","mgo":"meta\u2019","mic":"micmac","nan":"Min Nan Chinese","min":"minangkabau","xmf":"Mingrelian","mwl":"mirandski","ar_001":"moderni standardni arapski","moh":"mohawk","mdf":"moksha","ro_MD":"moldavski","lol":"mongo","mn":"mongolski","myv":"mordvinski","ary":"Moroccan Arabic","mos":"mossi","mua":"mundang","ttt":"Muslim Tat","mye":"myene","nqo":"n\u2019ko","naq":"nama","nap":"napolitanski","kos":"naurski","na":"nauru","nv":"navajo","ng":"ndonga","ne":"nepalski","und":"nepoznati jezik","new":"newari","sba":"ngambay","nnh":"ngiemboon","jgo":"ngomba","yrl":"Nheengatu","nia":"nias","niu":"niujski","nl":"nizozemski","dum":"nizozemski, srednji","nog":"nogajski","no":"norve\u0161ki","nov":"Novial","nn":"novonorve\u0161ki","nus":"nuer","nym":"nyamwezi","nyn":"nyankole","ny":"nyanja","tog":"nyasa tonga","nyo":"nyoro","nzi":"nzima","de":"njema\u010dki","gmh":"njema\u010dki, srednji visoki","oj":"ojibwa","oc":"okcitanski","or":"orijski","om":"oromski","osa":"osage","os":"osetski","pal":"pahlavi","pfl":"Palatine German","pau":"palauanski","pi":"pali","pam":"pampanga","pa":"pand\u017eapski","pag":"pangasinan","pap":"papiamento","ps":"pa\u0161tu","pdc":"Pennsylvania German","fa":"perzijski","pcd":"Picard","pms":"Piedmontese","pdt":"Plautdietsch","pon":"pohnpeian","pl":"poljski","pnt":"Pontic","pt":"portugalski","prg":"Prussian","raj":"rajasthani","rap":"rapa nui","rar":"raroton\u0161ki","rif":"Riffian","rgn":"Romagnol","rm":"roman\u0161","rof":"rombo","rom":"romski","rtm":"Rotuman","rug":"Roviana","ro":"rumunjski","rn":"rundi","ru":"ruski","rue":"Rusyn","rwk":"rwa","ssy":"saho","sam":"samarijanski aramejski","saq":"samburu","sm":"samoanski","sgs":"Samogitian","sad":"sandawe","sg":"sango","sbp":"sangu","sa":"sanskrtski","sat":"santali","sc":"sardski","sas":"sasak","sdc":"Sassarese Sardinian","stq":"Saterland Frisian","saz":"Saurashtra","sly":"Selayar","sel":"selkupski","seh":"sena","see":"seneca","srr":"serer","sei":"Seri","st":"sesotski","ksb":"shambala","shn":"shan","sn":"shona","ii":"sichuan yi","scn":"sicilijski","sid":"sidamo","bla":"siksika","szl":"Silesian","sd":"sindhi","si":"sinhale\u0161ki","syr":"sirijski","nd":"sjeverni ndebele","sma":"sjeverni sami","nso":"sjeverni sotho","frr":"sjevernofrizijski","sms":"skolt sami","den":"slave","sk":"slova\u010dki","sl":"slovenski","xog":"soga","sog":"sogdien","so":"somalski","snk":"soninke","ckb":"soranski kurdski","azb":"South Azerbaijani","srn":"sranan tongo","sr":"srpski","sh":"srpsko-hrvatski","zgh":"standardni marokanski tamazight","egy":"staroegipatski","ang":"staroengleski","gez":"staroetiopski","fro":"starofrancuski","grc":"starogr\u010dki","sga":"staroirski","non":"staronorve\u0161ki","goh":"staronjema\u010dki, visoki","peo":"staroperzijski","pro":"staroprovansalski","suk":"sukuma","sux":"sumerski","su":"sundanski","sus":"susu","sw":"svahili","ss":"svati","sco":"\u0161kotski","gd":"\u0161kotski-galski","es":"\u0161panjolski","sv":"\u0161vedski","fr_CH":"\u0161vicarski francuski","gsw":"\u0161vicarski njema\u010dki","shi":"tachelhit","tg":"tad\u017ei\u010dki","tl":"tagalog","ty":"tahi\u0107anski","dav":"taita","th":"tajlandski","it":"talijanski","tly":"Talysh","tmh":"tamashek","ta":"tamilski","trv":"taroko","twq":"tasawaq","tt":"tatarski","te":"telugu","tem":"temne","ter":"tereno","teo":"teso","tet":"tetum","bo":"tibetanski","ti":"tigrinja","tig":"tigri\u0161ki","tiv":"tiv","tli":"tlingit","tpi":"tok pisin","tkl":"tokelaunski","to":"tonganski","fit":"Tornedalen Finnish","tkr":"Tsakhur","tsd":"Tsakonian","tsi":"tsimshian","ts":"tsonga","tcy":"Tulu","tum":"tumbuka","aeb":"Tunisian Arabic","tk":"turkmenski","tru":"Turoyo","tr":"turski","ota":"turski - otomanski","tvl":"tuvaluanski","tyv":"tuvinian","tw":"twi","kcg":"tyap","udm":"udmurtski","uga":"ugaritski","ug":"ujgurski","uk":"ukrajinski","umb":"umbundu","ur":"urdski","uz":"uzbe\u010dki","vai":"vai","wa":"valonski","cy":"vel\u0161ki","ve":"venda","vec":"Venetian","vep":"Veps","vi":"vijetnamski","mul":"vi\u0161e jezika","vo":"volap\u00fck","vro":"V\u00f5ro","vot":"votic","vun":"vunjo","wal":"walamo","wae":"walser","war":"waray","wbp":"Warlpiri","was":"washo","guc":"Wayuu","vls":"West Flemish","mrj":"Western Mari","wo":"wolof","wuu":"Wu Chinese","xh":"xhosa","hsn":"Xiang Chinese","yav":"yangben","yao":"yao","ybb":"yemba","fy":"zapadnofrizijski","zap":"zapotec","dje":"zarma","zza":"zazaki","zea":"Zeelandic","kea":"zelenortski","zen":"zenaga","za":"zhuang","gbz":"Zoroastrian Dari","zu":"zulu","zun":"zuni"} \ No newline at end of file diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 23eb688a..47ab7ef3 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -244,7 +244,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "هیچ" } ], "label.owner": [ @@ -474,7 +474,7 @@ "message.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "ویرایش داشبورد" } ], "message.failure": [ @@ -754,7 +754,7 @@ "metrics.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "پارامترهای کوئری" } ], "metrics.referrers": [ @@ -766,7 +766,7 @@ "metrics.screens": [ { "type": 0, - "value": "Screens" + "value": "نمایشگرها" } ], "metrics.unique-visitors": [ diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json new file mode 100644 index 00000000..b41aa9e6 --- /dev/null +++ b/public/intl/messages/hr-HR.json @@ -0,0 +1,854 @@ +{ + "label.accounts": [ + { + "type": 0, + "value": "Računi" + } + ], + "label.add-account": [ + { + "type": 0, + "value": "Dodaj račun" + } + ], + "label.add-column": [ + { + "type": 0, + "value": "Dodaj stupac" + } + ], + "label.add-filter": [ + { + "type": 0, + "value": "Dodaj filter" + } + ], + "label.add-website": [ + { + "type": 0, + "value": "Dodaj web stranicu" + } + ], + "label.administrator": [ + { + "type": 0, + "value": "Administrator" + } + ], + "label.all": [ + { + "type": 0, + "value": "Sve" + } + ], + "label.all-time": [ + { + "type": 0, + "value": "Svo vrijeme" + } + ], + "label.all-websites": [ + { + "type": 0, + "value": "Sve web stranice" + } + ], + "label.back": [ + { + "type": 0, + "value": "Natrag " + } + ], + "label.cancel": [ + { + "type": 0, + "value": "Odustani" + } + ], + "label.change-password": [ + { + "type": 0, + "value": "Promijeni lozinku" + } + ], + "label.confirm-password": [ + { + "type": 0, + "value": "Potvrdi lozinku" + } + ], + "label.copy-to-clipboard": [ + { + "type": 0, + "value": "Kopiraj u međuspremnik" + } + ], + "label.current-password": [ + { + "type": 0, + "value": "Trenutna lozinka" + } + ], + "label.custom-range": [ + { + "type": 0, + "value": "Prilagođeni raspon" + } + ], + "label.dashboard": [ + { + "type": 0, + "value": "Nadzorna ploča" + } + ], + "label.date-range": [ + { + "type": 0, + "value": "Raspon datuma" + } + ], + "label.default-date-range": [ + { + "type": 0, + "value": "Zadani datumski raspon" + } + ], + "label.delete": [ + { + "type": 0, + "value": "Obriši" + } + ], + "label.delete-account": [ + { + "type": 0, + "value": "Obriši račun" + } + ], + "label.delete-website": [ + { + "type": 0, + "value": "Obriši web stranicu" + } + ], + "label.dismiss": [ + { + "type": 0, + "value": "Odbaci" + } + ], + "label.domain": [ + { + "type": 0, + "value": "Domena" + } + ], + "label.edit": [ + { + "type": 0, + "value": "Uredi" + } + ], + "label.edit-account": [ + { + "type": 0, + "value": "Uredi račun" + } + ], + "label.edit-website": [ + { + "type": 0, + "value": "Uredi web stranicu" + } + ], + "label.enable-share-url": [ + { + "type": 0, + "value": "Omogući dijeljenje URL-a" + } + ], + "label.event-data": [ + { + "type": 0, + "value": "Podaci događaja" + } + ], + "label.field-name": [ + { + "type": 0, + "value": "Naziv polja" + } + ], + "label.invalid": [ + { + "type": 0, + "value": "Nesipravno" + } + ], + "label.invalid-domain": [ + { + "type": 0, + "value": "Neispravna domena" + } + ], + "label.language": [ + { + "type": 0, + "value": "Jezik" + } + ], + "label.last-days": [ + { + "type": 0, + "value": "Zadnjih " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " dana" + } + ], + "label.last-hours": [ + { + "type": 0, + "value": "Zadnjih " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " sati" + } + ], + "label.logged-in-as": [ + { + "type": 0, + "value": "Prijavljen kao " + }, + { + "type": 1, + "value": "username" + } + ], + "label.login": [ + { + "type": 0, + "value": "Prijava" + } + ], + "label.logout": [ + { + "type": 0, + "value": "Odjava" + } + ], + "label.more": [ + { + "type": 0, + "value": "Više" + } + ], + "label.name": [ + { + "type": 0, + "value": "Ime" + } + ], + "label.new-password": [ + { + "type": 0, + "value": "Nova lozinka" + } + ], + "label.none": [ + { + "type": 0, + "value": "Ništa" + } + ], + "label.owner": [ + { + "type": 0, + "value": "Vlasnik" + } + ], + "label.password": [ + { + "type": 0, + "value": "Lozinka" + } + ], + "label.passwords-dont-match": [ + { + "type": 0, + "value": "Lozinka nije točna" + } + ], + "label.profile": [ + { + "type": 0, + "value": "Profil" + } + ], + "label.realtime": [ + { + "type": 0, + "value": "Stvarno vrijeme" + } + ], + "label.realtime-logs": [ + { + "type": 0, + "value": "Trenutni zapisi" + } + ], + "label.refresh": [ + { + "type": 0, + "value": "Osvježi" + } + ], + "label.required": [ + { + "type": 0, + "value": "Potrebna" + } + ], + "label.reset": [ + { + "type": 0, + "value": "Resetirati" + } + ], + "label.reset-website": [ + { + "type": 0, + "value": "Resetirati web stranicu" + } + ], + "label.save": [ + { + "type": 0, + "value": "Spremi" + } + ], + "label.search": [ + { + "type": 0, + "value": "Pretraži" + } + ], + "label.settings": [ + { + "type": 0, + "value": "Postavke" + } + ], + "label.share-url": [ + { + "type": 0, + "value": "Podijeli URL" + } + ], + "label.single-day": [ + { + "type": 0, + "value": "Jedan dan" + } + ], + "label.theme": [ + { + "type": 0, + "value": "Tema" + } + ], + "label.this-month": [ + { + "type": 0, + "value": "Ovaj mjesec" + } + ], + "label.this-week": [ + { + "type": 0, + "value": "Ovaj tjedan" + } + ], + "label.this-year": [ + { + "type": 0, + "value": "Ova godina" + } + ], + "label.timezone": [ + { + "type": 0, + "value": "Vremenska zona" + } + ], + "label.today": [ + { + "type": 0, + "value": "Danas" + } + ], + "label.tracking-code": [ + { + "type": 0, + "value": "Kod za praćenje" + } + ], + "label.type": [ + { + "type": 0, + "value": "Tip" + } + ], + "label.unknown": [ + { + "type": 0, + "value": "Nepoznato" + } + ], + "label.username": [ + { + "type": 0, + "value": "Korisničko ime" + } + ], + "label.value": [ + { + "type": 0, + "value": "Vrijednost" + } + ], + "label.view-details": [ + { + "type": 0, + "value": "Pogledaj detalje" + } + ], + "label.websites": [ + { + "type": 0, + "value": "Web stranice" + } + ], + "label.yesterday": [ + { + "type": 0, + "value": "Jučer" + } + ], + "message.active-users": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " Trenutno " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "visitor" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "visitors" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "message.confirm-delete": [ + { + "type": 0, + "value": "Jeste li sigurni da želite obrisati " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-reset": [ + { + "type": 0, + "value": "Jeste li sigurni da želite resetirati " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "'s statistiku?" + } + ], + "message.copied": [ + { + "type": 0, + "value": "Kopirano!" + } + ], + "message.delete-warning": [ + { + "type": 0, + "value": "Izbrisat će se svi povezani podaci." + } + ], + "message.edit-dashboard": [ + { + "type": 0, + "value": "Uredi nadzornu ploču" + } + ], + "message.failure": [ + { + "type": 0, + "value": "Nešto je pošlo po zlu." + } + ], + "message.get-share-url": [ + { + "type": 0, + "value": "Dohvati URL za dijeljenje" + } + ], + "message.get-tracking-code": [ + { + "type": 0, + "value": "Dohvati kod za praćenje" + } + ], + "message.go-to-settings": [ + { + "type": 0, + "value": "Idi u postavke" + } + ], + "message.incorrect-username-password": [ + { + "type": 0, + "value": "Neispravno korisničke ime/lozinka." + } + ], + "message.log.visitor": [ + { + "type": 0, + "value": "Posjetitelj iz " + }, + { + "type": 1, + "value": "country" + }, + { + "type": 0, + "value": " koristi " + }, + { + "type": 1, + "value": "browser" + }, + { + "type": 0, + "value": " na " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "device" + } + ], + "message.new-version-available": [ + { + "type": 0, + "value": "Nova verzija umami " + }, + { + "type": 1, + "value": "version" + }, + { + "type": 0, + "value": " je dostupna!" + } + ], + "message.no-data-available": [ + { + "type": 0, + "value": "Nema dostupnih podataka." + } + ], + "message.no-websites-configured": [ + { + "type": 0, + "value": "Nemate konfiguriranu nijednu web stranicu." + } + ], + "message.page-not-found": [ + { + "type": 0, + "value": "Stranica nije pronađena." + } + ], + "message.powered-by": [ + { + "type": 0, + "value": "Powered by " + }, + { + "type": 1, + "value": "name" + } + ], + "message.reset-warning": [ + { + "type": 0, + "value": "Sve statistike za ovu web stranicu bit će izbrisane, ali će vaš kod za praćenje ostati netaknut." + } + ], + "message.save-success": [ + { + "type": 0, + "value": "Uspješno spremljeno." + } + ], + "message.share-url": [ + { + "type": 0, + "value": "Ovo je javno dijeljeni URL za " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "." + } + ], + "message.toggle-charts": [ + { + "type": 0, + "value": "Uključi/isključi grafikone" + } + ], + "message.track-stats": [ + { + "type": 0, + "value": "Da biste pratili statistiku za " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": ", postavite sljedeći kod u odjeljak " + }, + { + "type": 1, + "value": "head" + }, + { + "type": 0, + "value": " svoje web stranice." + } + ], + "message.type-delete": [ + { + "type": 0, + "value": "Upišite " + }, + { + "type": 1, + "value": "delete" + }, + { + "type": 0, + "value": " u donji okvir za potvrdu." + } + ], + "message.type-reset": [ + { + "type": 0, + "value": " Upišite " + }, + { + "type": 1, + "value": "reset" + }, + { + "type": 0, + "value": " u donji okvir za potvrdu. " + } + ], + "metrics.actions": [ + { + "type": 0, + "value": "Akcije" + } + ], + "metrics.average-visit-time": [ + { + "type": 0, + "value": "Prosječno vrijeme posjeta" + } + ], + "metrics.bounce-rate": [ + { + "type": 0, + "value": "Stopa napuštanja stranice" + } + ], + "metrics.browsers": [ + { + "type": 0, + "value": "Web preglednici" + } + ], + "metrics.countries": [ + { + "type": 0, + "value": "Zemlje" + } + ], + "metrics.device.desktop": [ + { + "type": 0, + "value": "Pc" + } + ], + "metrics.device.laptop": [ + { + "type": 0, + "value": "Laptop" + } + ], + "metrics.device.mobile": [ + { + "type": 0, + "value": "Mobitel" + } + ], + "metrics.device.tablet": [ + { + "type": 0, + "value": "Tablet" + } + ], + "metrics.devices": [ + { + "type": 0, + "value": "Uređaji" + } + ], + "metrics.events": [ + { + "type": 0, + "value": "Događaji" + } + ], + "metrics.filter.combined": [ + { + "type": 0, + "value": "Kombinirano" + } + ], + "metrics.filter.raw": [ + { + "type": 0, + "value": "Neobrađeni podaci" + } + ], + "metrics.languages": [ + { + "type": 0, + "value": "Jezici" + } + ], + "metrics.operating-systems": [ + { + "type": 0, + "value": "Operativni sustavi" + } + ], + "metrics.page-views": [ + { + "type": 0, + "value": "Pregledi stranice" + } + ], + "metrics.pages": [ + { + "type": 0, + "value": "Stranice" + } + ], + "metrics.query-parameters": [ + { + "type": 0, + "value": "Parametri upita" + } + ], + "metrics.referrers": [ + { + "type": 0, + "value": "Upučivaći" + } + ], + "metrics.screens": [ + { + "type": 0, + "value": "Zasloni" + } + ], + "metrics.unique-visitors": [ + { + "type": 0, + "value": "Jedinstveni posjetitelji" + } + ], + "metrics.views": [ + { + "type": 0, + "value": "Pregledi" + } + ], + "metrics.visitors": [ + { + "type": 0, + "value": "Posjetitelji" + } + ] +} \ No newline at end of file From 6145b31ce5551ff9a0dde4456d3a28914744bba5 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 12 Nov 2022 21:11:07 -0800 Subject: [PATCH 05/65] Make bot check return 200. Closes #1555 --- pages/api/collect.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/api/collect.js b/pages/api/collect.js index 5a4411d5..aee0f63a 100644 --- a/pages/api/collect.js +++ b/pages/api/collect.js @@ -1,7 +1,7 @@ const { Resolver } = require('dns').promises; import isbot from 'isbot'; import ipaddr from 'ipaddr.js'; -import { createToken, unauthorized, send, badRequest, forbidden } from 'next-basics'; +import { createToken, ok, send, badRequest, forbidden } from 'next-basics'; import { savePageView, saveEvent } from 'queries'; import { useCors, useSession } from 'lib/middleware'; import { getJsonBody, getIpAddress } from 'lib/request'; @@ -11,7 +11,7 @@ export default async (req, res) => { await useCors(req, res); if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) { - return unauthorized(res); + return ok(res); } const ignoreIps = process.env.IGNORE_IP; From 545f1f901d79337d2ce3fe26ce3e63e98e2b1b90 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 13 Nov 2022 17:43:19 -0800 Subject: [PATCH 06/65] Bump version 1.39.5. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5b906819..75eebfd0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "1.39.4", + "version": "1.39.5", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", From ecc4e0b88966b9e3452e6428a8e8dbb1a7428c7c Mon Sep 17 00:00:00 2001 From: Kipras Melnikovas Date: Fri, 6 Jan 2023 05:00:28 +0200 Subject: [PATCH 07/65] create README for lang/ - how to update translations Signed-off-by: Kipras Melnikovas --- lang/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lang/README.md diff --git a/lang/README.md b/lang/README.md new file mode 100644 index 00000000..ef696635 --- /dev/null +++ b/lang/README.md @@ -0,0 +1,19 @@ +### how to update + +1. find missing keys: + +```sh +MINE=.json +BASE=en-US.json + +jq 'keys' < $BASE > base +jq 'keys' < $MINE > mine + +diff -c2 base mine +# will print missing keys. +# add them to $MINE +``` + +2. for each key, search in your editor where it is used, and additionally visit the [live demo website](https://app.umami.is/share/8rmHaheU/umami.is), to better understand the usage context. + +3. translate. though, if you don't fully understand the context of how a translation is used, note this in the PR review. From d7920543c3f4ebe3cb082d714104faf0a9f916bf Mon Sep 17 00:00:00 2001 From: Kipras Melnikovas Date: Fri, 6 Jan 2023 05:01:24 +0200 Subject: [PATCH 08/65] update lt-LT lang Signed-off-by: Kipras Melnikovas --- lang/lt-LT.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/lt-LT.json b/lang/lt-LT.json index 3b804fa2..409409dc 100644 --- a/lang/lt-LT.json +++ b/lang/lt-LT.json @@ -62,6 +62,7 @@ "label.username": "Vartotojo vardas", "label.view-details": "Peržiūrėti detaliau", "label.websites": "Svetainės", + "label.yesterday": "Vakar", "message.active-users": "{x, plural, =0 {# aktyvių vartotojų} zero {# aktyvių vartotojų} one {# aktyvus vartotojas} other {# aktyvūs vartotojai}}", "message.confirm-delete": "Ar esate tikri, jog norite ištrinti svetainę {target}?", "message.confirm-reset": "Are esate tikri, jog norite atstatyti svetainės {target} statistikos duomenis?", From 4c79c7054e62e32553ed60cb708f67822aaecb1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 8 Jan 2023 08:42:34 +0000 Subject: [PATCH 09/65] Bump json5 from 1.0.1 to 1.0.2 Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7df9a095..4b184365 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4753,9 +4753,9 @@ json-stringify-safe@~5.0.1: integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" @@ -5239,16 +5239,11 @@ minimist-options@4.1.0, minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== -minimist@^1.2.5: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - minipass@^3.0.0: version "3.1.6" resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz" From c40c2e15c323ce1af42012eaf57899fef2efe5ce Mon Sep 17 00:00:00 2001 From: stoXmod Date: Mon, 9 Jan 2023 18:13:50 +0530 Subject: [PATCH 10/65] Added sinhala language --- lang/si-LK.json | 120 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lang/si-LK.json diff --git a/lang/si-LK.json b/lang/si-LK.json new file mode 100644 index 00000000..c13d7c6c --- /dev/null +++ b/lang/si-LK.json @@ -0,0 +1,120 @@ +{ + "label.accounts": "ගිණුම්", + "label.add-account": "ගිණුම එකතු කරන්න", + "label.add-column": "තීරුව එක් කරන්න", + "label.add-filter": "පෙරහන එකතු කරන්න", + "label.add-website": "වෙබ් අඩවිය එක් කරන්න", + "label.administrator": "පරිපාලක", + "label.all": "සියල්ල", + "label.all-time": "හැම වෙලාවෙම", + "label.all-websites": "සියලුම වෙබ් අඩවි", + "label.back": "ආපසු", + "label.cancel": "අවලංගු කරන්න", + "label.change-password": "මුරපදය වෙනස් කරන්න", + "label.confirm-password": "මුරපදය සත්‍යාපනය කරන්න", + "label.copy-to-clipboard": "පසුරු පුවරුවට පිටපත් කරන්න", + "label.current-password": "වත්මන් මුරපදය", + "label.custom-range": "අභිරුචි පරාසය", + "label.dashboard": "උපකරණ පුවරුව", + "label.date-range": "දින පරාසය", + "label.default-date-range": "පෙරනිමි දින පරාසය", + "label.delete": "මකන්න", + "label.delete-account": "ගිණුම මකන්න", + "label.delete-website": "වෙබ් අඩවිය මකන්න", + "label.dismiss": "මගහරින්න", + "label.domain": "වසම්", + "label.edit": "සංස්කරණය කරන්න", + "label.edit-account": "ගිණුම සංස්කරණය කරන්න", + "label.edit-website": "වෙබ් අඩවිය සංස්කරණය කරන්න", + "label.enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න", + "label.event-data": "සිදුවීම් දත්ත", + "label.field-name": "ක්ෂේත්‍ර නාම", + "label.invalid": "වලංගු නැත", + "label.invalid-domain": "වලංගු නොවන වසමක්", + "label.language": "බාෂාව", + "label.last-days": "පසුගිය {x} දින", + "label.last-hours": "පසුගිය {x} පැය", + "label.logged-in-as": "ලොග් වී ඇත්තේ {username}", + "label.login": "ලොග් වෙන්න", + "label.logout": "පිටවීම", + "label.more": "තවත්", + "label.name": "නම", + "label.new-password": "අලුත් මුරපදය", + "label.none": "කිසිවක් නැත", + "label.owner": "හිමිකරු", + "label.password": "මුරපදය", + "label.passwords-dont-match": "මුරපද නොගැලපේ", + "label.profile": "පැතිකඩ", + "label.realtime": "තත්ය කාල", + "label.realtime-logs": "තත්‍ය කාලීන ලොග්", + "label.refresh": "නැවුම් කරන්න", + "label.required": "අවශ්යයි", + "label.reset": "යළි පිහිටුවන්න", + "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", + "label.save": "සුරකින්න", + "label.search": "සෙවීම", + "label.settings": "සැකසුම්", + "label.share-url": "බෙදාගැනීමේ URL", + "label.single-day": "තනි දවස", + "label.theme": "තේමාව", + "label.this-month": "මෙ මාසය", + "label.this-week": "මේ සතිය", + "label.this-year": "මේ අවුරුද්ද", + "label.timezone": "වේලා කලාපය", + "label.today": "අද", + "label.tracking-code": "ලුහුබැඳීමේ කේතය", + "label.type": "වර්ගය", + "label.unknown": "නොදනී", + "label.username": "පරිශීලක නාමය", + "label.value": "වටිනාකම", + "label.view-details": "තොරතුරු පෙන්වන්න", + "label.websites": "වෙබ් අඩවි", + "label.yesterday": "ඊයේ", + "message.active-users": "{x} දැන් {x, plural, one {අමුත්තා} other {අමුත්තන්}}", + "message.confirm-delete": "{target} මකා දැමීම ගැන විශ්වාසද?", + "message.confirm-reset": "{target} ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?", + "message.copied": "පිටපත් කරගත්තා!", + "message.delete-warning": "සියලුම ආශ්‍රිත දත්ත ද මකා දැමෙනු ඇත.", + "message.edit-dashboard": "උපකරණ පුවරුව සංස්කරණය කරන්න", + "message.failure": "කුමක් හෝ ගැටලුවක් ඇත.", + "message.get-share-url": "බෙදාගැනීමේ URL ලබා ගන්න", + "message.get-tracking-code": "ලුහුබැඳීමේ කේතය ලබා ගන්න", + "message.go-to-settings": "සැකසීම් වෙත යන්න", + "message.incorrect-username-password": "වැරදි පරිශීලක නාමය/මුරපදය.", + "message.log.visitor": "{country} වලින් පැමිණි අමුත්තකු {device} එකේ, මේ {os} එකේ, මේ {browser} එකෙන් ඉන්නවා", + "message.new-version-available": "umami අලුත්ම {version} වන අනුවාදය නිකුත් උනා!", + "message.no-data-available": "පෙන්වීමට දත්ත නොමැත.", + "message.no-websites-configured": "ඔබට වින්‍යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත.", + "message.page-not-found": "පිටුව හමු නොවීය.", + "message.powered-by": "බල ගැන්වුයේ {name}", + "message.reset-warning": "සියලුම සංඛ්‍යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත.", + "message.save-success": "සාර්තකව සුරැකිණි.", + "message.share-url": "මේ {target} සඳහා ප්‍රසිද්ධියේ බෙදාගත් URL එකයි.", + "message.toggle-charts": "ප්‍රස්ථාර ටොගල් කරන්න", + "message.track-stats": "{target} හි සංඛ්යාලේඛන බැලීම සදහා, පහත කේතය {head} කොටසට ඇතුලත් කරන්න.", + "message.type-delete": "සත්‍යාපනය සදහා {delete} ලෙස පහල කොටුවේ ටයිප් කරන්න", + "message.type-reset": "සත්‍යාපනය සදහා {reset} ලෙස පහල කොටුවේ ටයිප් කරන්න", + "metrics.actions": "ක්රියාවන්", + "metrics.average-visit-time": "සාමාන්‍ය සංචාර කාලය", + "metrics.bounce-rate": "හැරී යන ප්‍රමාණය", + "metrics.browsers": "බ්‍රව්සර්", + "metrics.countries": "රටවල්", + "metrics.device.desktop": "ඩෙස්ක්ටොප්", + "metrics.device.laptop": "ලැප්ටොප්", + "metrics.device.mobile": "ජංගම", + "metrics.device.tablet": "ටැබ්ලට්", + "metrics.devices": "උපකරණ", + "metrics.events": "සිද්ධීන්", + "metrics.filter.combined": "ඒකාබද්ධ", + "metrics.filter.raw": "අමු", + "metrics.languages": "භාෂා", + "metrics.operating-systems": "මෙහෙයුම් පද්ධති", + "metrics.page-views": "පිටු බැලීම්", + "metrics.pages": "පිටු", + "metrics.query-parameters": "විමසුම් පරාමිතීන්", + "metrics.referrers": "යොමු කරන්නන්", + "metrics.screens": "තිර", + "metrics.unique-visitors": "අලුත්ම අමුත්තන්", + "metrics.views": "බැලූ ගණන", + "metrics.visitors": "අමුත්තන්" +} \ No newline at end of file From d199065d3a81efdba5a7e8d9f6de55abde2754c2 Mon Sep 17 00:00:00 2001 From: stoXmod Date: Tue, 10 Jan 2023 12:38:57 +0530 Subject: [PATCH 11/65] Improve sinhala font and added to language select menu --- lang/si-LK.json | 238 ++++++------ lib/lang.js | 2 + public/intl/messages/si-LK.json | 627 ++++++++++++++++++++++++++++++++ styles/index.css | 4 + 4 files changed, 752 insertions(+), 119 deletions(-) create mode 100644 public/intl/messages/si-LK.json diff --git a/lang/si-LK.json b/lang/si-LK.json index c13d7c6c..33346087 100644 --- a/lang/si-LK.json +++ b/lang/si-LK.json @@ -1,120 +1,120 @@ { - "label.accounts": "ගිණුම්", - "label.add-account": "ගිණුම එකතු කරන්න", - "label.add-column": "තීරුව එක් කරන්න", - "label.add-filter": "පෙරහන එකතු කරන්න", - "label.add-website": "වෙබ් අඩවිය එක් කරන්න", - "label.administrator": "පරිපාලක", - "label.all": "සියල්ල", - "label.all-time": "හැම වෙලාවෙම", - "label.all-websites": "සියලුම වෙබ් අඩවි", - "label.back": "ආපසු", - "label.cancel": "අවලංගු කරන්න", - "label.change-password": "මුරපදය වෙනස් කරන්න", - "label.confirm-password": "මුරපදය සත්‍යාපනය කරන්න", - "label.copy-to-clipboard": "පසුරු පුවරුවට පිටපත් කරන්න", - "label.current-password": "වත්මන් මුරපදය", - "label.custom-range": "අභිරුචි පරාසය", - "label.dashboard": "උපකරණ පුවරුව", - "label.date-range": "දින පරාසය", - "label.default-date-range": "පෙරනිමි දින පරාසය", - "label.delete": "මකන්න", - "label.delete-account": "ගිණුම මකන්න", - "label.delete-website": "වෙබ් අඩවිය මකන්න", - "label.dismiss": "මගහරින්න", - "label.domain": "වසම්", - "label.edit": "සංස්කරණය කරන්න", - "label.edit-account": "ගිණුම සංස්කරණය කරන්න", - "label.edit-website": "වෙබ් අඩවිය සංස්කරණය කරන්න", - "label.enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න", - "label.event-data": "සිදුවීම් දත්ත", - "label.field-name": "ක්ෂේත්‍ර නාම", - "label.invalid": "වලංගු නැත", - "label.invalid-domain": "වලංගු නොවන වසමක්", - "label.language": "බාෂාව", - "label.last-days": "පසුගිය {x} දින", - "label.last-hours": "පසුගිය {x} පැය", - "label.logged-in-as": "ලොග් වී ඇත්තේ {username}", - "label.login": "ලොග් වෙන්න", - "label.logout": "පිටවීම", - "label.more": "තවත්", - "label.name": "නම", - "label.new-password": "අලුත් මුරපදය", - "label.none": "කිසිවක් නැත", - "label.owner": "හිමිකරු", - "label.password": "මුරපදය", - "label.passwords-dont-match": "මුරපද නොගැලපේ", - "label.profile": "පැතිකඩ", - "label.realtime": "තත්ය කාල", - "label.realtime-logs": "තත්‍ය කාලීන ලොග්", - "label.refresh": "නැවුම් කරන්න", - "label.required": "අවශ්යයි", - "label.reset": "යළි පිහිටුවන්න", - "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", - "label.save": "සුරකින්න", - "label.search": "සෙවීම", - "label.settings": "සැකසුම්", - "label.share-url": "බෙදාගැනීමේ URL", - "label.single-day": "තනි දවස", - "label.theme": "තේමාව", - "label.this-month": "මෙ මාසය", - "label.this-week": "මේ සතිය", - "label.this-year": "මේ අවුරුද්ද", - "label.timezone": "වේලා කලාපය", - "label.today": "අද", - "label.tracking-code": "ලුහුබැඳීමේ කේතය", - "label.type": "වර්ගය", - "label.unknown": "නොදනී", - "label.username": "පරිශීලක නාමය", - "label.value": "වටිනාකම", - "label.view-details": "තොරතුරු පෙන්වන්න", - "label.websites": "වෙබ් අඩවි", - "label.yesterday": "ඊයේ", - "message.active-users": "{x} දැන් {x, plural, one {අමුත්තා} other {අමුත්තන්}}", - "message.confirm-delete": "{target} මකා දැමීම ගැන විශ්වාසද?", - "message.confirm-reset": "{target} ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?", - "message.copied": "පිටපත් කරගත්තා!", - "message.delete-warning": "සියලුම ආශ්‍රිත දත්ත ද මකා දැමෙනු ඇත.", - "message.edit-dashboard": "උපකරණ පුවරුව සංස්කරණය කරන්න", - "message.failure": "කුමක් හෝ ගැටලුවක් ඇත.", - "message.get-share-url": "බෙදාගැනීමේ URL ලබා ගන්න", - "message.get-tracking-code": "ලුහුබැඳීමේ කේතය ලබා ගන්න", - "message.go-to-settings": "සැකසීම් වෙත යන්න", - "message.incorrect-username-password": "වැරදි පරිශීලක නාමය/මුරපදය.", - "message.log.visitor": "{country} වලින් පැමිණි අමුත්තකු {device} එකේ, මේ {os} එකේ, මේ {browser} එකෙන් ඉන්නවා", - "message.new-version-available": "umami අලුත්ම {version} වන අනුවාදය නිකුත් උනා!", - "message.no-data-available": "පෙන්වීමට දත්ත නොමැත.", - "message.no-websites-configured": "ඔබට වින්‍යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත.", - "message.page-not-found": "පිටුව හමු නොවීය.", - "message.powered-by": "බල ගැන්වුයේ {name}", - "message.reset-warning": "සියලුම සංඛ්‍යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත.", - "message.save-success": "සාර්තකව සුරැකිණි.", - "message.share-url": "මේ {target} සඳහා ප්‍රසිද්ධියේ බෙදාගත් URL එකයි.", - "message.toggle-charts": "ප්‍රස්ථාර ටොගල් කරන්න", - "message.track-stats": "{target} හි සංඛ්යාලේඛන බැලීම සදහා, පහත කේතය {head} කොටසට ඇතුලත් කරන්න.", - "message.type-delete": "සත්‍යාපනය සදහා {delete} ලෙස පහල කොටුවේ ටයිප් කරන්න", - "message.type-reset": "සත්‍යාපනය සදහා {reset} ලෙස පහල කොටුවේ ටයිප් කරන්න", - "metrics.actions": "ක්රියාවන්", - "metrics.average-visit-time": "සාමාන්‍ය සංචාර කාලය", - "metrics.bounce-rate": "හැරී යන ප්‍රමාණය", - "metrics.browsers": "බ්‍රව්සර්", - "metrics.countries": "රටවල්", - "metrics.device.desktop": "ඩෙස්ක්ටොප්", - "metrics.device.laptop": "ලැප්ටොප්", - "metrics.device.mobile": "ජංගම", - "metrics.device.tablet": "ටැබ්ලට්", - "metrics.devices": "උපකරණ", - "metrics.events": "සිද්ධීන්", - "metrics.filter.combined": "ඒකාබද්ධ", - "metrics.filter.raw": "අමු", - "metrics.languages": "භාෂා", - "metrics.operating-systems": "මෙහෙයුම් පද්ධති", - "metrics.page-views": "පිටු බැලීම්", - "metrics.pages": "පිටු", - "metrics.query-parameters": "විමසුම් පරාමිතීන්", - "metrics.referrers": "යොමු කරන්නන්", - "metrics.screens": "තිර", - "metrics.unique-visitors": "අලුත්ම අමුත්තන්", - "metrics.views": "බැලූ ගණන", - "metrics.visitors": "අමුත්තන්" -} \ No newline at end of file + "label.accounts": "ගිණුම්", + "label.add-account": "ගිණුම එකතු කරන්න", + "label.add-column": "තීරුව එක් කරන්න", + "label.add-filter": "පෙරහන එකතු කරන්න", + "label.add-website": "වෙබ් අඩවිය එක් කරන්න", + "label.administrator": "පරිපාලක", + "label.all": "සියල්ල", + "label.all-time": "හැම වෙලාවෙම", + "label.all-websites": "සියලුම වෙබ් අඩවි", + "label.back": "ආපසු", + "label.cancel": "අවලංගු කරන්න", + "label.change-password": "මුරපදය වෙනස් කරන්න", + "label.confirm-password": "මුරපදය සත්‍යාපනය කරන්න", + "label.copy-to-clipboard": "පසුරු පුවරුවට පිටපත් කරන්න", + "label.current-password": "වත්මන් මුරපදය", + "label.custom-range": "අභිරුචි පරාසය", + "label.dashboard": "උපකරණ පුවරුව", + "label.date-range": "දින පරාසය", + "label.default-date-range": "පෙරනිමි දින පරාසය", + "label.delete": "මකන්න", + "label.delete-account": "ගිණුම මකන්න", + "label.delete-website": "වෙබ් අඩවිය මකන්න", + "label.dismiss": "මගහරින්න", + "label.domain": "වසම", + "label.edit": "සංස්කරණය කරන්න", + "label.edit-account": "ගිණුම සංස්කරණය කරන්න", + "label.edit-website": "වෙබ් අඩවිය සංස්කරණය කරන්න", + "label.enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න", + "label.event-data": "සිදුවීම් දත්ත", + "label.field-name": "ක්ෂේත්‍ර නාම", + "label.invalid": "වලංගු නැත", + "label.invalid-domain": "වලංගු නොවන වසමක්", + "label.language": "භාෂාව", + "label.last-days": "අන්තිම {x} දින", + "label.last-hours": "අන්තිම {x} පැය", + "label.logged-in-as": "ලොග් වී ඇත්තේ {username}", + "label.login": "ලොග් වෙන්න", + "label.logout": "පිටවීම", + "label.more": "තවත්", + "label.name": "නම", + "label.new-password": "අලුත් මුරපදය", + "label.none": "කිසිවක් නැත", + "label.owner": "හිමිකරු", + "label.password": "මුරපදය", + "label.passwords-dont-match": "මුරපද නොගැලපේ", + "label.profile": "පැතිකඩ", + "label.realtime": "තත්ය කාල", + "label.realtime-logs": "තත්‍ය කාලීන ලොග්", + "label.refresh": "නැවුම් කරන්න", + "label.required": "අවශ්‍යයි", + "label.reset": "යළි පිහිටුවන්න", + "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", + "label.save": "සුරකින්න", + "label.search": "සෙවීම", + "label.settings": "සැකසුම්", + "label.share-url": "බෙදාගැනීමේ URL", + "label.single-day": "තනි දවස", + "label.theme": "තේමාව", + "label.this-month": "මෙ මාසය", + "label.this-week": "මේ සතිය", + "label.this-year": "මේ අවුරුද්ද", + "label.timezone": "වේලා කලාපය", + "label.today": "අද", + "label.tracking-code": "ලුහුබැඳීමේ කේතය", + "label.type": "වර්ගය", + "label.unknown": "නොදනී", + "label.username": "පරිශීලක නාමය", + "label.value": "වටිනාකම", + "label.view-details": "තොරතුරු පෙන්වන්න", + "label.websites": "වෙබ් අඩවි", + "label.yesterday": "ඊයේ", + "message.active-users": "{x} දැන් {x, plural, one {අමුත්තා} other {අමුත්තන්}}", + "message.confirm-delete": "{target} මකා දැමීම ගැන විශ්වාසද?", + "message.confirm-reset": "{target} ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?", + "message.copied": "පිටපත් කරගත්තා!", + "message.delete-warning": "සියලුම ආශ්‍රිත දත්ත ද මකා දැමෙනු ඇත.", + "message.edit-dashboard": "උපකරණ පුවරුව සංස්කරණය කරන්න", + "message.failure": "යම් ගැටලුවක් මතු වී ඇත.", + "message.get-share-url": "බෙදාගැනීමේ URL ලබා ගන්න", + "message.get-tracking-code": "ලුහුබැඳීමේ කේතය ලබා ගන්න", + "message.go-to-settings": "සැකසීම් වෙත යන්න", + "message.incorrect-username-password": "වැරදි පරිශීලක නාමය/මුරපදය.", + "message.log.visitor": "{country} වලින් පැමිණි අමුත්තකු {device} එකේ, මේ {os} එකේ, මේ {browser} එකෙන් ඉන්නවා", + "message.new-version-available": "umami අලුත්ම {version} වන අනුවාදය නිකුත් උනා!", + "message.no-data-available": "පෙන්වීමට දත්ත නොමැත.", + "message.no-websites-configured": "ඔබට වින්‍යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත.", + "message.page-not-found": "පිටුව හමු නොවීය.", + "message.powered-by": "බල ගැන්වුයේ {name}", + "message.reset-warning": "සියලුම සංඛ්‍යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත.", + "message.save-success": "සාර්තකව සුරැකිණි.", + "message.share-url": "මේ {target} සඳහා ප්‍රසිද්ධියේ බෙදාගත් URL එකයි.", + "message.toggle-charts": "ප්‍රස්ථාර ටොගල් කරන්න", + "message.track-stats": "{target} හි සංඛ්යාලේඛන බැලීම සදහා, පහත කේතය {head} කොටසට ඇතුලත් කරන්න.", + "message.type-delete": "සත්‍යාපනය සදහා {delete} ලෙස පහල කොටුවේ ටයිප් කරන්න", + "message.type-reset": "සත්‍යාපනය සදහා {reset} ලෙස පහල කොටුවේ ටයිප් කරන්න", + "metrics.actions": "ක්රියාවන්", + "metrics.average-visit-time": "සාමාන්‍ය සංචාර කාලය", + "metrics.bounce-rate": "හැරී යන ප්‍රමාණය", + "metrics.browsers": "බ්‍රව්සර්", + "metrics.countries": "රටවල්", + "metrics.device.desktop": "ඩෙස්ක්ටොප්", + "metrics.device.laptop": "ලැප්ටොප්", + "metrics.device.mobile": "ජංගම", + "metrics.device.tablet": "ටැබ්ලට්", + "metrics.devices": "උපකරණ", + "metrics.events": "සිද්ධීන්", + "metrics.filter.combined": "ඒකාබද්ධ", + "metrics.filter.raw": "අමු", + "metrics.languages": "භාෂා", + "metrics.operating-systems": "මෙහෙයුම් පද්ධති", + "metrics.page-views": "පිටු බැලීම්", + "metrics.pages": "පිටු", + "metrics.query-parameters": "විමසුම් පරාමිතීන්", + "metrics.referrers": "යොමු කරන්නන්", + "metrics.screens": "තිර", + "metrics.unique-visitors": "අලුත්ම අමුත්තන්", + "metrics.views": "බැලූ ගණන", + "metrics.visitors": "අමුත්තන්" +} diff --git a/lib/lang.js b/lib/lang.js index 05b951c8..25ad2c51 100644 --- a/lib/lang.js +++ b/lib/lang.js @@ -40,6 +40,7 @@ import { ca, hu, vi, + si, } from 'date-fns/locale'; export const languages = { @@ -82,6 +83,7 @@ export const languages = { 'fi-FI': { label: 'Suomi', dateLocale: fi }, 'sv-SE': { label: 'Svenska', dateLocale: sv }, 'ta-IN': { label: 'தமிழ்', dateLocale: ta }, + 'si-LK': { label: 'සිංහල', dateLocale: si }, 'th-TH': { label: 'ภาษาไทย', dateLocale: th }, 'tr-TR': { label: 'Türkçe', dateLocale: tr }, 'uk-UA': { label: 'українська', dateLocale: uk }, diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json new file mode 100644 index 00000000..1cbc9035 --- /dev/null +++ b/public/intl/messages/si-LK.json @@ -0,0 +1,627 @@ +{ + "label.accounts": [{ + "type": 0, + "value": "ගිණුම්" + }], + "label.add-account": [{ + "type": 0, + "value": "ගිණුම එකතු කරන්න" + }], + "label.add-column": [{ + "type": 0, + "value": "තීරුව එක් කරන්න" + }], + "label.add-filter": [{ + "type": 0, + "value": "පෙරහන එකතු කරන්න" + }], + "label.add-website": [{ + "type": 0, + "value": "වෙබ් අඩවිය එක් කරන්න" + }], + "label.administrator": [{ + "type": 0, + "value": "පරිපාලක" + }], + "label.all": [{ + "type": 0, + "value": "සියල්ල" + }], + "label.all-time": [{ + "type": 0, + "value": "හැම වෙලාවෙම" + }], + "label.all-websites": [{ + "type": 0, + "value": "සියලුම වෙබ් අඩවි" + }], + "label.back": [{ + "type": 0, + "value": "ආපසු" + }], + "label.cancel": [{ + "type": 0, + "value": "අවලංගු කරන්න" + }], + "label.change-password": [{ + "type": 0, + "value": "මුරපදය වෙනස් කරන්න" + }], + "label.confirm-password": [{ + "type": 0, + "value": "මුරපදය සත්‍යාපනය කරන්න" + }], + "label.copy-to-clipboard": [{ + "type": 0, + "value": "පසුරු පුවරුවට පිටපත් කරන්න" + }], + "label.current-password": [{ + "type": 0, + "value": "වත්මන් මුරපදය" + }], + "label.custom-range": [{ + "type": 0, + "value": "අභිරුචි පරාසය" + }], + "label.dashboard": [{ + "type": 0, + "value": "පුවරුව" + }], + "label.date-range": [{ + "type": 0, + "value": "දින පරාසය" + }], + "label.default-date-range": [{ + "type": 0, + "value": "පෙරනිමි දින පරාසය" + }], + "label.delete": [{ + "type": 0, + "value": "මකන්න" + }], + "label.delete-account": [{ + "type": 0, + "value": "ගිණුම මකන්න" + }], + "label.delete-website": [{ + "type": 0, + "value": "වෙබ් අඩවිය මකන්න" + }], + "label.dismiss": [{ + "type": 0, + "value": "මගහරින්න" + }], + "label.domain": [{ + "type": 0, + "value": "වසම" + }], + "label.edit": [{ + "type": 0, + "value": "සංස්කරණය කරන්න" + }], + "label.edit-account": [{ + "type": 0, + "value": "ගිණුම සංස්කරණය කරන්න" + }], + "label.edit-website": [{ + "type": 0, + "value": "වෙබ් අඩවිය සංස්කරණය කරන්න" + }], + "label.enable-share-url": [{ + "type": 0, + "value": "බෙදාගැනීමේ URL සබල කරන්න" + }], + "label.event-data": [{ + "type": 0, + "value": "සිදුවීම් දත්ත" + }], + "label.field-name": [{ + "type": 0, + "value": "ක්ෂේත්‍ර නාම" + }], + "label.invalid": [{ + "type": 0, + "value": "වලංගු නැත" + }], + "label.invalid-domain": [{ + "type": 0, + "value": "වලංගු නොවන වසමක්" + }], + "label.language": [{ + "type": 0, + "value": "භාෂාව" + }], + "label.last-days": [{ + "type": 0, + "value": "අන්තිම " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " දින" + } + ], + "label.last-hours": [{ + "type": 0, + "value": "අන්තිම " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " පැය" + } + ], + "label.logged-in-as": [{ + "type": 0, + "value": "ලොග් වී ඇත්තේ " + }, + { + "type": 1, + "value": "username" + } + ], + "label.login": [{ + "type": 0, + "value": "ලොග් වෙන්න" + }], + "label.logout": [{ + "type": 0, + "value": "පිටවීම" + }], + "label.more": [{ + "type": 0, + "value": "තවත්" + }], + "label.name": [{ + "type": 0, + "value": "නම" + }], + "label.new-password": [{ + "type": 0, + "value": "අලුත් මුරපදය" + }], + "label.none": [{ + "type": 0, + "value": "කිසිවක් නැත" + }], + "label.owner": [{ + "type": 0, + "value": "හිමිකරු" + }], + "label.password": [{ + "type": 0, + "value": "මුරපදය" + }], + "label.passwords-dont-match": [{ + "type": 0, + "value": "මුරපද නොගැලපේ" + }], + "label.profile": [{ + "type": 0, + "value": "පැතිකඩ" + }], + "label.realtime": [{ + "type": 0, + "value": "තත්ය කාල" + }], + "label.realtime-logs": [{ + "type": 0, + "value": "තත්‍ය කාලීන ලොග්" + }], + "label.refresh": [{ + "type": 0, + "value": "නැවුම් කරන්න" + }], + "label.required": [{ + "type": 0, + "value": "අවශ්‍යයි" + }], + "label.reset": [{ + "type": 0, + "value": "යළි පිහිටුවන්න" + }], + "label.reset-website": [{ + "type": 0, + "value": "සංඛ්යා ලේඛන නැවත සකසන්න" + }], + "label.save": [{ + "type": 0, + "value": "සුරකින්න" + }], + "label.search": [{ + "type": 0, + "value": "සෙවීම" + }], + "label.settings": [{ + "type": 0, + "value": "සැකසුම්" + }], + "label.share-url": [{ + "type": 0, + "value": "බෙදාගැනීමේ URL" + }], + "label.single-day": [{ + "type": 0, + "value": "තනි දවස" + }], + "label.theme": [{ + "type": 0, + "value": "තේමාව" + }], + "label.this-month": [{ + "type": 0, + "value": "මෙ මාසය" + }], + "label.this-week": [{ + "type": 0, + "value": "මේ සතිය" + }], + "label.this-year": [{ + "type": 0, + "value": "මේ අවුරුද්ද" + }], + "label.timezone": [{ + "type": 0, + "value": "වේලා කලාපය" + }], + "label.today": [{ + "type": 0, + "value": "අද" + }], + "label.tracking-code": [{ + "type": 0, + "value": "ලුහුබැඳීමේ කේතය" + }], + "label.type": [{ + "type": 0, + "value": "වර්ගය" + }], + "label.unknown": [{ + "type": 0, + "value": "නොදනී" + }], + "label.username": [{ + "type": 0, + "value": "පරිශීලක නාමය" + }], + "label.value": [{ + "type": 0, + "value": "වටිනාකම" + }], + "label.view-details": [{ + "type": 0, + "value": "තොරතුරු පෙන්වන්න" + }], + "label.websites": [{ + "type": 0, + "value": "වෙබ් අඩවි" + }], + "label.yesterday": [{ + "type": 0, + "value": "ඊයේ" + }], + "message.active-users": [{ + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " දැන් " + }, + { + "offset": 0, + "options": { + "one": { + "value": [{ + "type": 0, + "value": "අමුත්තා" + }] + }, + "other": { + "value": [{ + "type": 0, + "value": "අමුත්තන්" + }] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "message.confirm-delete": [{ + "type": 0, + "value": "මකා දැමීම ගැන විශ්වාසද? " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-reset": [{ + "type": 0, + "value": "" + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?" + } + ], + "message.copied": [{ + "type": 0, + "value": "පිටපත් කරගත්තා!" + }], + "message.delete-warning": [{ + "type": 0, + "value": "සියලුම ආශ්‍රිත දත්ත ද මකා දැමෙනු ඇත." + }], + "message.edit-dashboard": [{ + "type": 0, + "value": "උපකරණ පුවරුව සංස්කරණය කරන්න" + }], + "message.failure": [{ + "type": 0, + "value": "යම් ගැටලුවක් මතු වී ඇත." + }], + "message.get-share-url": [{ + "type": 0, + "value": "බෙදාගැනීමේ URL ලබා ගන්න" + }], + "message.get-tracking-code": [{ + "type": 0, + "value": "ලුහුබැඳීමේ කේතය ලබා ගන්න" + }], + "message.go-to-settings": [{ + "type": 0, + "value": "සැකසීම් වෙත යන්න" + }], + "message.incorrect-username-password": [{ + "type": 0, + "value": "වැරදි පරිශීලක නාමය/මුරපදය." + }], + "message.log.visitor": [{ + "type": 0, + "value": "Visitor from " + }, + { + "type": 1, + "value": "country" + }, + { + "type": 0, + "value": " using " + }, + { + "type": 1, + "value": "browser" + }, + { + "type": 0, + "value": " on " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "device" + } + ], + "message.new-version-available": [{ + "type": 0, + "value": "A new version of umami " + }, + { + "type": 1, + "value": "version" + }, + { + "type": 0, + "value": " is available!" + } + ], + "message.no-data-available": [{ + "type": 0, + "value": "පෙන්වීමට දත්ත නොමැත." + }], + "message.no-websites-configured": [{ + "type": 0, + "value": "ඔබට වින්‍යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත." + }], + "message.page-not-found": [{ + "type": 0, + "value": "පිටුව හමු නොවීය." + }], + "message.powered-by": [{ + "type": 0, + "value": "බල ගැන්වුයේ " + }, + { + "type": 1, + "value": "name" + } + ], + "message.reset-warning": [{ + "type": 0, + "value": "සියලුම සංඛ්‍යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත." + }], + "message.save-success": [{ + "type": 0, + "value": "සාර්තකව සුරැකිණි." + }], + "message.share-url": [{ + "type": 0, + "value": "This is the publicly shared URL for " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "." + } + ], + "message.toggle-charts": [{ + "type": 0, + "value": "ප්‍රස්ථාර ටොගල් කරන්න" + }], + "message.track-stats": [{ + "type": 0, + "value": "To track stats for " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": ", place the following code in the " + }, + { + "type": 1, + "value": "head" + }, + { + "type": 0, + "value": " section of your website." + } + ], + "message.type-delete": [{ + "type": 0, + "value": "Type " + }, + { + "type": 1, + "value": "delete" + }, + { + "type": 0, + "value": " in the box below to confirm." + } + ], + "message.type-reset": [{ + "type": 0, + "value": "Type " + }, + { + "type": 1, + "value": "reset" + }, + { + "type": 0, + "value": " in the box below to confirm." + } + ], + "metrics.actions": [{ + "type": 0, + "value": "ක්රියාවන්" + }], + "metrics.average-visit-time": [{ + "type": 0, + "value": "සාමාන්‍ය සංචාර කාලය" + }], + "metrics.bounce-rate": [{ + "type": 0, + "value": "හැරී යන ප්‍රමාණය" + }], + "metrics.browsers": [{ + "type": 0, + "value": "බ්‍රව්සර්" + }], + "metrics.countries": [{ + "type": 0, + "value": "රටවල්" + }], + "metrics.device.desktop": [{ + "type": 0, + "value": "ඩෙස්ක්ටොප්" + }], + "metrics.device.laptop": [{ + "type": 0, + "value": "ලැප්ටොප්" + }], + "metrics.device.mobile": [{ + "type": 0, + "value": "ජංගම" + }], + "metrics.device.tablet": [{ + "type": 0, + "value": "ටැබ්ලට්" + }], + "metrics.devices": [{ + "type": 0, + "value": "උපකරණ" + }], + "metrics.events": [{ + "type": 0, + "value": "සිද්ධීන්" + }], + "metrics.filter.combined": [{ + "type": 0, + "value": "ඒකාබද්ධ" + }], + "metrics.filter.raw": [{ + "type": 0, + "value": "අමු" + }], + "metrics.languages": [{ + "type": 0, + "value": "භාෂා" + }], + "metrics.operating-systems": [{ + "type": 0, + "value": "මෙහෙයුම් පද්ධති" + }], + "metrics.page-views": [{ + "type": 0, + "value": "පිටු බැලීම්" + }], + "metrics.pages": [{ + "type": 0, + "value": "පිටු" + }], + "metrics.query-parameters": [{ + "type": 0, + "value": "විමසුම් පරාමිතීන්" + }], + "metrics.referrers": [{ + "type": 0, + "value": "යොමු කරන්නන්" + }], + "metrics.screens": [{ + "type": 0, + "value": "තිර" + }], + "metrics.unique-visitors": [{ + "type": 0, + "value": "අලුත්ම අමුත්තන්" + }], + "metrics.views": [{ + "type": 0, + "value": "බැලූ ගණන" + }], + "metrics.visitors": [{ + "type": 0, + "value": "අමුත්තන්" + }] +} \ No newline at end of file diff --git a/styles/index.css b/styles/index.css index b6006b43..cbd0566d 100644 --- a/styles/index.css +++ b/styles/index.css @@ -47,6 +47,10 @@ body { 'Times New Roman', serif !important; } +.si-LK { + font-family: 'Noto Sans Sinhala', Roboto, Noto, 'Times New Roman', sans-serif !important; +} + .he-IL { font-family: 'New Peninim MT', 'Arial Hebrew', Gisha, 'Times New Roman', Roboto, Noto, 'Noto Sans Hebrew', sans-serif !important; From 613bf86014830cd01aec1c185feb7b4cf6cd4d4c Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 16:29:20 +1100 Subject: [PATCH 12/65] Corrected word choice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed from "ต้องการ" sounding more like "wanted" to "จำเป็น" meaning "necessary" --- lang/th-TH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/th-TH.json b/lang/th-TH.json index 9586d18c..d32a3eb6 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -44,7 +44,7 @@ "label.realtime": "เรียลไทม์", "label.realtime-logs": "Log แบบเรียลไทม์", "label.refresh": "รีเฟรช", - "label.required": "ต้องการ", + "label.required": "จำเป็น", "label.reset": "รีเซต", "label.reset-website": "รีเซตข้อมูลสถิติ", "label.save": "บันทึก", From c9c384871f280c78aaf61c2b3957e5cd27b014f2 Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 16:34:14 +1100 Subject: [PATCH 13/65] Corrected spelling to more standard version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed รีเซต to รีเซ็ต (more standardised spelling) --- lang/th-TH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/th-TH.json b/lang/th-TH.json index d32a3eb6..25c90e3a 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -64,7 +64,7 @@ "label.websites": "เว็บไซต์", "message.active-users": "มีผู้ใช้งาน {x} {x, plural, one {คนในขณะนี้} other {คนในขณะนี้}}", "message.confirm-delete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {target} ?", - "message.confirm-reset": "คุณแน่ใจหรือไม่ว่าต้องการรีเซตข้อมูลสถิติของ {target} ?", + "message.confirm-reset": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตข้อมูลสถิติของ {target} ?", "message.copied": "คัดลอกแล้ว!", "message.delete-warning": "ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบ.", "message.edit-dashboard": "Edit dashboard", From 4419a25f97255c08ee67e5dcaa2760853bd5cf3d Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 17:43:02 +1100 Subject: [PATCH 14/65] Translated message.edit-dashboard --- lang/th-TH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/th-TH.json b/lang/th-TH.json index 25c90e3a..01723458 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -67,7 +67,7 @@ "message.confirm-reset": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตข้อมูลสถิติของ {target} ?", "message.copied": "คัดลอกแล้ว!", "message.delete-warning": "ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบ.", - "message.edit-dashboard": "Edit dashboard", + "message.edit-dashboard": "แก้ไขแดชบอร์ด", "message.failure": "เกิดข้อผิดพลาด.", "message.get-share-url": "รับลิงก์สำหรับแชร์", "message.get-tracking-code": "รับโค้ดสำหรับใช้ติดตาม", From 434b86cf190d0727a36c2243f24437b4cf892b59 Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:00:27 +1100 Subject: [PATCH 15/65] Translated metrics.query-parameters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The technical term "Query" doesn't seem to exist in Thai, and Thai developers refer to this feature as a "URL Parameter". I was unsure between "พารามิเตอร์ URL" and "มาตรวัด URL", but I'm going with "พารามิเตอร์ URL" as it exists in documentation by Meta/Facebook. --- lang/th-TH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/th-TH.json b/lang/th-TH.json index 01723458..a8938de9 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -103,7 +103,7 @@ "metrics.operating-systems": "ระบบปฏิบัติการ", "metrics.page-views": "การเข้าชม", "metrics.pages": "หน้าเพจ", - "metrics.query-parameters": "Query parameters", + "metrics.query-parameters": "พารามิเตอร์ URL", "metrics.referrers": "แหล่งที่มา", "metrics.screens": "ขนาดหน้าจอ", "metrics.unique-visitors": "ผู้เข้าชม", From 38ebf4982755c0c1d232f63826587174be08b6a1 Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:15:54 +1100 Subject: [PATCH 16/65] Translated label.add-filter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added "สร้างตัวกรอง" as this is the translation they use for the same button in gmail. --- lang/th-TH.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/th-TH.json b/lang/th-TH.json index a8938de9..4331ffa0 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -1,6 +1,7 @@ { "label.accounts": "บัญชี", "label.add-account": "เพิ่มบัญชี", + "label.add-filter": "สร้างตัวกรอง", "label.add-website": "เพิ่มเว็บไซต์", "label.administrator": "ผู้ดูแลระบบ", "label.all": "ทั้งหมด", From 17d37fb15b28bdd6175504c98a2556b262f96cae Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:22:43 +1100 Subject: [PATCH 17/65] Translated label.add-column MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using สร้างคอลัมน์ as it appears in Google Sheets for a button with the same function --- lang/th-TH.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/th-TH.json b/lang/th-TH.json index 4331ffa0..31571ea2 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -1,6 +1,7 @@ { "label.accounts": "บัญชี", "label.add-account": "เพิ่มบัญชี", + "label.add-column": "สร้างคอลัมน์", "label.add-filter": "สร้างตัวกรอง", "label.add-website": "เพิ่มเว็บไซต์", "label.administrator": "ผู้ดูแลระบบ", From 2492b0b9ad9384cd5b4163f30fc8c86102612ddc Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:25:15 +1100 Subject: [PATCH 18/65] Translated label.yesterday --- lang/th-TH.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/th-TH.json b/lang/th-TH.json index 31571ea2..cbf34699 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -64,6 +64,7 @@ "label.username": "ชื่อผู้ใช้", "label.view-details": "แสดงรายละเอียด", "label.websites": "เว็บไซต์", + "label.yesterday": "เมื่อวาน", "message.active-users": "มีผู้ใช้งาน {x} {x, plural, one {คนในขณะนี้} other {คนในขณะนี้}}", "message.confirm-delete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {target} ?", "message.confirm-reset": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตข้อมูลสถิติของ {target} ?", From fabe90d99dd281279aafbb5e54ae765bf3d54c54 Mon Sep 17 00:00:00 2001 From: lnxd <48756329+lnxd@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:31:01 +1100 Subject: [PATCH 19/65] Translated label.search --- lang/th-TH.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/th-TH.json b/lang/th-TH.json index cbf34699..9457fab5 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -50,6 +50,7 @@ "label.reset": "รีเซต", "label.reset-website": "รีเซตข้อมูลสถิติ", "label.save": "บันทึก", + "label.search": "ค้นหา", "label.settings": "ตั้งค่า", "label.share-url": "แชร์ลิงก์", "label.single-day": "วันที่", From 5c134f3a2ed8da6c341b0e5c5ed2ccf0b55e16f4 Mon Sep 17 00:00:00 2001 From: Samson Endale <4sam21@gmail.com> Date: Sat, 14 Jan 2023 12:56:06 +0300 Subject: [PATCH 20/65] Created a file for am-ET language --- lang/am-ET.json | 120 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lang/am-ET.json diff --git a/lang/am-ET.json b/lang/am-ET.json new file mode 100644 index 00000000..f58a25cd --- /dev/null +++ b/lang/am-ET.json @@ -0,0 +1,120 @@ +{ + "label.accounts": "Accounts", + "label.add-account": "Add account", + "label.add-column": "Add column", + "label.add-filter": "Add filter", + "label.add-website": "Add website", + "label.administrator": "Administrator", + "label.all": "All", + "label.all-time": "All time", + "label.all-websites": "All websites", + "label.back": "Back", + "label.cancel": "Cancel", + "label.change-password": "Change password", + "label.confirm-password": "Confirm password", + "label.copy-to-clipboard": "Copy to clipboard", + "label.current-password": "Current password", + "label.custom-range": "Custom range", + "label.dashboard": "Dashboard", + "label.date-range": "Date range", + "label.default-date-range": "Default date range", + "label.delete": "Delete", + "label.delete-account": "Delete account", + "label.delete-website": "Delete website", + "label.dismiss": "Dismiss", + "label.domain": "Domain", + "label.edit": "Edit", + "label.edit-account": "Edit account", + "label.edit-website": "Edit website", + "label.enable-share-url": "Enable share URL", + "label.event-data": "Event Data", + "label.field-name": "Field Name", + "label.invalid": "Invalid", + "label.invalid-domain": "Invalid domain", + "label.language": "Language", + "label.last-days": "Last {x} days", + "label.last-hours": "Last {x} hours", + "label.logged-in-as": "Logged in as {username}", + "label.login": "Login", + "label.logout": "Logout", + "label.more": "More", + "label.name": "Name", + "label.new-password": "New password", + "label.none": "None", + "label.owner": "Owner", + "label.password": "Password", + "label.passwords-dont-match": "Passwords don't match", + "label.profile": "Profile", + "label.realtime": "Realtime", + "label.realtime-logs": "Realtime logs", + "label.refresh": "Refresh", + "label.required": "Required", + "label.reset": "Reset", + "label.reset-website": "Reset statistics", + "label.save": "Save", + "label.search": "Search", + "label.settings": "Settings", + "label.share-url": "Share URL", + "label.single-day": "Single day", + "label.theme": "Theme", + "label.this-month": "This month", + "label.this-week": "This week", + "label.this-year": "This year", + "label.timezone": "Timezone", + "label.today": "Today", + "label.tracking-code": "Tracking code", + "label.type": "Type", + "label.unknown": "Unknown", + "label.username": "Username", + "label.value": "Value", + "label.view-details": "View details", + "label.websites": "Websites", + "label.yesterday": "Yesterday", + "message.active-users": "{x} current {x, plural, one {visitor} other {visitors}}", + "message.confirm-delete": "Are you sure you want to delete {target}?", + "message.confirm-reset": "Are you sure you want to reset {target}'s statistics?", + "message.copied": "Copied!", + "message.delete-warning": "All associated data will be deleted as well.", + "message.edit-dashboard": "Edit dashboard", + "message.failure": "Something went wrong.", + "message.get-share-url": "Get share URL", + "message.get-tracking-code": "Get tracking code", + "message.go-to-settings": "Go to settings", + "message.incorrect-username-password": "Incorrect username/password.", + "message.log.visitor": "Visitor from {country} using {browser} on {os} {device}", + "message.new-version-available": "A new version of umami {version} is available!", + "message.no-data-available": "No data available.", + "message.no-websites-configured": "You don't have any websites configured.", + "message.page-not-found": "Page not found.", + "message.powered-by": "Powered by {name}", + "message.reset-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", + "message.save-success": "Saved successfully.", + "message.share-url": "This is the publicly shared URL for {target}.", + "message.toggle-charts": "Toggle charts", + "message.track-stats": "To track stats for {target}, place the following code in the {head} section of your website.", + "message.type-delete": "Type {delete} in the box below to confirm.", + "message.type-reset": "Type {reset} in the box below to confirm.", + "metrics.actions": "Actions", + "metrics.average-visit-time": "Average visit time", + "metrics.bounce-rate": "Bounce rate", + "metrics.browsers": "Browsers", + "metrics.countries": "Countries", + "metrics.device.desktop": "Desktop", + "metrics.device.laptop": "Laptop", + "metrics.device.mobile": "Mobile", + "metrics.device.tablet": "Tablet", + "metrics.devices": "Devices", + "metrics.events": "Events", + "metrics.filter.combined": "Combined", + "metrics.filter.raw": "Raw", + "metrics.languages": "Languages", + "metrics.operating-systems": "Operating systems", + "metrics.page-views": "Page views", + "metrics.pages": "Pages", + "metrics.query-parameters": "Query parameters", + "metrics.referrers": "Referrers", + "metrics.screens": "Screens", + "metrics.unique-visitors": "Unique visitors", + "metrics.views": "Views", + "metrics.visitors": "Visitors" +} From 922c3acab3785e4fd81dcf92942f7382d975df70 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Wed, 18 Jan 2023 15:09:49 -0800 Subject: [PATCH 21/65] Fix share URL permissions. (#1745) * Fix share URL permissions. * Add sql param logic. * Add permissions to edit website. * Update permissions. * Move parameters to param injection. * Sanitize eventdata. * Remove caret. * Fix avg. --- components/layout/Header.js | 29 +++++---- lib/auth.js | 4 +- lib/prisma.js | 60 ++++++++++++++----- pages/api/accounts/[id]/password.js | 2 +- pages/api/realtime/init.js | 6 +- pages/api/websites/[id]/index.js | 14 +++-- pages/api/websites/[id]/reset.js | 2 +- pages/api/websites/index.js | 3 +- queries/analytics/event/getEventData.js | 41 +++++++++---- queries/analytics/event/getEventMetrics.js | 8 +-- .../analytics/pageview/getPageviewMetrics.js | 8 +-- .../analytics/pageview/getPageviewParams.js | 8 +-- .../analytics/pageview/getPageviewStats.js | 8 +-- .../analytics/session/getSessionMetrics.js | 8 +-- queries/analytics/stats/getActiveVisitors.js | 9 +-- queries/analytics/stats/getWebsiteStats.js | 8 +-- 16 files changed, 139 insertions(+), 79 deletions(-) diff --git a/components/layout/Header.js b/components/layout/Header.js index a81e016c..5f0ca386 100644 --- a/components/layout/Header.js +++ b/components/layout/Header.js @@ -29,21 +29,24 @@ export default function Header() { } size="large" className={styles.logo} /> umami - + {user && ( -
- - - - - - - {!process.env.isCloudMode && ( - - + <> + +
+ + - )} -
+ + + + {!process.env.isCloudMode && ( + + + + )} +
+ )}
diff --git a/lib/auth.js b/lib/auth.js index 93027544..d485b977 100644 --- a/lib/auth.js +++ b/lib/auth.js @@ -35,7 +35,7 @@ export function isValidToken(token, validation) { return false; } -export async function allowQuery(req, type) { +export async function allowQuery(req, type, allowShareToken = true) { const { id } = req.query; const { userId, isAdmin, shareToken } = req.auth ?? {}; @@ -44,7 +44,7 @@ export async function allowQuery(req, type) { return true; } - if (shareToken) { + if (allowShareToken && shareToken) { return isValidToken(shareToken, { id }); } diff --git a/lib/prisma.js b/lib/prisma.js index ab1e6ebf..109e1ae3 100644 --- a/lib/prisma.js +++ b/lib/prisma.js @@ -36,6 +36,18 @@ function logQuery(e) { log(chalk.yellow(e.params), '->', e.query, chalk.greenBright(`${e.duration}ms`)); } +function toUuid() { + const db = getDatabaseType(process.env.DATABASE_URL); + + if (db === POSTGRESQL) { + return '::uuid'; + } + + if (db === MYSQL) { + return ''; + } +} + function getClient(options) { const prisma = new PrismaClient(options); @@ -85,11 +97,23 @@ function getTimestampInterval(field) { } } -function getJsonField(column, property, isNumber) { +function getSanitizedColumns(columns) { + return Object.keys(columns).reduce((acc, keyName) => { + const sanitizedProperty = keyName.replace(/[\w\s_]/g, ''); + + acc[sanitizedProperty] = columns[keyName]; + + return acc; + }, {}); +} + +function getJsonField(column, property, isNumber, params) { const db = getDatabaseType(process.env.DATABASE_URL); if (db === POSTGRESQL) { - let accessor = `${column} ->> '${property}'`; + params.push(property); + + let accessor = `${column} ->> $${params.length}`; if (isNumber) { accessor = `CAST(${accessor} AS DECIMAL)`; @@ -99,21 +123,29 @@ function getJsonField(column, property, isNumber) { } if (db === MYSQL) { - return `${column} ->> "$.${property}"`; + return `${column} ->> '$.${property}'`; } } -function getEventDataColumnsQuery(column, columns) { - const query = Object.keys(columns).reduce((arr, key) => { +function getEventDataColumnsQuery(column, columns, params) { + const query = Object.keys(columns).reduce((arr, key, i) => { const filter = columns[key]; if (filter === undefined) { return arr; } - const isNumber = ['sum', 'avg', 'min', 'max'].some(a => a === filter); - - arr.push(`${filter}(${getJsonField(column, key, isNumber)}) as "${filter}(${key})"`); + switch (filter) { + case 'sum': + case 'avg': + case 'min': + case 'max': + arr.push(`${filter}(${getJsonField(column, key, true, params)}) as "${i}"`); + break; + case 'count': + arr.push(`${filter}(${getJsonField(column, key, false, params)}) as "${i}"`); + break; + } return arr; }, []); @@ -121,7 +153,7 @@ function getEventDataColumnsQuery(column, columns) { return query.join(',\n'); } -function getEventDataFilterQuery(column, filters) { +function getEventDataFilterQuery(column, filters, params) { const query = Object.keys(filters).reduce((arr, key) => { const filter = filters[key]; @@ -131,11 +163,9 @@ function getEventDataFilterQuery(column, filters) { const isNumber = filter && typeof filter === 'number'; - arr.push( - `${getJsonField(column, key, isNumber)} = ${ - typeof filter === 'string' ? `'${filter}'` : filter - }`, - ); + arr.push(`${getJsonField(column, key, isNumber, params)} = $${params.length + 1}`); + + params.push(filter); return arr; }, []); @@ -248,11 +278,13 @@ const prisma = global[PRISMA] || getClient(PRISMA_OPTIONS); export default { client: prisma, log, + toUuid, getDateQuery, getTimestampInterval, getFilterQuery, getEventDataColumnsQuery, getEventDataFilterQuery, + getSanitizedColumns, parseFilters, rawQuery, transaction, diff --git a/pages/api/accounts/[id]/password.js b/pages/api/accounts/[id]/password.js index 89649c20..5dde1258 100644 --- a/pages/api/accounts/[id]/password.js +++ b/pages/api/accounts/[id]/password.js @@ -17,7 +17,7 @@ export default async (req, res) => { const { current_password, new_password } = req.body; const { id: accountUuid } = req.query; - if (!(await allowQuery(req, TYPE_ACCOUNT))) { + if (!(await allowQuery(req, TYPE_ACCOUNT, false))) { return unauthorized(res); } diff --git a/pages/api/realtime/init.js b/pages/api/realtime/init.js index 9a9a4297..75ddf022 100644 --- a/pages/api/realtime/init.js +++ b/pages/api/realtime/init.js @@ -1,5 +1,5 @@ import { subMinutes } from 'date-fns'; -import { ok, methodNotAllowed, createToken } from 'next-basics'; +import { ok, unauthorized, methodNotAllowed, createToken } from 'next-basics'; import { useAuth } from 'lib/middleware'; import { getUserWebsites, getRealtimeData } from 'queries'; import { secret } from 'lib/crypto'; @@ -10,6 +10,10 @@ export default async (req, res) => { if (req.method === 'GET') { const { userId } = req.auth; + if (!userId) { + return unauthorized(res); + } + const websites = await getUserWebsites({ userId }); const ids = websites.map(({ websiteUuid }) => websiteUuid); const token = createToken({ websites: ids }, secret()); diff --git a/pages/api/websites/[id]/index.js b/pages/api/websites/[id]/index.js index a3771427..74f11c95 100644 --- a/pages/api/websites/[id]/index.js +++ b/pages/api/websites/[id]/index.js @@ -10,17 +10,21 @@ export default async (req, res) => { const { id: websiteUuid } = req.query; - if (!(await allowQuery(req, TYPE_WEBSITE))) { - return unauthorized(res); - } - if (req.method === 'GET') { + if (!(await allowQuery(req, TYPE_WEBSITE))) { + return unauthorized(res); + } + const website = await getWebsite({ websiteUuid }); return ok(res, website); } if (req.method === 'POST') { + if (!(await allowQuery(req, TYPE_WEBSITE, false))) { + return unauthorized(res); + } + const { name, domain, owner, enableShareUrl, shareId } = req.body; const { accountUuid } = req.auth; @@ -58,7 +62,7 @@ export default async (req, res) => { } if (req.method === 'DELETE') { - if (!(await allowQuery(req, TYPE_WEBSITE))) { + if (!(await allowQuery(req, TYPE_WEBSITE, false))) { return unauthorized(res); } diff --git a/pages/api/websites/[id]/reset.js b/pages/api/websites/[id]/reset.js index 0dde02df..0075a74d 100644 --- a/pages/api/websites/[id]/reset.js +++ b/pages/api/websites/[id]/reset.js @@ -11,7 +11,7 @@ export default async (req, res) => { const { id: websiteId } = req.query; if (req.method === 'POST') { - if (!(await allowQuery(req, TYPE_WEBSITE))) { + if (!(await allowQuery(req, TYPE_WEBSITE, false))) { return unauthorized(res); } diff --git a/pages/api/websites/index.js b/pages/api/websites/index.js index daecac88..f5fb6cfe 100644 --- a/pages/api/websites/index.js +++ b/pages/api/websites/index.js @@ -7,6 +7,7 @@ export default async (req, res) => { await useAuth(req, res); const { user_id, include_all } = req.query; + const { userId: currentUserId, isAdmin } = req.auth; const accountUuid = user_id || req.auth.accountUuid; let account; @@ -18,7 +19,7 @@ export default async (req, res) => { const userId = account ? account.id : user_id; if (req.method === 'GET') { - if (userId && userId !== currentUserId && !isAdmin) { + if (!userId || (userId !== currentUserId && !isAdmin)) { return unauthorized(res); } diff --git a/queries/analytics/event/getEventData.js b/queries/analytics/event/getEventData.js index 91302d30..08d7bc03 100644 --- a/queries/analytics/event/getEventData.js +++ b/queries/analytics/event/getEventData.js @@ -10,29 +10,44 @@ export async function getEventData(...args) { } async function relationalQuery(websiteId, { startDate, endDate, event_name, columns, filters }) { - const { rawQuery, getEventDataColumnsQuery, getEventDataFilterQuery } = prisma; - const params = [startDate, endDate]; + const { + rawQuery, + getEventDataColumnsQuery, + getEventDataFilterQuery, + toUuid, + getSanitizedColumns, + } = prisma; + const sanitizedColumns = getSanitizedColumns(columns); + const params = [websiteId, startDate, endDate]; + + if (event_name) { + params.push(event_name); + } + + const columnQuery = getEventDataColumnsQuery('event_data.event_data', sanitizedColumns, params); + const filterQuery = + Object.keys(filters).length > 0 + ? `and ${getEventDataFilterQuery('event_data.event_data', filters, params)}` + : ''; return rawQuery( `select - ${getEventDataColumnsQuery('event_data.event_data', columns)} + ${columnQuery} from event join website on event.website_id = website.website_id join event_data on event.event_id = event_data.event_id - where website_uuid='${websiteId}' - and event.created_at between $1 and $2 - ${event_name ? `and event_name = ${event_name}` : ''} - ${ - Object.keys(filters).length > 0 - ? `and ${getEventDataFilterQuery('event_data.event_data', filters)}` - : '' - }`, + where website_uuid = $1${toUuid()} + and event.created_at between $2 and $3 + ${event_name ? `and event_name = $4` : ''} + ${filterQuery}`, params, ).then(results => { - return Object.keys(results[0]).map(a => { - return { x: a, y: results[0][`${a}`] }; + const fields = Object.keys(sanitizedColumns); + + return Object.keys(results[0]).map((a, i) => { + return { x: `${sanitizedColumns[fields[i]]}(${fields[i]})`, y: results[0][i] }; }); }); } diff --git a/queries/analytics/event/getEventMetrics.js b/queries/analytics/event/getEventMetrics.js index 605bb688..d40703d7 100644 --- a/queries/analytics/event/getEventMetrics.js +++ b/queries/analytics/event/getEventMetrics.js @@ -17,8 +17,8 @@ async function relationalQuery( unit = 'day', filters = {}, ) { - const { rawQuery, getDateQuery, getFilterQuery } = prisma; - const params = [start_at, end_at]; + const { rawQuery, getDateQuery, getFilterQuery, toUuid } = prisma; + const params = [websiteId, start_at, end_at]; return rawQuery( `select @@ -28,8 +28,8 @@ async function relationalQuery( from event join website on event.website_id = website.website_id - where website_uuid='${websiteId}' - and event.created_at between $1 and $2 + where website_uuid = $1${toUuid()} + and event.created_at between $2 and $3 ${getFilterQuery('event', filters, params)} group by 1, 2 order by 2`, diff --git a/queries/analytics/pageview/getPageviewMetrics.js b/queries/analytics/pageview/getPageviewMetrics.js index 69607d00..58c1e1b0 100644 --- a/queries/analytics/pageview/getPageviewMetrics.js +++ b/queries/analytics/pageview/getPageviewMetrics.js @@ -10,8 +10,8 @@ export async function getPageviewMetrics(...args) { } async function relationalQuery(websiteId, { startDate, endDate, column, table, filters = {} }) { - const { rawQuery, parseFilters } = prisma; - const params = [startDate, endDate]; + const { rawQuery, parseFilters, toUuid } = prisma; + const params = [websiteId, startDate, endDate]; const { pageviewQuery, sessionQuery, eventQuery, joinSession } = parseFilters( table, column, @@ -24,8 +24,8 @@ async function relationalQuery(websiteId, { startDate, endDate, column, table, f from ${table} ${` join website on ${table}.website_id = website.website_id`} ${joinSession} - where website.website_uuid='${websiteId}' - and ${table}.created_at between $1 and $2 + where website.website_uuid = $1${toUuid()} + and ${table}.created_at between $2 and $3 ${pageviewQuery} ${joinSession && sessionQuery} ${eventQuery} diff --git a/queries/analytics/pageview/getPageviewParams.js b/queries/analytics/pageview/getPageviewParams.js index 5cdabfa3..2ccabe23 100644 --- a/queries/analytics/pageview/getPageviewParams.js +++ b/queries/analytics/pageview/getPageviewParams.js @@ -9,8 +9,8 @@ export async function getPageviewParams(...args) { } async function relationalQuery(websiteId, start_at, end_at, column, table, filters = {}) { - const { parseFilters, rawQuery } = prisma; - const params = [start_at, end_at]; + const { parseFilters, rawQuery, toUuid } = prisma; + const params = [websiteId, start_at, end_at]; const { pageviewQuery, sessionQuery, eventQuery, joinSession } = parseFilters( table, column, @@ -24,8 +24,8 @@ async function relationalQuery(websiteId, start_at, end_at, column, table, filte from ${table} ${` join website on ${table}.website_id = website.website_id`} ${joinSession} - where website.website_uuid='${websiteId}' - and ${table}.created_at between $1 and $2 + where website.website_uuid = $1${toUuid()} + and ${table}.created_at between $2 and $3 and ${table}.url like '%?%' ${pageviewQuery} ${joinSession && sessionQuery} diff --git a/queries/analytics/pageview/getPageviewStats.js b/queries/analytics/pageview/getPageviewStats.js index 5ec8339f..1f31d31b 100644 --- a/queries/analytics/pageview/getPageviewStats.js +++ b/queries/analytics/pageview/getPageviewStats.js @@ -21,8 +21,8 @@ async function relationalQuery( sessionKey = 'session_id', }, ) { - const { getDateQuery, parseFilters, rawQuery } = prisma; - const params = [start_at, end_at]; + const { getDateQuery, parseFilters, rawQuery, toUuid } = prisma; + const params = [websiteId, start_at, end_at]; const { pageviewQuery, sessionQuery, joinSession } = parseFilters( 'pageview', null, @@ -37,8 +37,8 @@ async function relationalQuery( join website on pageview.website_id = website.website_id ${joinSession} - where website.website_uuid='${websiteId}' - and pageview.created_at between $1 and $2 + where website.website_uuid = $1${toUuid()} + and pageview.created_at between $2 and $3 ${pageviewQuery} ${sessionQuery} group by 1`, diff --git a/queries/analytics/session/getSessionMetrics.js b/queries/analytics/session/getSessionMetrics.js index 020bddfb..bf9c8079 100644 --- a/queries/analytics/session/getSessionMetrics.js +++ b/queries/analytics/session/getSessionMetrics.js @@ -10,8 +10,8 @@ export async function getSessionMetrics(...args) { } async function relationalQuery(websiteId, { startDate, endDate, field, filters = {} }) { - const { parseFilters, rawQuery } = prisma; - const params = [startDate, endDate]; + const { parseFilters, rawQuery, toUuid } = prisma; + const params = [websiteId, startDate, endDate]; const { pageviewQuery, sessionQuery, joinSession } = parseFilters(null, filters, params); return rawQuery( @@ -23,8 +23,8 @@ async function relationalQuery(websiteId, { startDate, endDate, field, filters = join website on pageview.website_id = website.website_id ${joinSession} - where website.website_uuid='${websiteId}' - and pageview.created_at between $1 and $2 + where website.website_uuid = $1${toUuid()} + and pageview.created_at between $2 and $3 ${pageviewQuery} ${sessionQuery} ) diff --git a/queries/analytics/stats/getActiveVisitors.js b/queries/analytics/stats/getActiveVisitors.js index 3a898d94..3cb525d2 100644 --- a/queries/analytics/stats/getActiveVisitors.js +++ b/queries/analytics/stats/getActiveVisitors.js @@ -11,16 +11,17 @@ export async function getActiveVisitors(...args) { } async function relationalQuery(websiteId) { + const { rawQuery, toUuid } = prisma; const date = subMinutes(new Date(), 5); - const params = [date]; + const params = [websiteId, date]; - return prisma.rawQuery( + return rawQuery( `select count(distinct session_id) x from pageview join website on pageview.website_id = website.website_id - where website.website_uuid = '${websiteId}' - and pageview.created_at >= $1`, + where website.website_uuid = $1${toUuid()} + and pageview.created_at >= $2`, params, ); } diff --git a/queries/analytics/stats/getWebsiteStats.js b/queries/analytics/stats/getWebsiteStats.js index 134e1c3e..9a2452a9 100644 --- a/queries/analytics/stats/getWebsiteStats.js +++ b/queries/analytics/stats/getWebsiteStats.js @@ -10,8 +10,8 @@ export async function getWebsiteStats(...args) { } async function relationalQuery(websiteId, { start_at, end_at, filters = {} }) { - const { getDateQuery, getTimestampInterval, parseFilters, rawQuery } = prisma; - const params = [start_at, end_at]; + const { getDateQuery, getTimestampInterval, parseFilters, rawQuery, toUuid } = prisma; + const params = [websiteId, start_at, end_at]; const { pageviewQuery, sessionQuery, joinSession } = parseFilters( 'pageview', null, @@ -33,8 +33,8 @@ async function relationalQuery(websiteId, { start_at, end_at, filters = {} }) { join website on pageview.website_id = website.website_id ${joinSession} - where website.website_uuid='${websiteId}' - and pageview.created_at between $1 and $2 + where website.website_uuid = $1${toUuid()} + and pageview.created_at between $2 and $3 ${pageviewQuery} ${sessionQuery} group by 1, 2 From cd400bcef239ea47aa19c8452ee3672101563fc9 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Wed, 18 Jan 2023 16:36:28 -0800 Subject: [PATCH 22/65] Fix regex. --- lib/prisma.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/prisma.js b/lib/prisma.js index 109e1ae3..27602ff5 100644 --- a/lib/prisma.js +++ b/lib/prisma.js @@ -99,7 +99,7 @@ function getTimestampInterval(field) { function getSanitizedColumns(columns) { return Object.keys(columns).reduce((acc, keyName) => { - const sanitizedProperty = keyName.replace(/[\w\s_]/g, ''); + const sanitizedProperty = keyName.replace(/[^\w\s_]/g, ''); acc[sanitizedProperty] = columns[keyName]; From 5c683f9103b5e89fcc92be4ba682bd872d4798e2 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Thu, 19 Jan 2023 11:15:33 -0800 Subject: [PATCH 23/65] Fix share url update. (#1754) --- pages/api/websites/[id]/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/api/websites/[id]/index.js b/pages/api/websites/[id]/index.js index 74f11c95..1ed85853 100644 --- a/pages/api/websites/[id]/index.js +++ b/pages/api/websites/[id]/index.js @@ -47,7 +47,7 @@ export default async (req, res) => { { name, domain, - shareId: shareId ? shareId : newShareId, + shareId: shareId && enableShareUrl === undefined ? shareId : newShareId, userId: +owner || account.id, }, { websiteUuid }, From d9ba4097eef2730a11ea8cc7b35c915a71b2fc61 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Fri, 20 Jan 2023 12:33:21 -0800 Subject: [PATCH 24/65] Fix calendar. --- components/common/Calendar.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/common/Calendar.js b/components/common/Calendar.js index b6c5cd0b..e9e22573 100644 --- a/components/common/Calendar.js +++ b/components/common/Calendar.js @@ -123,7 +123,8 @@ const DaySelector = ({ date, minDate, maxDate, locale, onSelect }) => { } const days = []; - for (let i = 0; i < 35; i++) { + const weekCount = addDays(startDay, 36).getMonth() === month ? 42 : 35; + for (let i = 0; i < weekCount; i++) { days.push(addDays(startDay, i)); } From 451fbc84a44489fa61e135c7d1f239c4f705985d Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Fri, 20 Jan 2023 12:45:45 -0800 Subject: [PATCH 25/65] Even out calendar. --- components/common/Calendar.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/common/Calendar.js b/components/common/Calendar.js index e9e22573..bee65abf 100644 --- a/components/common/Calendar.js +++ b/components/common/Calendar.js @@ -123,8 +123,7 @@ const DaySelector = ({ date, minDate, maxDate, locale, onSelect }) => { } const days = []; - const weekCount = addDays(startDay, 36).getMonth() === month ? 42 : 35; - for (let i = 0; i < weekCount; i++) { + for (let i = 0; i < 42; i++) { days.push(addDays(startDay, i)); } From 1b6653c35c20d19606929c63ac25425f4558738f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Bo=C5=A1njak?= Date: Mon, 23 Jan 2023 18:54:35 +0100 Subject: [PATCH 26/65] croatian translations fix --- lib/lang.js | 2 +- public/intl/messages/hr-HR.json | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/lang.js b/lib/lang.js index 05b951c8..df16f43c 100644 --- a/lib/lang.js +++ b/lib/lang.js @@ -62,7 +62,7 @@ export const languages = { 'he-IL': { label: 'עברית', dateLocale: he }, 'hi-IN': { label: 'हिन्दी', dateLocale: hi }, 'hu-HU': { label: 'Hungarian', dateLocale: hu }, - 'hr-HR': { label: 'hrvatski', dateLocale: hr }, + 'hr-HR': { label: 'Hrvatski', dateLocale: hr }, 'it-IT': { label: 'Italiano', dateLocale: it }, 'id-ID': { label: 'Bahasa Indonesia', dateLocale: id }, 'ja-JP': { label: '日本語', dateLocale: ja }, diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index b41aa9e6..e9bec50f 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -164,7 +164,7 @@ "label.enable-share-url": [ { "type": 0, - "value": "Omogući dijeljenje URL-a" + "value": "Omogući dijeljenje poveznice" } ], "label.event-data": [ @@ -182,7 +182,7 @@ "label.invalid": [ { "type": 0, - "value": "Nesipravno" + "value": "Neispravno" } ], "label.invalid-domain": [ @@ -286,7 +286,7 @@ "label.passwords-dont-match": [ { "type": 0, - "value": "Lozinka nije točna" + "value": "Lozinke se ne podudaraju" } ], "label.profile": [ @@ -352,7 +352,7 @@ "label.share-url": [ { "type": 0, - "value": "Podijeli URL" + "value": "Podijeli poveznicu" } ], "label.single-day": [ @@ -461,7 +461,7 @@ "value": [ { "type": 0, - "value": "visitor" + "value": "posjetitelj" } ] }, @@ -469,7 +469,7 @@ "value": [ { "type": 0, - "value": "visitors" + "value": "posjetitelja" } ] } @@ -516,7 +516,7 @@ "message.delete-warning": [ { "type": 0, - "value": "Izbrisat će se svi povezani podaci." + "value": "Izbrisat će se svi povezani podaci." } ], "message.edit-dashboard": [ @@ -534,7 +534,7 @@ "message.get-share-url": [ { "type": 0, - "value": "Dohvati URL za dijeljenje" + "value": "Dohvati poveznicu za dijeljenje" } ], "message.get-tracking-code": [ @@ -624,7 +624,7 @@ "message.powered-by": [ { "type": 0, - "value": "Powered by " + "value": "Pokreće " }, { "type": 1, @@ -646,7 +646,7 @@ "message.share-url": [ { "type": 0, - "value": "Ovo je javno dijeljeni URL za " + "value": "Ovo je javno dijeljena poveznica za " }, { "type": 1, From 51e79be23d603ca79aac0a0556915234fdcf00c6 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 24 Jan 2023 10:35:36 -0800 Subject: [PATCH 27/65] add current databasefilter when querying index --- db/mysql/migrations/02_add_event_data/migration.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db/mysql/migrations/02_add_event_data/migration.sql b/db/mysql/migrations/02_add_event_data/migration.sql index b781984c..cf8705b6 100644 --- a/db/mysql/migrations/02_add_event_data/migration.sql +++ b/db/mysql/migrations/02_add_event_data/migration.sql @@ -68,7 +68,8 @@ CREATE PROCEDURE `UmamiRenameIndexIfExists`( INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = @tableName - AND INDEX_NAME = @currentIndexName; + AND INDEX_NAME = @currentIndexName + AND TABLE_SCHEMA = database(); SET @query = CONCAT( 'ALTER TABLE `', @tableName, '` RENAME INDEX `', @currentIndexName, '` TO `', @newIndexName, '`;' From 3acff56a5907b3a568e65d0728f449e1160776ef Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 25 Jan 2023 08:46:56 -0800 Subject: [PATCH 28/65] Upgrade Prisma to 4.9.0. --- package.json | 4 ++-- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 75eebfd0..a0ef261e 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ }, "dependencies": { "@fontsource/inter": "4.5.7", - "@prisma/client": "4.5.0", + "@prisma/client": "4.9.0", "chalk": "^4.1.1", "chart.js": "^2.9.4", "classnames": "^2.3.1", @@ -126,7 +126,7 @@ "postcss-preset-env": "7.4.3", "postcss-rtlcss": "^3.6.1", "prettier": "^2.6.2", - "prisma": "4.5.0", + "prisma": "4.9.0", "prompts": "2.4.2", "rollup": "^2.70.1", "rollup-plugin-terser": "^7.0.2", diff --git a/yarn.lock b/yarn.lock index 4b184365..4ff4463c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1704,22 +1704,22 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@prisma/client@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.5.0.tgz#f708549bee3da396d5741d846b4e4306b120210c" - integrity sha512-B2cV0OPI1smhdYUxsJoLYQLoMlLH06MUxgFUWQnHodGMX98VRVXKmQE/9OcrTNkqtke5RC+YU24Szxd04tZA2g== +"@prisma/client@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.9.0.tgz#4a4068f3540732ea5723c008d49ed684d20f9340" + integrity sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg== dependencies: - "@prisma/engines-version" "4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452" + "@prisma/engines-version" "4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5" -"@prisma/engines-version@4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452": - version "4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452.tgz#5b7fae294ee9bd9790d0e7b7a0b0912e4222ac08" - integrity sha512-o7LyVx8PPJBLrEzLl6lpxxk2D5VnlM4Fwmrbq0NoT6pr5aa1OuHD9ZG+WJY6TlR/iD9bhmo2LNcxddCMr5Rv2A== +"@prisma/engines-version@4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5": + version "4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5.tgz#9d817a5779fc05b107eb02f63d197ad296d60b3c" + integrity sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA== -"@prisma/engines@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.5.0.tgz#82df347a893a5ae2a67707d44772ba181f4b9328" - integrity sha512-4t9ir2SbQQr/wMCNU4YpHWp5hU14J2m3wHUZnGJPpmBF8YtkisxyVyQsKd1e6FyLTaGq8LOLhm6VLYHKqKNm+g== +"@prisma/engines@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.9.0.tgz#05a1411964e047c1bc43f777c7a1c69f86a2a26c" + integrity sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw== "@react-spring/animated@~9.5.2": version "9.5.2" @@ -6095,12 +6095,12 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -prisma@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.5.0.tgz#361ae3f4476d0821b97645e5da42975a7c2943bb" - integrity sha512-9Aeg4qiKlv9Wsjz4NO8k2CzRzlvS3A4FYVJ5+28sBBZ0eEwbiVOE/Jj7v6rZC1tFW2s4GSICQOAyuOjc6WsNew== +prisma@4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.9.0.tgz#295954b2a89cd35a0e6bcf66b2b036dbf80c75ee" + integrity sha512-bS96oZ5oDFXYgoF2l7PJ3Mp1wWWfLOo8B/jAfbA2Pn0Wm5Z/owBHzaMQKS3i1CzVBDWWPVnOohmbJmjvkcHS5w== dependencies: - "@prisma/engines" "4.5.0" + "@prisma/engines" "4.9.0" progress@^2.0.0: version "2.0.3" From a430eae12bda27abbd7982becf01adfbb003b04d Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 25 Jan 2023 08:47:13 -0800 Subject: [PATCH 29/65] Merged #1752. --- lib/middleware.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/middleware.js b/lib/middleware.js index 8189ea66..b76a9d40 100644 --- a/lib/middleware.js +++ b/lib/middleware.js @@ -3,7 +3,12 @@ import cors from 'cors'; import { getSession } from './session'; import { getAuthToken, getShareToken } from './auth'; -export const useCors = createMiddleware(cors()); +export const useCors = createMiddleware( + cors({ + // Cache CORS preflight request 24 hours by default + maxAge: process.env.CORS_MAX_AGE || 86400, + }), +); export const useSession = createMiddleware(async (req, res, next) => { let session; From 219641a6336dee7b67055688f20acbb391a36d9f Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 25 Jan 2023 13:57:49 -0800 Subject: [PATCH 30/65] Updated language files. --- lang/README.md | 19 - lang/hr-HR.json | 42 +- public/intl/country/am-ET.json | 1 + public/intl/country/si-LK.json | 1 + public/intl/language/am-ET.json | 1 + public/intl/language/si-LK.json | 1 + public/intl/messages/am-ET.json | 854 ++++++++++++++++++ public/intl/messages/lt-LT.json | 6 + public/intl/messages/si-LK.json | 1461 ++++++++++++++++++------------- public/intl/messages/th-TH.json | 32 +- 10 files changed, 1751 insertions(+), 667 deletions(-) delete mode 100644 lang/README.md create mode 100644 public/intl/country/am-ET.json create mode 100644 public/intl/country/si-LK.json create mode 100644 public/intl/language/am-ET.json create mode 100644 public/intl/language/si-LK.json create mode 100644 public/intl/messages/am-ET.json diff --git a/lang/README.md b/lang/README.md deleted file mode 100644 index ef696635..00000000 --- a/lang/README.md +++ /dev/null @@ -1,19 +0,0 @@ -### how to update - -1. find missing keys: - -```sh -MINE=.json -BASE=en-US.json - -jq 'keys' < $BASE > base -jq 'keys' < $MINE > mine - -diff -c2 base mine -# will print missing keys. -# add them to $MINE -``` - -2. for each key, search in your editor where it is used, and additionally visit the [live demo website](https://app.umami.is/share/8rmHaheU/umami.is), to better understand the usage context. - -3. translate. though, if you don't fully understand the context of how a translation is used, note this in the PR review. diff --git a/lang/hr-HR.json b/lang/hr-HR.json index daf53d61..e9072a89 100644 --- a/lang/hr-HR.json +++ b/lang/hr-HR.json @@ -6,9 +6,9 @@ "label.add-website": "Dodaj web stranicu", "label.administrator": "Administrator", "label.all": "Sve", - "label.all-time": "Svo vrijeme" , + "label.all-time": "Svo vrijeme", "label.all-websites": "Sve web stranice", - "label.back": "Natrag ", + "label.back": "Natrag ", "label.cancel": "Odustani", "label.change-password": "Promijeni lozinku", "label.confirm-password": "Potvrdi lozinku", @@ -21,15 +21,15 @@ "label.delete": "Obriši", "label.delete-account": "Obriši račun", "label.delete-website": "Obriši web stranicu", - "label.dismiss": "Odbaci", + "label.dismiss": "Odbaci", "label.domain": "Domena", "label.edit": "Uredi", "label.edit-account": "Uredi račun", "label.edit-website": "Uredi web stranicu", - "label.enable-share-url": "Omogući dijeljenje URL-a", + "label.enable-share-url": "Omogući dijeljenje poveznice", "label.event-data": "Podaci događaja", "label.field-name": "Naziv polja", - "label.invalid": "Nesipravno", + "label.invalid": "Neispravno", "label.invalid-domain": "Neispravna domena", "label.language": "Jezik", "label.last-days": "Zadnjih {x} dana", @@ -40,21 +40,21 @@ "label.more": "Više", "label.name": "Ime", "label.new-password": "Nova lozinka", - "label.none": "Ništa", + "label.none": "Ništa", "label.owner": "Vlasnik", "label.password": "Lozinka", - "label.passwords-dont-match": "Lozinka nije točna", + "label.passwords-dont-match": "Lozinke se ne podudaraju", "label.profile": "Profil", "label.realtime": "Stvarno vrijeme", - "label.realtime-logs":"Trenutni zapisi", + "label.realtime-logs": "Trenutni zapisi", "label.refresh": "Osvježi", - "label.required": "Potrebna", + "label.required": "Potrebna", "label.reset": "Resetirati", - "label.reset-website": "Resetirati web stranicu", + "label.reset-website": "Resetirati web stranicu", "label.save": "Spremi", "label.search": "Pretraži", "label.settings": "Postavke", - "label.share-url": "Podijeli URL", + "label.share-url": "Podijeli poveznicu", "label.single-day": "Jedan dan", "label.theme": "Tema", "label.this-month": "Ovaj mjesec", @@ -70,15 +70,15 @@ "label.view-details": "Pogledaj detalje", "label.websites": "Web stranice", "label.yesterday": "Jučer", - "message.active-users": "{x} Trenutno {x, plural, one {visitor} other {visitors}}", + "message.active-users": "{x} Trenutno {x, plural, one {posjetitelj} other {posjetitelja}}", "message.confirm-delete": "Jeste li sigurni da želite obrisati {target}?", "message.confirm-reset": "Jeste li sigurni da želite resetirati {target}'s statistiku?", "message.copied": "Kopirano!", - "message.delete-warning": "Izbrisat će se svi povezani podaci.", + "message.delete-warning": "Izbrisat će se svi povezani podaci.", "message.edit-dashboard": "Uredi nadzornu ploču", "message.failure": "Nešto je pošlo po zlu.", - "message.get-share-url": "Dohvati URL za dijeljenje", - "message.get-tracking-code": "Dohvati kod za praćenje", + "message.get-share-url": "Dohvati poveznicu za dijeljenje", + "message.get-tracking-code": "Dohvati kod za praćenje", "message.go-to-settings": "Idi u postavke", "message.incorrect-username-password": "Neispravno korisničke ime/lozinka.", "message.log.visitor": "Posjetitelj iz {country} koristi {browser} na {os} {device}", @@ -86,33 +86,33 @@ "message.no-data-available": "Nema dostupnih podataka.", "message.no-websites-configured": "Nemate konfiguriranu nijednu web stranicu.", "message.page-not-found": "Stranica nije pronađena.", - "message.powered-by": "Powered by {name}", + "message.powered-by": "Pokreće {name}", "message.reset-warning": "Sve statistike za ovu web stranicu bit će izbrisane, ali će vaš kod za praćenje ostati netaknut.", "message.save-success": "Uspješno spremljeno.", - "message.share-url": "Ovo je javno dijeljeni URL za {target}.", + "message.share-url": "Ovo je javno dijeljena poveznica za {target}.", "message.toggle-charts": "Uključi/isključi grafikone", "message.track-stats": "Da biste pratili statistiku za {target}, postavite sljedeći kod u odjeljak {head} svoje web stranice.", "message.type-delete": "Upišite {delete} u donji okvir za potvrdu.", "message.type-reset": " Upišite {reset} u donji okvir za potvrdu. ", "metrics.actions": "Akcije", "metrics.average-visit-time": "Prosječno vrijeme posjeta", - "metrics.bounce-rate": "Stopa napuštanja stranice", + "metrics.bounce-rate": "Stopa napuštanja stranice", "metrics.browsers": "Web preglednici", "metrics.countries": "Zemlje", - "metrics.device.desktop": "Pc", + "metrics.device.desktop": "Pc", "metrics.device.laptop": "Laptop", "metrics.device.mobile": "Mobitel", "metrics.device.tablet": "Tablet", "metrics.devices": "Uređaji", "metrics.events": "Događaji", "metrics.filter.combined": "Kombinirano", - "metrics.filter.raw": "Neobrađeni podaci", + "metrics.filter.raw": "Neobrađeni podaci", "metrics.languages": "Jezici", "metrics.operating-systems": "Operativni sustavi", "metrics.page-views": "Pregledi stranice", "metrics.pages": "Stranice", "metrics.query-parameters": "Parametri upita", - "metrics.referrers": "Upučivaći", + "metrics.referrers": "Upučivaći", "metrics.screens": "Zasloni", "metrics.unique-visitors": "Jedinstveni posjetitelji", "metrics.views": "Pregledi", diff --git a/public/intl/country/am-ET.json b/public/intl/country/am-ET.json new file mode 100644 index 00000000..652b09e5 --- /dev/null +++ b/public/intl/country/am-ET.json @@ -0,0 +1 @@ +{"HU":"\u1200\u1295\u130b\u122a","HT":"\u1200\u12ed\u1272","IN":"\u1205\u1295\u12f5","HN":"\u1206\u1295\u12f1\u122b\u1235","HK":"\u1206\u1295\u130d \u12ae\u1295\u130d \u120d\u12e9 \u12e8\u12a0\u1235\u1270\u12f3\u12f0\u122d \u12ad\u120d\u120d \u127b\u12ed\u1293","LU":"\u1209\u12ad\u1230\u121d\u1260\u122d\u130d","LY":"\u120a\u1262\u12eb","LB":"\u120a\u1263\u1296\u1235","LT":"\u120a\u1271\u12cc\u1292\u12eb","LI":"\u120a\u127d\u1270\u1295\u1235\u1273\u12ed\u1295","LV":"\u120b\u1275\u126a\u12eb","LA":"\u120b\u12a6\u1235","LR":"\u120b\u12ed\u1264\u122a\u12eb","LS":"\u120c\u1236\u1276","FM":"\u121a\u12ad\u122e\u1294\u12e2\u12eb","ML":"\u121b\u120a","MW":"\u121b\u120b\u12ca","MY":"\u121b\u120c\u12e2\u12eb","MT":"\u121b\u120d\u1273","MV":"\u121b\u120d\u12f2\u126d\u1235","MH":"\u121b\u122d\u123b\u120d \u12a0\u12ed\u120b\u1295\u12f5","MQ":"\u121b\u122d\u1272\u1292\u12ad","MO":"\u121b\u12ab\u12a1 \u120d\u12e9 \u12e8\u12a0\u1235\u1270\u12f3\u12f0\u122d \u12ad\u120d\u120d \u127b\u12ed\u1293","CF":"\u121b\u12d5\u12a8\u120b\u12ca \u12a0\u134d\u122a\u12ab \u122a\u1351\u1265\u120a\u12ad","MM":"\u121b\u12ed\u1293\u121b\u122d(\u1260\u122d\u121b)","MG":"\u121b\u12f3\u130b\u1235\u12ab\u122d","MX":"\u121c\u12ad\u1232\u12ae","YT":"\u121c\u12ed\u12a6\u1274","EH":"\u121d\u12d5\u122b\u1263\u12ca \u1233\u1205\u122b","MD":"\u121e\u120d\u12f6\u126b","MU":"\u121e\u122a\u1238\u1235","MR":"\u121e\u122a\u1274\u1292\u12eb","MA":"\u121e\u122e\u12ae","MC":"\u121e\u1293\u12ae","ME":"\u121e\u1295\u1270\u1294\u130d\u122e","MS":"\u121e\u1295\u1275\u1234\u122b\u1275","MN":"\u121e\u1295\u130e\u120a\u12eb","MZ":"\u121e\u12db\u121d\u1262\u12ad","RU":"\u1229\u1235\u12eb","RW":"\u1229\u12cb\u1295\u12f3","RE":"\u122a\u12e9\u1292\u12e8\u1295","RO":"\u122e\u121c\u1292\u12eb","SB":"\u1230\u120e\u121e\u1295 \u12f0\u1234\u1275","MK":"\u1230\u121c\u1295 \u1218\u1244\u12f6\u1295\u12eb","KP":"\u1230\u121c\u1295 \u12ae\u122a\u12eb","RS":"\u1230\u122d\u1265\u12eb","SO":"\u1231\u121b\u120c","SR":"\u1231\u122a\u1293\u121d","SZ":"\u1231\u12cb\u12da\u120b\u1295\u12f5","SD":"\u1231\u12f3\u1295","LK":"\u1232\u122a\u120b\u1295\u12ab","SY":"\u1232\u122a\u12eb","SC":"\u1232\u123c\u120d\u1235","SX":"\u1232\u1295\u1275 \u121b\u122d\u1270\u1295","SG":"\u1232\u1295\u130b\u1356\u122d","WS":"\u1233\u121e\u12a0","SM":"\u1233\u1295 \u121b\u122a\u1296","ST":"\u1233\u12a6 \u1276\u121c \u12a5\u1293 \u1355\u122a\u1295\u1232\u1354","SA":"\u1233\u12cd\u12f5\u12a0\u1228\u1262\u12eb","CY":"\u1233\u12ed\u1355\u1228\u1235","SL":"\u1234\u122b\u120a\u12ee\u1295","SN":"\u1234\u1294\u130b\u120d","SH":"\u1234\u1295\u1275 \u1204\u1208\u1293","LC":"\u1234\u1295\u1275 \u1209\u127a\u12eb","MF":"\u1234\u1295\u1275 \u121b\u122d\u1272\u1295","SK":"\u1235\u120e\u126b\u12aa\u12eb","SI":"\u1235\u120e\u126c\u1292\u12eb","SJ":"\u1235\u126b\u120d\u1263\u122d\u12f5 \u12a5\u1293 \u1303\u1295 \u121b\u12e8\u1295","CH":"\u1235\u12ca\u12d8\u122d\u120b\u1295\u12f5","SE":"\u1235\u12ca\u12f5\u1295","ES":"\u1235\u1354\u1295","BL":"\u1245\u12f1\u1235 \u1260\u122d\u1274\u120e\u121c","VC":"\u1245\u12f1\u1235 \u126a\u1295\u1234\u1295\u1275 \u12a5\u1293 \u130d\u122c\u1293\u12f2\u1295\u1235","KN":"\u1245\u12f1\u1235 \u12aa\u1275\u1235 \u12a5\u1293 \u1294\u126a\u1235","PM":"\u1245\u12f1\u1235 \u1352\u12ec\u122d \u12a5\u1293 \u121a\u12a9\u12a4\u120e\u1295","BZ":"\u1260\u120a\u12dd","BT":"\u1261\u1205\u1273\u1295","BG":"\u1261\u120d\u130c\u122a\u12eb","BF":"\u1261\u122d\u12aa\u1293 \u134b\u1236","BV":"\u1261\u126c\u1275 \u12f0\u1234\u1275","BS":"\u1263\u1203\u121b\u1235","BH":"\u1263\u1205\u122c\u1295","BB":"\u1263\u122d\u1264\u12f6\u1235","BD":"\u1263\u1295\u130d\u120b\u12f2\u123d","BY":"\u1264\u120b\u1229\u1235","BE":"\u1264\u120d\u1304\u121d","BM":"\u1264\u122d\u1219\u12f3","BJ":"\u1264\u1292\u1295","BN":"\u1265\u1229\u1292","BI":"\u1265\u1229\u1295\u12f2","BR":"\u1265\u122b\u12da\u120d","BO":"\u1266\u120a\u126a\u12eb","BA":"\u1266\u1235\u1292\u12eb \u12a5\u1293 \u1204\u122d\u12de\u130e\u126a\u1292\u12eb","BW":"\u1266\u1275\u1235\u12cb\u1293","VA":"\u126b\u1272\u12ab\u1295 \u12a8\u1270\u121b","VU":"\u126b\u1291\u12a0\u1271","VN":"\u126c\u1275\u1293\u121d","VE":"\u126c\u1295\u12d9\u12cc\u120b","TR":"\u1271\u122d\u12ad","TM":"\u1271\u122d\u12ad\u121c\u1292\u1235\u1273\u1295","TV":"\u1271\u126b\u1209","TN":"\u1271\u1292\u12da\u12eb","TL":"\u1272\u121e\u122d \u120c\u1235\u1274","TZ":"\u1273\u1295\u12db\u1292\u12eb","TH":"\u1273\u12ed\u120b\u1295\u12f5","TW":"\u1273\u12ed\u12cb\u1295","TJ":"\u1273\u1303\u12aa\u1235\u1273\u1295","TT":"\u1275\u122a\u1293\u12f3\u12f5 \u12a5\u1293 \u1276\u1264\u130e","TO":"\u1276\u1295\u130b","TK":"\u1276\u12ad\u120b\u12cd","TG":"\u1276\u1310","CL":"\u127a\u120a","CN":"\u127b\u12ed\u1293","TD":"\u127b\u12f5","CZ":"\u127c\u127a\u12eb","NU":"\u1292\u12a1\u12ed","NI":"\u1292\u12ab\u122b\u1313","NC":"\u1292\u12cd \u12ab\u120c\u12f6\u1292\u12eb","NZ":"\u1292\u12cd \u12da\u120b\u1295\u12f5","NE":"\u1292\u1300\u122d","NA":"\u1293\u121a\u1262\u12eb","NR":"\u1293\u12a1\u1229","NG":"\u1293\u12ed\u1304\u122a\u12eb","NL":"\u1294\u12d8\u122d\u120b\u1295\u12f5","NP":"\u1294\u1353\u120d","NO":"\u1296\u122d\u12cc\u12ed","NF":"\u1296\u122d\u134e\u120d\u12ad \u12f0\u1234\u1275","AL":"\u12a0\u120d\u1263\u1292\u12eb","DZ":"\u12a0\u120d\u1304\u122a\u12eb","AW":"\u12a0\u1229\u1263","AM":"\u12a0\u122d\u121c\u1292\u12eb","AR":"\u12a0\u122d\u1300\u1295\u1272\u1293","AG":"\u12a0\u1295\u1272\u1313 \u12a5\u1293 \u1263\u1229\u12f3","AQ":"\u12a0\u1295\u1273\u122d\u12ad\u1272\u12ab","AD":"\u12a0\u1295\u12f6\u122b","AI":"\u12a0\u1295\u1309\u12ed\u120b","AO":"\u12a0\u1295\u1310\u120b","AU":"\u12a0\u12cd\u1235\u1275\u122b\u120d\u12eb","AZ":"\u12a0\u12d8\u122d\u1263\u1303\u1295","IE":"\u12a0\u12e8\u122d\u120b\u1295\u12f5","IM":"\u12a0\u12ed\u120d \u12a6\u134d \u121b\u1295","IS":"\u12a0\u12ed\u1235\u120b\u1295\u12f5","AF":"\u12a0\u134d\u130b\u1292\u1235\u1273\u1295","UY":"\u12a1\u122b\u1313\u12ed","UZ":"\u12a1\u12dd\u1264\u12aa\u1235\u1273\u1295","IQ":"\u12a2\u122b\u1245","IR":"\u12a2\u122b\u1295","ET":"\u12a2\u1275\u12ee\u1335\u12eb","ID":"\u12a2\u1295\u12f6\u1294\u12e2\u12eb","GQ":"\u12a2\u12b3\u1276\u122a\u12eb\u120d \u130a\u1292","EC":"\u12a2\u12b3\u12f6\u122d","SV":"\u12a4\u120d \u1233\u120d\u126b\u12f6\u122d","ER":"\u12a4\u122d\u1275\u122b","EE":"\u12a4\u1235\u1276\u1292\u12eb","IL":"\u12a5\u1235\u122b\u12a4\u120d","OM":"\u12a6\u121b\u1295","AT":"\u12a6\u1235\u1275\u122a\u12eb","CW":"\u12a9\u122b\u1233\u12ce","CU":"\u12a9\u1263","CK":"\u12a9\u12ad \u12f0\u1234\u1276\u127d","KI":"\u12aa\u122a\u1263\u1272","KG":"\u12aa\u122d\u130a\u1235\u1273\u1295","CM":"\u12ab\u121c\u1229\u1295","KH":"\u12ab\u121d\u1266\u12f2\u12eb","CA":"\u12ab\u1293\u12f3","KZ":"\u12ab\u12db\u12aa\u1235\u1273\u1295","KY":"\u12ab\u12ed\u121b\u1295 \u12f0\u1234\u1276\u127d","KE":"\u12ac\u1295\u12eb","CV":"\u12ac\u1355 \u126c\u122d\u12f4","CX":"\u12ad\u122a\u1235\u121b\u1235 \u12f0\u1234\u1275","HR":"\u12ad\u122e\u12a4\u123d\u12eb","KW":"\u12ad\u12cc\u1275","CO":"\u12ae\u120e\u121d\u1262\u12eb","KM":"\u12ae\u121e\u122e\u1235","CR":"\u12ae\u1235\u1273\u122a\u12ab","CI":"\u12ae\u1275 \u12f2\u126f\u122d","CG":"\u12ae\u1295\u130e \u1265\u122b\u12db\u126a\u120d","CD":"\u12ae\u1295\u130e-\u12aa\u1295\u123b\u1233","CC":"\u12ae\u12ae\u1235(\u12ac\u120a\u1295\u130d) \u12f0\u1234\u1276\u127d","QA":"\u12b3\u1273\u122d","HM":"\u12bd\u122d\u12f5 \u12f0\u1234\u1276\u127d\u1293 \u121b\u12ad\u12f6\u1293\u120d\u12f5 \u12f0\u1234\u1276\u127d","WF":"\u12cb\u120a\u1235 \u12a5\u1293 \u1349\u1271\u1293 \u12f0\u1234\u1276\u127d","ZW":"\u12da\u121d\u1267\u1264","ZM":"\u12db\u121d\u1262\u12eb","YE":"\u12e8\u1218\u1295","MP":"\u12e8\u1230\u121c\u1293\u12ca \u121b\u122a\u12eb\u1293 \u12f0\u1234\u1276\u127d","IO":"\u12e8\u1265\u122a\u1273\u1292\u12eb \u1205\u1295\u12f5 \u12cd\u1242\u12eb\u1296\u1235 \u130d\u12db\u1275","AE":"\u12e8\u1270\u1263\u1260\u1229\u1275 \u12d3\u1228\u1265 \u12a4\u121d\u122c\u1275\u1235","TC":"\u12e8\u1271\u122d\u12ae\u127d\u1293 \u12e8\u12ab\u12a2\u12ae\u1235 \u12f0\u1234\u1276\u127d","AX":"\u12e8\u12a0\u120b\u1295\u12f5 \u12f0\u1234\u1276\u127d","AS":"\u12e8\u12a0\u121c\u122a\u12ab \u1233\u121e\u12a0","VI":"\u12e8\u12a0\u121c\u122a\u12ab \u1268\u122d\u1302\u1295 \u12f0\u1234\u1276\u127d","VG":"\u12e8\u12a5\u1295\u130d\u120a\u12dd \u1268\u122d\u1302\u1295 \u12f0\u1234\u1276\u127d","BQ":"\u12e8\u12ab\u122a\u1262\u12eb\u1295 \u1294\u12d8\u122d\u120b\u1295\u12f5\u1235","UM":"\u12e8\u12e9 \u12a4\u1235 \u1320\u1228\u134d \u120b\u12ed \u12eb\u1209 \u12f0\u1234\u1276\u127d","TF":"\u12e8\u1348\u1228\u1295\u1233\u12ed \u12f0\u1261\u1263\u12ca \u130d\u12db\u1276\u127d","GF":"\u12e8\u1348\u1228\u1295\u1233\u12ed \u1309\u12ca\u12a0\u1293","PF":"\u12e8\u1348\u1228\u1295\u1233\u12ed \u1356\u120a\u1294\u12e2\u12eb","FO":"\u12e8\u134b\u122e \u12f0\u1234\u1276\u127d","PS":"\u12e8\u134d\u120d\u1235\u1324\u121d \u130d\u12db\u1275","FK":"\u12e8\u134e\u12ad\u120b\u1295\u12f5 \u12f0\u1234\u1276\u127d","US":"\u12e9\u1293\u12ed\u1275\u12f5 \u1235\u1274\u1275\u1235","GB":"\u12e9\u1293\u12ed\u1275\u12f5 \u12aa\u1295\u130d\u12f0\u121d","UA":"\u12e9\u12ad\u122c\u1295","UG":"\u12e9\u130b\u1295\u12f3","SS":"\u12f0\u1261\u1265 \u1231\u12f3\u1295","ZA":"\u12f0\u1261\u1265 \u12a0\u134d\u122a\u12ab","KR":"\u12f0\u1261\u1265 \u12ae\u122a\u12eb","GS":"\u12f0\u1261\u1265 \u1306\u122d\u1302\u12eb \u12a5\u1293 \u12e8\u12f0\u1261\u1265 \u1233\u1295\u12f5\u12ca\u127d \u12f0\u1234\u1276\u127d","DK":"\u12f4\u1295\u121b\u122d\u12ad","DO":"\u12f6\u1218\u1292\u12ab\u1295 \u122a\u1351\u1265\u120a\u12ad","DM":"\u12f6\u121a\u1292\u12ab","DE":"\u1300\u122d\u1218\u1295","JE":"\u1300\u122d\u1232","DJ":"\u1302\u1261\u1272","GI":"\u1302\u1265\u122b\u120d\u1270\u122d","JM":"\u1303\u121b\u12ed\u12ab","JP":"\u1303\u1353\u1295","JO":"\u1306\u122d\u12f3\u1295","GE":"\u1306\u122d\u1302\u12eb","GG":"\u1309\u122d\u1290\u1232","GU":"\u1309\u12cb\u121d","GT":"\u1309\u12cb\u1272\u121b\u120b","GP":"\u1309\u12cb\u12f0\u1209\u1355","GY":"\u1309\u12eb\u1293","GN":"\u130a\u1292","GW":"\u130a\u1292 \u1262\u1233\u12a6","GM":"\u130b\u121d\u1262\u12eb","GA":"\u130b\u1266\u1295","GH":"\u130b\u1293","GL":"\u130d\u122a\u1295\u120b\u1295\u12f5","GR":"\u130d\u122a\u12ad","GD":"\u130d\u122c\u1293\u12f3","EG":"\u130d\u1265\u133d","IT":"\u1323\u120a\u12eb\u1295","FR":"\u1348\u1228\u1295\u1233\u12ed","PH":"\u134a\u120a\u1352\u1295\u1235","FI":"\u134a\u1295\u120b\u1295\u12f5","FJ":"\u134a\u1302","PN":"\u1352\u1275\u12ab\u12a2\u122d\u1295 \u12a0\u12ed\u1235\u120b\u1295\u12f5","PW":"\u1353\u120b\u12cd","PY":"\u1353\u122b\u1313\u12ed","PA":"\u1353\u1293\u121b","PK":"\u1353\u12aa\u1235\u1273\u1295","PG":"\u1353\u1351\u12cb \u1292\u12cd \u130a\u1292","PE":"\u1354\u1229","PL":"\u1356\u120b\u1295\u12f5","PT":"\u1356\u122d\u1271\u130b\u120d","PR":"\u1356\u122d\u1273 \u122a\u12ae"} \ No newline at end of file diff --git a/public/intl/country/si-LK.json b/public/intl/country/si-LK.json new file mode 100644 index 00000000..7b65c7ca --- /dev/null +++ b/public/intl/country/si-LK.json @@ -0,0 +1 @@ +{"IE":"\u0d85\u0dba\u0dbb\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","IM":"\u0d85\u0dba\u0dd2\u0dbd\u0dca \u0d94\u0dc6\u0dca \u0db8\u0dd1\u0db1\u0dca","IS":"\u0d85\u0dba\u0dd2\u0dc3\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","AW":"\u0d85\u0dbb\u0dd6\u0db6\u0dcf","AZ":"\u0d85\u0dc3\u0dbb\u0dca\u0db6\u0dba\u0dd2\u0da2\u0dcf\u0db1\u0dba","AR":"\u0d86\u0dbb\u0dca\u0da2\u0dd9\u0db1\u0dca\u0da7\u0dd2\u0db1\u0dcf\u0dc0","AM":"\u0d86\u0dbb\u0dca\u0db8\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0dc0","AI":"\u0d87\u0db1\u0dca\u0d9c\u0dd4\u0dba\u0dd2\u0dbd\u0dcf\u0dc0","AO":"\u0d87\u0db1\u0dca\u0d9c\u0ddd\u0dbd\u0dcf\u0dc0","AQ":"\u0d87\u0db1\u0dca\u0da7\u0dcf\u0d9a\u0dca\u0da7\u0dd2\u0d9a\u0dcf\u0dc0","AG":"\u0d87\u0db1\u0dca\u0da7\u0dd2\u0d9c\u0dd4\u0dc0\u0dcf \u0dc3\u0dc4 \u0db6\u0dcf\u0db6\u0dd2\u0dba\u0dd4\u0da9\u0dcf\u0dc0","AD":"\u0d87\u0db1\u0dca\u0da9\u0ddd\u0dbb\u0dcf\u0dc0","VI":"\u0d87\u0db8\u0dbb\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0dc0\u0dbb\u0dca\u0da2\u0dd2\u0db1\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","AS":"\u0d87\u0db8\u0dbb\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0dc3\u0dd0\u0db8\u0ddd\u0dc0\u0dcf","DZ":"\u0d87\u0dbd\u0dca\u0da2\u0dd3\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","AL":"\u0d87\u0dbd\u0dca\u0db6\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0dc0","AF":"\u0d87\u0dc6\u0dca\u0d9c\u0db1\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db1\u0dba","EC":"\u0d89\u0d9a\u0dca\u0dc0\u0daf\u0ddd\u0dbb\u0dba","IT":"\u0d89\u0dad\u0dcf\u0dbd\u0dd2\u0dba","ET":"\u0d89\u0dad\u0dd2\u0dba\u0ddd\u0db4\u0dd2\u0dba\u0dcf\u0dc0","IN":"\u0d89\u0db1\u0dca\u0daf\u0dd2\u0dba\u0dcf\u0dc0","ID":"\u0d89\u0db1\u0dca\u0daf\u0dd4\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0dc0","IQ":"\u0d89\u0dbb\u0dcf\u0d9a\u0dba","IR":"\u0d89\u0dbb\u0dcf\u0db1\u0dba","EG":"\u0d8a\u0da2\u0dd2\u0db4\u0dca\u0dad\u0dd4\u0dc0","IL":"\u0d8a\u0dc1\u0dca\u200d\u0dbb\u0dcf\u0dba\u0dbd\u0dba","UG":"\u0d8b\u0d9c\u0db1\u0dca\u0da9\u0dcf\u0dc0","KP":"\u0d8b\u0dad\u0dd4\u0dbb\u0dd4 \u0d9a\u0ddc\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","MP":"\u0d8b\u0dad\u0dd4\u0dbb\u0dd4 \u0db8\u0dbb\u0dd2\u0dba\u0dcf\u0db1\u0dcf \u0daf\u0dd6\u0db4\u0dad\u0dca","MK":"\u0d8b\u0dad\u0dd4\u0dbb\u0dd4 \u0db8\u0dd0\u0dc3\u0dd2\u0da9\u0ddd\u0db1\u0dd2\u0dba\u0dcf\u0dc0","UY":"\u0d8b\u0dbb\u0dd4\u0d9c\u0dd4\u0dc0\u0dda","UZ":"\u0d8b\u0dc3\u0dca\u0db6\u0dd9\u0d9a\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db1\u0dba","AE":"\u0d91\u0d9a\u0dca\u0dc3\u0dad\u0dca \u0d85\u0dbb\u0dcf\u0db6\u0dd2 \u0d91\u0db8\u0dd2\u0dbb\u0dca \u0dbb\u0dcf\u0da2\u0dca\u200d\u0dba\u0dba","UM":"\u0d91\u0d9a\u0dca\u0dc3\u0dad\u0dca \u0da2\u0db1\u0db4\u0daf \u0d88\u0dad \u0daf\u0dd6\u0db4\u0dad\u0dca","US":"\u0d91\u0d9a\u0dca\u0dc3\u0dad\u0dca \u0da2\u0db1\u0db4\u0daf\u0dba","GB":"\u0d91\u0d9a\u0dca\u0dc3\u0dad\u0dca \u0dbb\u0dcf\u0da2\u0db0\u0dcf\u0db1\u0dd2\u0dba","ER":"\u0d91\u0dbb\u0dd2\u0dad\u0dca\u200d\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","SV":"\u0d91\u0dbd\u0dca \u0dc3\u0dd0\u0dbd\u0dca\u0dc0\u0daf\u0ddd\u0dbb\u0dba","EE":"\u0d91\u0dc3\u0dca\u0dad\u0ddd\u0db1\u0dd2\u0dba\u0dcf\u0dc0","SZ":"\u0d91\u0dc3\u0dca\u0dc0\u0dcf\u0da7\u0dd2\u0db1\u0dd2","AT":"\u0d94\u0dc3\u0dca\u0da7\u0dca\u200d\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","OM":"\u0d95\u0db8\u0dcf\u0db1\u0dba","AX":"\u0d95\u0dbd\u0db1\u0dca\u0da9\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","AU":"\u0d95\u0dc3\u0dca\u0da7\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dd2\u0dba\u0dcf\u0dc0","QA":"\u0d9a\u0da7\u0dcf\u0dbb\u0dca","KZ":"\u0d9a\u0dc3\u0d9a\u0dc3\u0dca\u0dad\u0dcf\u0db1\u0dba","KH":"\u0d9a\u0dcf\u0db8\u0dca\u0db6\u0ddd\u0da2\u0dba","CA":"\u0d9a\u0dd0\u0db1\u0da9\u0dcf\u0dc0","CM":"\u0d9a\u0dd0\u0db8\u0dbb\u0dd6\u0db1\u0dca","BQ":"\u0d9a\u0dd0\u0dbb\u0dd2\u0db6\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0db1\u0dd9\u0daf\u0dbb\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","CU":"\u0d9a\u0dd2\u0dba\u0dd4\u0db6\u0dcf\u0dc0","KI":"\u0d9a\u0dd2\u0dbb\u0dd2\u0db6\u0dad\u0dd2","KG":"\u0d9a\u0dd2\u0dbb\u0dca\u0d9c\u0dd2\u0dc3\u0dca\u0dad\u0dcf\u0db1\u0dba","CK":"\u0d9a\u0dd4\u0d9a\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","CW":"\u0d9a\u0dd4\u0dbb\u0d9a\u0dcf\u0dc0\u0ddd","KW":"\u0d9a\u0dd4\u0dc0\u0dda\u0da7\u0dba","KE":"\u0d9a\u0dd9\u0db1\u0dca\u0dba\u0dcf\u0dc0","CV":"\u0d9a\u0dda\u0db4\u0dca \u0dc0\u0dbb\u0dca\u0da9\u0dca","KY":"\u0d9a\u0dda\u0db8\u0db1\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","CG":"\u0d9a\u0ddc\u0d82\u0d9c\u0ddc - \u0db6\u0dca\u200d\u0dbb\u0dc3\u0dcf\u0dc0\u0dd2\u0dbd\u0dca","CD":"\u0d9a\u0ddc\u0d82\u0d9c\u0ddd\u0dc0 (\u0da9\u0dd3\u0d86\u0dbb\u0dca\u0dc3\u0dd3)","CC":"\u0d9a\u0ddc\u0d9a\u0ddd\u0dc3\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","KM":"\u0d9a\u0ddc\u0db8\u0ddc\u0dbb\u0ddd\u0dc3\u0dca","CR":"\u0d9a\u0ddc\u0dc3\u0dca\u0da7\u0dbb\u0dd2\u0d9a\u0dcf\u0dc0","CO":"\u0d9a\u0ddc\u0dc5\u0ddc\u0db8\u0dca\u0db6\u0dd2\u0dba\u0dcf\u0dc0","CI":"\u0d9a\u0ddd\u0da7\u0dca \u0daf\u0dd2 \u0d85\u0dba\u0dd2\u0dc0\u0dbb\u0dd2","CX":"\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0db8\u0dc3\u0dca \u0daf\u0dd6\u0db4\u0dad","HR":"\u0d9a\u0dca\u200d\u0dbb\u0ddc\u0d92\u0dc2\u0dd2\u0dba\u0dcf\u0dc0","GY":"\u0d9c\u0dba\u0db1\u0dcf\u0dc0","GG":"\u0d9c\u0dbb\u0dca\u0db1\u0dca\u0dc3\u0dd2\u0dba","GA":"\u0d9c\u0dd0\u0db6\u0ddc\u0db1\u0dca","GM":"\u0d9c\u0dd0\u0db8\u0dca\u0db6\u0dd2\u0dba\u0dcf\u0dc0","GN":"\u0d9c\u0dd2\u0dab\u0dd2\u0dba\u0dcf\u0dc0","GW":"\u0d9c\u0dd2\u0db1\u0dd2 \u0db6\u0dd2\u0dc3\u0dc0\u0dca","GU":"\u0d9c\u0dd4\u0dc0\u0dcf\u0db8\u0dca","GT":"\u0d9c\u0ddd\u0dad\u0db8\u0dcf\u0dbd\u0dcf\u0dc0","GD":"\u0d9c\u0dca\u200d\u0dbb\u0dd0\u0db1\u0da9\u0dcf\u0dc0","GL":"\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0db1\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","GR":"\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0dc3\u0dd2\u0dba","GP":"\u0d9c\u0dca\u0dc0\u0ddd\u0da9\u0dbd\u0ddd\u0db4\u0dca","GH":"\u0d9d\u0dcf\u0db1\u0dcf\u0dc0","TD":"\u0da0\u0dd0\u0da0\u0dca","CL":"\u0da0\u0dd2\u0dbd\u0dd3","CN":"\u0da0\u0dd3\u0db1\u0dba","CZ":"\u0da0\u0dd9\u0da0\u0dd2\u0dba\u0dcf\u0dc0","JP":"\u0da2\u0db4\u0dcf\u0db1\u0dba","DE":"\u0da2\u0dbb\u0dca\u0db8\u0db1\u0dd2\u0dba","JE":"\u0da2\u0dbb\u0dca\u0dc3\u0dd2","JM":"\u0da2\u0dd0\u0db8\u0dd9\u0dba\u0dd2\u0d9a\u0dcf\u0dc0","DJ":"\u0da2\u0dd2\u0db6\u0dd4\u0da7\u0dd2","GI":"\u0da2\u0dd2\u0db6\u0dca\u200d\u0dbb\u0ddd\u0dbd\u0dca\u0da7\u0dcf\u0dc0","GE":"\u0da2\u0ddd\u0dbb\u0dca\u0da2\u0dd2\u0dba\u0dcf\u0dc0","JO":"\u0da2\u0ddd\u0dbb\u0dca\u0daf\u0dcf\u0db1\u0dba","TJ":"\u0da7\u0da2\u0dd2\u0d9a\u0dd2\u0dc3\u0dca\u0dad\u0dcf\u0db1\u0dba","TM":"\u0da7\u0dbb\u0dca\u0d9a\u0dca\u0db8\u0dd9\u0db1\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db1\u0dba","TC":"\u0da7\u0dbb\u0dca\u0d9a\u0dca\u0dc3\u0dca \u0dc3\u0dc4 \u0d9a\u0dba\u0dd2\u0d9a\u0ddc\u0dc3\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","TZ":"\u0da7\u0dd0\u0db1\u0dca\u0dc3\u0dcf\u0db1\u0dd2\u0dba\u0dcf\u0dc0","TL":"\u0da7\u0dd2\u0db8\u0ddd\u0dbb\u0dca - \u0dbd\u0dd9\u0dc3\u0dca\u0dad\u0dca","TN":"\u0da7\u0dd2\u0dba\u0dd4\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0dc0","TV":"\u0da7\u0dd4\u0dc0\u0dcf\u0dbd\u0dd6","TO":"\u0da7\u0ddc\u0d82\u0d9c\u0dcf","TK":"\u0da7\u0ddc\u0d9a\u0dbd\u0dcf\u0dc0\u0dd4","TG":"\u0da7\u0ddc\u0d9c\u0ddd","TT":"\u0da7\u0dca\u200d\u0dbb\u0dd2\u0db1\u0dd2\u0da9\u0dd1\u0da9\u0dca \u0dc3\u0dc4 \u0da7\u0ddc\u0db6\u0dd0\u0d9c\u0ddd","DK":"\u0da9\u0dd9\u0db1\u0dca\u0db8\u0dcf\u0dbb\u0dca\u0d9a\u0dba","DO":"\u0da9\u0ddc\u0db8\u0dd2\u0db1\u0dd2\u0d9a\u0dcf \u0da2\u0db1\u0dbb\u0da2\u0dba","DM":"\u0da9\u0ddc\u0db8\u0dd2\u0db1\u0dd2\u0d9a\u0dcf\u0dc0","TH":"\u0dad\u0dcf\u0dba\u0dd2\u0dbd\u0db1\u0dca\u0dad\u0dba","TW":"\u0dad\u0dcf\u0dba\u0dd2\u0dc0\u0dcf\u0db1\u0dba","TR":"\u0dad\u0dd4\u0dbb\u0dca\u0d9a\u0dd2\u0dba","ZA":"\u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0d85\u0db4\u0dca\u200d\u0dbb\u0dd2\u0d9a\u0dcf\u0dc0","KR":"\u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0d9a\u0ddc\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","GS":"\u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0da2\u0ddd\u0dbb\u0dca\u0da2\u0dd2\u0dba\u0dcf\u0dc0 \u0dc3\u0dc4 \u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0dc3\u0dd0\u0db1\u0dca\u0da9\u0dca\u0dc0\u0dd2\u0da0\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","TF":"\u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1 \u0daf\u0dd6\u0db4\u0dad\u0dca \u0dc3\u0db8\u0dd6\u0dc4\u0dba","SS":"\u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0dc3\u0dd4\u0da9\u0dcf\u0db1\u0dba","NE":"\u0db1\u0dba\u0dd2\u0da2\u0dbb\u0dca","NG":"\u0db1\u0dba\u0dd2\u0da2\u0dd3\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","NC":"\u0db1\u0dc0 \u0d9a\u0dd0\u0dbd\u0dd2\u0da9\u0ddd\u0db1\u0dd2\u0dba\u0dcf\u0dc0","NZ":"\u0db1\u0dc0\u0dc3\u0dd3\u0dbd\u0db1\u0dca\u0dad\u0dba","NR":"\u0db1\u0dcf\u0dc0\u0dd4\u0dbb\u0dd4","NA":"\u0db1\u0dd0\u0db8\u0dd3\u0db6\u0dd2\u0dba\u0dcf\u0dc0","NI":"\u0db1\u0dd2\u0d9a\u0dbb\u0d9c\u0dd4\u0dc0\u0dcf\u0dc0","NU":"\u0db1\u0dd2\u0dba\u0dd6","NL":"\u0db1\u0dd9\u0daf\u0dbb\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","NP":"\u0db1\u0dda\u0db4\u0dcf\u0dbd\u0dba","NO":"\u0db1\u0ddd\u0dbb\u0dca\u0dc0\u0dda","NF":"\u0db1\u0ddd\u0dc6\u0ddd\u0d9a\u0dca \u0daf\u0dd6\u0db4\u0dad","PS":"\u0db4\u0dbd\u0dc3\u0dca\u0dad\u0dd3\u0db1 \u0dbb\u0dcf\u0da2\u0dca\u200d\u0dba\u0dba","PW":"\u0db4\u0dbd\u0dcf\u0dc0\u0dd4","PK":"\u0db4\u0dcf\u0d9a\u0dd2\u0dc3\u0dca\u0dad\u0dcf\u0db1\u0dba","PA":"\u0db4\u0dd0\u0db1\u0db8\u0dcf\u0dc0","PG":"\u0db4\u0dd0\u0db4\u0dd4\u0dc0\u0dcf \u0db1\u0dd2\u0dc0\u0dca \u0d9c\u0dd2\u0db1\u0dd2\u0dba\u0dcf\u0dc0","PY":"\u0db4\u0dd0\u0dbb\u0d9c\u0dd4\u0dc0\u0dda","PN":"\u0db4\u0dd2\u0da7\u0dca\u0d9a\u0dd9\u0dba\u0dca\u0db1\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","PH":"\u0db4\u0dd2\u0dbd\u0dd2\u0db4\u0dd3\u0db1\u0dba","PR":"\u0db4\u0dd4\u0dc0\u0dbb\u0dca\u0da7\u0ddd \u0dbb\u0dd2\u0d9a\u0ddd","PT":"\u0db4\u0dd8\u0dad\u0dd4\u0d9c\u0dcf\u0dbd\u0dba","PE":"\u0db4\u0dda\u0dbb\u0dd4","PL":"\u0db4\u0ddd\u0dbd\u0db1\u0dca\u0dad\u0dba","GF":"\u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1 \u0d9c\u0dba\u0db1\u0dcf\u0dc0","PF":"\u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1 \u0db4\u0ddc\u0dbd\u0dd2\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0dc0","FR":"\u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1\u0dba","BD":"\u0db6\u0d82\u0d9c\u0dca\u0dbd\u0dcf\u0daf\u0dda\u0dc1\u0dba","EH":"\u0db6\u0da7\u0dc4\u0dd2\u0dbb \u0dc3\u0dc4\u0dbb\u0dcf\u0dc0","BF":"\u0db6\u0dbb\u0dca\u0d9a\u0dd2\u0db1\u0dcf \u0dc6\u0dcf\u0dc3\u0ddd","BM":"\u0db6\u0dbb\u0dca\u0db8\u0dd2\u0dba\u0dd4\u0da9\u0dcf","BG":"\u0db6\u0dbd\u0dca\u0d9c\u0dda\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","BS":"\u0db6\u0dc4\u0db8\u0dcf\u0dc3\u0dca","BH":"\u0db6\u0dc4\u0dbb\u0dda\u0db1\u0dca","BB":"\u0db6\u0dcf\u0db6\u0da9\u0ddd\u0dc3\u0dca","BI":"\u0db6\u0dd4\u0dbb\u0dd4\u0db1\u0dca\u0daf\u0dd2","BV":"\u0db6\u0dd4\u0dc0\u0da7\u0dca \u0daf\u0dd4\u0db4\u0dad\u0dca","BN":"\u0db6\u0df2\u0db1\u0dcf\u0dba\u0dd2","BJ":"\u0db6\u0dd9\u0db1\u0dd2\u0db1\u0dca","BY":"\u0db6\u0dd9\u0dbd\u0dbb\u0dd4\u0dc3\u0dca","BZ":"\u0db6\u0dd9\u0dbd\u0dd3\u0dc3\u0dca","BE":"\u0db6\u0dd9\u0dbd\u0dca\u0da2\u0dd2\u0dba\u0db8","BW":"\u0db6\u0ddc\u0da7\u0dca\u0dc3\u0dca\u0dc0\u0dcf\u0db1\u0dcf","BO":"\u0db6\u0ddc\u0dbd\u0dd3\u0dc0\u0dd2\u0dba\u0dcf\u0dc0","BA":"\u0db6\u0ddc\u0dc3\u0dca\u0db1\u0dd2\u0dba\u0dcf\u0dc0 \u0dc3\u0dc4 \u0dc4\u0dbb\u0dca\u0dc3\u0d9c\u0ddc\u0dc0\u0dd3\u0db1\u0dcf\u0dc0","BR":"\u0db6\u0dca\u200d\u0dbb\u0dc3\u0dd3\u0dbd\u0dba","IO":"\u0db6\u0dca\u200d\u0dbb\u0dd2\u0dad\u0dcf\u0db1\u0dca\u200d\u0dba \u0d89\u0db1\u0dca\u0daf\u0dd3\u0dba \u0dc3\u0dcf\u0d9c\u0dbb \u0db6\u0dbd \u0db4\u0dca\u200d\u0dbb\u0daf\u0dda\u0dc1\u0dba","VG":"\u0db6\u0dca\u200d\u0dbb\u0dd2\u0dad\u0dcf\u0db1\u0dca\u200d\u0dba \u0dc0\u0dbb\u0dca\u0da2\u0dd2\u0db1\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","BT":"\u0db7\u0dd6\u0dad\u0dcf\u0db1\u0dba","MO":"\u0db8\u0d9a\u0dcf\u0dc0\u0dd4 \u0d91\u0dc3\u0dca\u0d92\u0d86\u0dbb\u0dca","CF":"\u0db8\u0db0\u0dca\u200d\u0dba\u0db8 \u0d85\u0db4\u0dca\u200d\u0dbb\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0da2\u0db1\u0dbb\u0da2\u0dba","FM":"\u0db8\u0dba\u0dd2\u0d9a\u0dca\u200d\u0dbb\u0ddc\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0dc0","YT":"\u0db8\u0dba\u0ddd\u0da7\u0dca","MQ":"\u0db8\u0dbb\u0dca\u0da7\u0dd2\u0db1\u0dd2\u0d9a\u0dca","MW":"\u0db8\u0dbd\u0dcf\u0dc0\u0dd2","MV":"\u0db8\u0dcf\u0dbd \u0daf\u0dd2\u0dc0\u0dba\u0dd2\u0db1","ML":"\u0db8\u0dcf\u0dbd\u0dd2","MH":"\u0db8\u0dcf\u0dc2\u0dbd\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","MG":"\u0db8\u0dd0\u0da9\u0d9c\u0dc3\u0dca\u0d9a\u0dbb\u0dba","MY":"\u0db8\u0dd0\u0dbd\u0dda\u0dc3\u0dd2\u0dba\u0dcf\u0dc0","MM":"\u0db8\u0dd2\u0dba\u0db1\u0dca\u0db8\u0dcf\u0dbb\u0dba (\u0db6\u0dd4\u0dbb\u0dd4\u0db8\u0dba)","MU":"\u0db8\u0dd4\u0dbb\u0dd4\u0dc3\u0dd2\u0dba","MX":"\u0db8\u0dd9\u0d9a\u0dca\u0dc3\u0dd2\u0d9a\u0ddd\u0dc0","MC":"\u0db8\u0ddc\u0db1\u0dcf\u0d9a\u0ddd\u0dc0","MN":"\u0db8\u0ddc\u0db1\u0dca\u0d9c\u0ddd\u0dbd\u0dd2\u0dba\u0dcf\u0dc0","ME":"\u0db8\u0ddc\u0db1\u0dca\u0da7\u0dd9\u0db1\u0dd3\u0d9c\u0dca\u200d\u0dbb\u0ddd","MS":"\u0db8\u0ddc\u0db1\u0dca\u0dc3\u0dd9\u0dbb\u0dcf\u0da7\u0dca","MR":"\u0db8\u0ddc\u0dbb\u0dd2\u0da7\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0dc0","MA":"\u0db8\u0ddc\u0dbb\u0ddc\u0d9a\u0dca\u0d9a\u0ddd\u0dc0","MD":"\u0db8\u0ddc\u0dbd\u0dca\u0da9\u0ddd\u0dc0\u0dcf\u0dc0","MZ":"\u0db8\u0ddc\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dd2\u0d9a\u0dca","MT":"\u0db8\u0ddd\u0dbd\u0dca\u0da7\u0dcf\u0dc0","UA":"\u0dba\u0dd4\u0d9a\u0dca\u0dbb\u0dda\u0db1\u0dba","YE":"\u0dba\u0dda\u0db8\u0db1\u0dba","RE":"\u0dbb\u0dd3\u0dba\u0dd4\u0db1\u0dd2\u0dba\u0db1\u0dca","RO":"\u0dbb\u0dd4\u0db8\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0dc0","RW":"\u0dbb\u0dd4\u0dc0\u0db1\u0dca\u0da9\u0dcf\u0dc0","RU":"\u0dbb\u0dd4\u0dc3\u0dd2\u0dba\u0dcf\u0dc0","LU":"\u0dbd\u0d9a\u0dca\u0dc1\u0db8\u0dca\u0db6\u0dbb\u0dca\u0d9c\u0dca","LR":"\u0dbd\u0dba\u0dd2\u0db6\u0dd3\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","LA":"\u0dbd\u0dcf\u0d95\u0dc3\u0dba","LV":"\u0dbd\u0dd0\u0da7\u0dca\u0dc0\u0dd2\u0dba\u0dcf\u0dc0","LI":"\u0dbd\u0dd2\u0d9a\u0dca\u0da7\u0db1\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca","LT":"\u0dbd\u0dd2\u0dad\u0dd4\u0dc0\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0dc0","LY":"\u0dbd\u0dd2\u0db6\u0dd2\u0dba\u0dcf\u0dc0","LB":"\u0dbd\u0dd9\u0db6\u0db1\u0db1\u0dba","LS":"\u0dbd\u0dd9\u0dc3\u0dad\u0ddd","VA":"\u0dc0\u0dad\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0db1\u0d9c\u0dbb\u0dba","VU":"\u0dc0\u0db1\u0dd4\u0dc0\u0dcf\u0da7\u0dd4","WF":"\u0dc0\u0dd0\u0dbd\u0dd2\u0dc3\u0dca \u0dc3\u0dc4 \u0dc6\u0dd4\u0da7\u0dd4\u0db1\u0dcf","VN":"\u0dc0\u0dd2\u0dba\u0da7\u0dca\u0db1\u0dcf\u0db8\u0dba","VE":"\u0dc0\u0dd9\u0db1\u0dd2\u0dc3\u0dd2\u0dba\u0dd4\u0dbd\u0dcf\u0dc0","KN":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0d9a\u0dd2\u0da7\u0dca\u0dc3\u0dca \u0dc3\u0dc4 \u0db1\u0dda\u0dc0\u0dd2\u0dc3\u0dca","PM":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0db4\u0dd2\u0dba\u0dbb\u0dda \u0dc3\u0dc4 \u0db8\u0dd0\u0d9a\u0ddd\u0dbd\u0db1\u0dca","BL":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0db6\u0dbb\u0dca\u0dad\u0dbd\u0dd9\u0db8\u0dd2","MF":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0db8\u0dcf\u0dbb\u0dca\u0da7\u0dd2\u0db1\u0dca","SX":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0db8\u0dcf\u0dbb\u0dca\u0da7\u0dd9\u0db1\u0dca","LC":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0dbd\u0dd4\u0dc3\u0dd2\u0dba\u0dcf","VC":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0dc0\u0dd2\u0db1\u0dca\u0dc3\u0db1\u0dca\u0da7\u0dca \u0dc3\u0dc4 \u0d9c\u0dca\u200d\u0dbb\u0dd9\u0db1\u0da9\u0dd2\u0db1\u0dca\u0dc3\u0dca","SH":"\u0dc1\u0dcf\u0db1\u0dca\u0dad \u0dc4\u0dd9\u0dbd\u0dda\u0db1\u0dcf","LK":"\u0dc1\u0dca\u200d\u0dbb\u0dd3 \u0dbd\u0d82\u0d9a\u0dcf\u0dc0","GQ":"\u0dc3\u0db8\u0d9a \u0d9c\u0dd2\u0db1\u0dd2\u0dba\u0dcf\u0dc0","CY":"\u0dc3\u0dba\u0dd2\u0db4\u0dca\u200d\u0dbb\u0dc3\u0dba","RS":"\u0dc3\u0dbb\u0dca\u0db6\u0dd2\u0dba\u0dcf\u0dc0","ST":"\u0dc3\u0dcf\u0d95 \u0dad\u0ddd\u0db8\u0dca \u0dc3\u0dc4 \u0db4\u0dca\u200d\u0dbb\u0dd2\u0db1\u0dca\u0dc3\u0dd2\u0db4\u0dca","SM":"\u0dc3\u0dd0\u0db1\u0dca \u0db8\u0dd0\u0dbb\u0dd2\u0db1\u0ddd","WS":"\u0dc3\u0dd0\u0db8\u0ddd\u0dc0\u0dcf","ZM":"\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dd2\u0dba\u0dcf\u0dc0","SG":"\u0dc3\u0dd2\u0d82\u0d9c\u0db4\u0dca\u0db4\u0dd6\u0dbb\u0dd4\u0dc0","ZW":"\u0dc3\u0dd2\u0db8\u0dca\u0db6\u0dcf\u0db6\u0dca\u0dc0\u0dda","SL":"\u0dc3\u0dd2\u0dba\u0dbb\u0dcf\u0dbd\u0dd2\u0dba\u0ddd\u0db1\u0dca","SY":"\u0dc3\u0dd2\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","SC":"\u0dc3\u0dd3\u0dc1\u0dd9\u0dbd\u0dca\u0dc3\u0dca","SR":"\u0dc3\u0dd4\u0dbb\u0dd2\u0db1\u0dcf\u0db8\u0dba","SD":"\u0dc3\u0dd6\u0da9\u0dcf\u0db1\u0dba","SN":"\u0dc3\u0dd9\u0db1\u0d9c\u0dcf\u0dbd\u0dba","SB":"\u0dc3\u0ddc\u0dbd\u0db8\u0db1\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","SO":"\u0dc3\u0ddd\u0db8\u0dcf\u0dbd\u0dd2\u0dba\u0dcf\u0dc0","SA":"\u0dc3\u0dde\u0daf\u0dd2 \u0d85\u0dbb\u0dcf\u0db6\u0dd2\u0dba","ES":"\u0dc3\u0dca\u0db4\u0dcf\u0da4\u0dca\u0da4\u0dba","SK":"\u0dc3\u0dca\u0dbd\u0ddd\u0dc0\u0dd0\u0d9a\u0dd2\u0dba\u0dcf\u0dc0","SI":"\u0dc3\u0dca\u0dbd\u0ddd\u0dc0\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0dc0","CH":"\u0dc3\u0dca\u0dc0\u0dd2\u0dc3\u0dca\u0da7\u0dbb\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","SE":"\u0dc3\u0dca\u0dc0\u0dd3\u0da9\u0db1\u0dba","SJ":"\u0dc3\u0dca\u0dc0\u0dd9\u0dbd\u0dca\u0db6\u0dbb\u0dca\u0da9\u0dca \u0dc3\u0dc4 \u0da2\u0dda\u0db1\u0dca \u0db8\u0dba\u0dda\u0db1\u0dca","HU":"\u0dc4\u0db1\u0dca\u0d9c\u0dda\u0dbb\u0dd2\u0dba\u0dcf\u0dc0","HT":"\u0dc4\u0dba\u0dd2\u0da7\u0dd2","HM":"\u0dc4\u0dbb\u0dca\u0da9\u0dca \u0daf\u0dd6\u0db4\u0dad \u0dc3\u0dc4 \u0db8\u0dd0\u0d9a\u0dca\u0da9\u0ddc\u0db1\u0dbd\u0dca\u0da9\u0dca \u0daf\u0dd6\u0db4\u0dad\u0dca","HK":"\u0dc4\u0ddc\u0d82\u0d9a\u0ddc\u0d82 \u0da0\u0dd3\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2 \u0db4\u0dbb\u0dd2\u0db4\u0dcf\u0dbd\u0db1 \u0d9a\u0dbd\u0dcf\u0db4\u0dba","HN":"\u0dc4\u0ddc\u0db1\u0dca\u0da9\u0dd4\u0dbb\u0dcf\u0dc3\u0dca","FO":"\u0dc6\u0dd0\u0dbb\u0ddd \u0daf\u0dd6\u0db4\u0dad\u0dca","FI":"\u0dc6\u0dd2\u0db1\u0dca\u0dbd\u0db1\u0dca\u0dad\u0dba","FJ":"\u0dc6\u0dd3\u0da2\u0dd3","FK":"\u0dc6\u0ddd\u0d9a\u0dca\u0dbd\u0db1\u0dca\u0dad \u0daf\u0dd6\u0db4\u0dad\u0dca"} \ No newline at end of file diff --git a/public/intl/language/am-ET.json b/public/intl/language/am-ET.json new file mode 100644 index 00000000..0bed39c3 --- /dev/null +++ b/public/intl/language/am-ET.json @@ -0,0 +1 @@ +{"hu":"\u1200\u1295\u130b\u122a\u129b","haw":"\u1203\u12ca\u12eb\u129b","ha":"\u1203\u12cd\u1233\u129b","ht":"\u1203\u12ed\u1275\u129b","smj":"\u1209\u120c \u1233\u121a","lu":"\u1209\u1263 \u12ab\u1273\u1295\u130b","lua":"\u1209\u1263-\u1209\u120f","lt":"\u1209\u1274\u1295\u12eb\u1295\u129b","luo":"\u1209\u12a6","lb":"\u1209\u12ad\u12d8\u121d\u1260\u122d\u1308\u122d\u129b","luy":"\u1209\u12ea\u12eb","ln":"\u120a\u1295\u130b\u120b\u129b","la":"\u120b\u1272\u1295\u129b","lv":"\u120b\u1275\u126a\u12eb\u1295","lag":"\u120b\u1295\u130a","lkt":"\u120b\u12ae\u1273","lo":"\u120b\u12cd\u1235\u129b","sq":"\u120d\u1264\u1292\u129b","loz":"\u120e\u12da\u129b","hi":"\u1212\u1295\u12f1\u129b","tzm":"\u1218\u12ab\u12a8\u1208\u129b \u12a0\u1275\u120b\u1235 \u1273\u121b\u12da\u130d\u1275","zgh":"\u1218\u12f0\u1260\u129b \u12e8\u121e\u122e\u12ae \u1273\u121b\u12da\u130d\u1275","mua":"\u1219\u1295\u12f3\u1295\u130d","ml":"\u121b\u120b\u12eb\u120b\u121d\u129b","ms":"\u121b\u120b\u12ed\u129b","mg":"\u121b\u120b\u130b\u1235\u129b","mt":"\u121b\u120d\u1272\u1235\u129b","mr":"\u121b\u122b\u1272\u129b","mas":"\u121b\u1233\u12ed","mk":"\u121b\u1234\u12f6\u1295\u129b","jmc":"\u121b\u127b\u121c\u129b","gv":"\u121b\u1295\u12ad\u1235\u129b","mgh":"\u121b\u12a9\u12cb \u121c\u1276","kde":"\u121b\u12ae\u1295\u12f4","mi":"\u121b\u12ee\u122a\u129b","arn":"\u121b\u1351\u127c","mer":"\u121c\u1229","mgo":"\u121c\u1273","moh":"\u121e\u1203\u12cd\u12ad","ro_MD":"\u121e\u120d\u12f3\u126b\u12ca\u1293","mfe":"\u121e\u122a\u1232\u12e8\u129b","mn":"\u121e\u1295\u130e\u120b\u12ca\u129b","rn":"\u1229\u1295\u12f2\u129b","ru":"\u122b\u123d\u129b","rwk":"\u122d\u12cb","ro":"\u122e\u121b\u1292\u12eb\u1295","rm":"\u122e\u121b\u1295\u123d","rof":"\u122e\u121d\u1266","se":"\u1230\u121c\u1293\u12ca \u1233\u121a","nso":"\u1230\u121c\u1293\u12ca \u1236\u1276","nd":"\u1230\u121c\u1295 \u1295\u12f4\u1265\u120c","sr":"\u1230\u122d\u1262\u129b","so":"\u1231\u121b\u120d\u129b","su":"\u1231\u12f3\u1295\u129b","ii":"\u1232\u1279\u1295\u12ea\u129b","si":"\u1232\u1295\u1203\u120d\u129b","sd":"\u1232\u1295\u12f5\u1202\u129b","sid":"\u1232\u12f3\u121d\u129b","saq":"\u1233\u121d\u1261\u1229","sm":"\u1233\u121e\u12a0\u129b","sa":"\u1233\u1295\u1235\u12ad\u122a\u1275\u129b","sbp":"\u1233\u1295\u1309","sg":"\u1233\u1295\u130e\u129b","seh":"\u1234\u1293","sl":"\u1235\u120e\u126a\u129b","sk":"\u1235\u120e\u126b\u12ad\u129b","sms":"\u1235\u12ae\u120d\u1275 \u1233\u121a","sv":"\u1235\u12ca\u12f5\u1295\u129b","sw":"\u1235\u12cb\u1202\u120a\u129b","ss":"\u1235\u12cb\u1272\u129b","es":"\u1235\u1353\u1292\u123d","st":"\u1236\u12de\u129b","xog":"\u1236\u130b","ksb":"\u123b\u121d\u1263\u120b","sn":"\u123e\u1293\u129b","zh_Hans":"\u1240\u1208\u120d \u12eb\u1208 \u127b\u12ed\u1295\u129b","zxx":"\u124b\u1295\u124b\u12ca \u12ed\u12d8\u1275 \u12a0\u12ed\u12f0\u1208\u121d","bg":"\u1261\u120d\u130b\u122a\u129b","my":"\u1261\u122d\u121b\u129b","bi":"\u1262\u1235\u120b\u121d\u129b","zh_Hant":"\u1263\u1205\u120b\u12ca \u127b\u12ed\u1295\u129b","bm":"\u1263\u121d\u1263\u122d\u129b","ba":"\u1263\u1235\u12aa\u122d\u129b","eu":"\u1263\u1235\u12ad\u129b","ksf":"\u1263\u134a\u12eb","be":"\u1264\u120b\u122b\u123b\u129b","bem":"\u1264\u121d\u1263","bez":"\u1264\u1293","bn":"\u1264\u1295\u130b\u120a\u129b","byn":"\u1265\u120a\u1295","br":"\u1265\u122c\u1276\u1295\u129b","bs":"\u1266\u1235\u1292\u12eb\u1295\u129b","brx":"\u1266\u12f6","vun":"\u1269\u1295\u1306","vi":"\u126a\u1275\u1293\u121d\u129b","vai":"\u126b\u12ed","ve":"\u126c\u1295\u12f3","vo":"\u126e\u120b\u1351\u12ad\u129b","te":"\u1270\u1209\u1309\u129b","tum":"\u1271\u121d\u1261\u12ab","tk":"\u1271\u122d\u12ad\u1218\u1295\u129b","tr":"\u1271\u122d\u12ad\u129b","bo":"\u1272\u1264\u1273\u1295\u129b","ty":"\u1273\u1202\u1273\u1295\u129b","ta":"\u1273\u121a\u120d\u129b","twq":"\u1273\u1233\u12cb\u1245","tt":"\u1273\u1273\u122d\u129b","shi":"\u1273\u127c\u120d\u1202\u1275","dav":"\u1273\u12ed\u1273\u129b","th":"\u1273\u12ed\u129b","tg":"\u1273\u1302\u12aa\u129b","tl":"\u1273\u130b\u120e\u1308\u129b","teo":"\u1274\u1236","tet":"\u1274\u1270\u121d","tw":"\u1275\u12ca\u129b","tig":"\u1275\u130d\u1228","ti":"\u1275\u130d\u122d\u129b","to":"\u1276\u1295\u130b\u129b","tpi":"\u1276\u12ad \u1352\u1232\u1295","cgg":"\u127a\u130b\u129b","zh":"\u127b\u12ed\u1295\u129b","chr":"\u127c\u122e\u12ac\u129b","cs":"\u127c\u12ad\u129b","nus":"\u1291\u12cc\u122d","nyn":"\u1292\u12eb\u1295\u12ae\u120d\u129b","naq":"\u1293\u121b","na":"\u1293\u12a1\u1229","ne":"\u1294\u1353\u120a\u129b","nqo":"\u1295\u12ae","ny":"\u1295\u12eb\u1295\u1303","jgo":"\u1295\u130e\u1263\u129b","no":"\u1296\u122d\u12cc\u1302\u12eb\u1295","am":"\u12a0\u121b\u122d\u129b","hy":"\u12a0\u122d\u1218\u1293\u12ca","asa":"\u12a0\u1231","as":"\u12a0\u1233\u121c\u12db\u12ca","ab":"\u12a0\u1265\u1210\u12da\u129b","ak":"\u12a0\u12ab\u1295\u129b","ach":"\u12a0\u12ae\u120a\u129b","az":"\u12a0\u12d8\u122d\u1263\u1303\u1295\u129b","ay":"\u12a0\u12eb\u121b\u122d\u129b","ga":"\u12a0\u12ed\u122a\u123d","is":"\u12a0\u12ed\u1235\u120b\u1295\u12f5\u129b","agq":"\u12a0\u1308\u121d","aa":"\u12a0\u134b\u122d\u129b","af":"\u12a0\u134d\u122a\u12ab\u1295\u129b","ur":"\u12a1\u122d\u12f1\u129b","ug":"\u12a1\u12ca\u130d\u1201\u122d\u129b","uz":"\u12a1\u12dd\u1264\u12ad\u129b","et":"\u12a2\u1235\u1276\u1292\u12eb\u1295\u129b","ebu":"\u12a2\u1266\u129b","smn":"\u12a2\u1293\u122a \u1233\u121a","ia":"\u12a2\u1295\u1274\u122d\u120a\u1295\u1313","id":"\u12a2\u1295\u12f6\u1294\u12e5\u129b","ee":"\u12a2\u12ca","ig":"\u12a2\u130d\u1266\u129b","eo":"\u12a4\u1235\u1350\u122b\u1295\u1276","efi":"\u12a4\u134a\u12ad","gd":"\u12a5\u1235\u12ae\u1275\u1235 \u130c\u120d\u12ad\u129b","iu":"\u12a5\u1291\u12ad\u1272\u1271\u1275\u129b","ik":"\u12a5\u1291\u1352\u12eb\u1245\u129b","ie":"\u12a5\u1295\u1270\u122d\u120a\u1295\u130d\u12c8","en":"\u12a5\u1295\u130d\u120a\u12dd\u129b","or":"\u12a6\u122a\u12eb\u129b","om":"\u12a6\u122e\u121e\u129b","os":"\u12a6\u1234\u1272\u12ad","oc":"\u12a6\u12aa\u1273\u1295\u129b","ku":"\u12a9\u122d\u12f5\u123d\u129b","ky":"\u12aa\u122d\u130a\u12dd\u129b","quc":"\u12aa\u127c","rw":"\u12aa\u1295\u12eb\u122d\u12cb\u1295\u12f5\u129b","ki":"\u12aa\u12a9\u12e9","kln":"\u12ab\u1208\u1295\u1302\u1295","kl":"\u12ab\u120b\u120a\u1231\u1275\u129b","kam":"\u12ab\u121d\u1263","ks":"\u12ab\u123d\u121a\u122d\u129b","kea":"\u12ab\u1261\u1268\u122d\u12f2\u12eb\u1291","kab":"\u12ab\u1265\u12ed\u120d","ca":"\u12ab\u1273\u120b\u1295\u129b","kn":"\u12ab\u1293\u12f3\u129b","kk":"\u12ab\u12db\u12ad\u129b","tlh":"\u12ad\u120a\u1295\u130e\u1295\u129b","km":"\u12ad\u1218\u122d\u129b \u121b\u12a5\u12a8\u120b\u12ca","hr":"\u12ad\u122e\u123d\u12eb\u1295\u129b","nmg":"\u12ad\u12cb\u1232\u12ee","koi":"\u12ae\u121a \u1354\u122d\u121d\u12eb\u12ad","ko":"\u12ae\u122a\u12eb\u129b","co":"\u12ae\u122d\u1232\u12ab\u129b","kw":"\u12ae\u122d\u1292\u123d","swc":"\u12ae\u1295\u130e \u1235\u12cb\u1202\u120a","kg":"\u12ae\u1295\u130e\u129b","kok":"\u12ae\u12ab\u1292","khq":"\u12ae\u12ed\u122b \u127a\u1292","ses":"\u12ae\u12ed\u122b\u1266\u122e \u1234\u1292","qu":"\u12b5\u127f\u129b","cy":"\u12c8\u120d\u123d","wo":"\u12ce\u120e\u134d\u129b","ar":"\u12d3\u1228\u1265\u129b","he":"\u12d5\u1265\u122b\u1235\u1325","ar_001":"\u12d8\u1218\u1293\u12ca \u1218\u12f0\u1260\u129b \u12d3\u1228\u1265\u129b","zu":"\u12d9\u1209\u129b","dje":"\u12db\u122d\u121b\u129b","xh":"\u12de\u1233\u129b","za":"\u12e1\u12cb\u1295\u130d\u129b","es_419":"\u12e8\u120b\u1272\u1295 \u12a0\u121c\u122a\u12ab \u1235\u1353\u1292\u123d","hsb":"\u12e8\u120b\u12ed\u129b\u12cd \u1236\u122d\u1262\u12eb\u1295\u129b","fy":"\u12e8\u121d\u12d5\u122b\u1265 \u134d\u122a\u1235\u129b","de_CH":"\u12e8\u1235\u12ca\u12dd \u12a8\u134d\u1270\u129b \u1300\u122d\u1218\u1295\u129b","gsw":"\u12e8\u1235\u12ca\u12dd \u1300\u122d\u1218\u1295","fr_CH":"\u12e8\u1235\u12ca\u12dd \u1348\u1228\u1295\u1233\u12ed\u129b","ckb":"\u12e8\u1236\u122b\u1292 \u12a9\u122d\u12f5\u129b","en_GB":"\u12e8\u1265\u122a\u1272\u123d \u12a5\u1295\u130d\u120a\u12dd\u129b","pt_BR":"\u12e8\u1265\u122b\u12da\u120d \u1356\u122d\u1279\u130b\u120d\u129b","dsb":"\u12e8\u1273\u127d\u129b\u12cd \u1236\u122d\u1262\u12eb\u1295\u129b","nb":"\u12e8\u1296\u122d\u12cc\u12ed \u1266\u12ad\u121b\u120d","nn":"\u12e8\u1296\u122d\u12cc\u12ed \u1293\u12ed\u1296\u122d\u1235\u12ad","en_US":"\u12e8\u12a0\u121c\u122a\u12ab \u12a5\u1295\u130d\u120a\u12dd\u129b","es_ES":"\u12e8\u12a0\u12cd\u122e\u1353 \u12a5\u1235\u1353\u1295\u129b","pt_PT":"\u12e8\u12a0\u12cd\u122e\u1353 \u1356\u122d\u1279\u130b\u120d\u129b","en_AU":"\u12e8\u12a0\u12cd\u1235\u1275\u122b\u120a\u12eb \u12a5\u1295\u130d\u120a\u12dd\u129b","de_AT":"\u12e8\u12a6\u1235\u1275\u122a\u12eb \u1300\u122d\u1218\u1295","en_CA":"\u12e8\u12ab\u1293\u12f3 \u12a5\u1295\u130d\u120a\u12dd\u129b","fr_CA":"\u12e8\u12ab\u1293\u12f3 \u1348\u1228\u1295\u1233\u12ed\u129b","uk":"\u12e9\u12ad\u122c\u1295\u129b","und":"\u12eb\u120d\u1273\u12c8\u1240 \u124b\u1295\u124b","yi":"\u12ed\u12f2\u123d\u129b","yo":"\u12ee\u1229\u1263\u12ca\u129b","sma":"\u12f0\u1261\u1263\u12ca \u1233\u121a","nl":"\u12f0\u127d","dua":"\u12f1\u12cb\u120b\u129b","dv":"\u12f2\u126c\u1205","da":"\u12f4\u1292\u123d","dz":"\u12f5\u12de\u1295\u130d\u12bb\u129b","de":"\u1300\u122d\u1218\u1295","jv":"\u1303\u126b\u1295\u129b","ja":"\u1303\u1353\u1295\u129b","dyo":"\u1306\u120b \u134e\u1295\u12eb\u129b","ka":"\u1306\u122d\u1302\u12eb\u1295","guz":"\u1309\u1235\u120a\u129b","gu":"\u1309\u1303\u122d\u1272\u129b","gaa":"\u130b","gl":"\u130b\u120a\u123a\u12eb","lg":"\u130b\u1295\u12f3\u129b","gag":"\u130b\u1309\u12dd\u129b","el":"\u130d\u122a\u12ad\u129b","gez":"\u130d\u12d5\u12dd\u129b","gn":"\u1313\u122b\u1292\u129b","it":"\u1323\u120a\u12eb\u1295\u129b","tn":"\u133d\u12cb\u1293\u12ca\u129b","ts":"\u133e\u1295\u130b\u129b","fr":"\u1348\u1228\u1295\u1233\u12ed\u129b","fil":"\u134a\u120a\u1352\u1295\u129b","fi":"\u134a\u1292\u123d","fj":"\u134a\u1302\u129b","fo":"\u134b\u122e\u129b","nl_BE":"\u134d\u120c\u121a\u123d","fa":"\u1350\u122d\u123a\u12eb\u129b","pa":"\u1351\u1295\u1303\u1265\u129b","ps":"\u1353\u123d\u1276\u129b","pl":"\u1356\u120a\u123d\u129b","pt":"\u1356\u122d\u1279\u130b\u120d\u129b","ace":"Achinese","ada":"Adangme","ady":"Adyghe","afh":"Afrihili","ain":"Ainu","akk":"Akkadian","bss":"Akoose","akz":"Alabama","ale":"Aleut","arq":"Algerian Arabic","ase":"American Sign Language","egy":"Ancient Egyptian","grc":"Ancient Greek","anp":"Angika","njo":"Ao Naga","an":"Aragonese","arc":"Aramaic","aro":"Araona","arp":"Arapaho","arw":"Arawak","rup":"Aromanian","frp":"Arpitan","ast":"Asturian","cch":"Atsam","av":"Avaric","ae":"Avestan","awa":"Awadhi","bfq":"Badaga","bfd":"Bafut","bqi":"Bakhtiari","ban":"Balinese","bal":"Baluchi","bax":"Bamun","bjn":"Banjar","bas":"Basaa","bbc":"Batak Toba","bar":"Bavarian","bej":"Beja","bew":"Betawi","bho":"Bhojpuri","bik":"Bikol","bin":"Bini","bpy":"Bishnupriya","zbl":"Blissymbols","brh":"Brahui","bra":"Braj","bug":"Buginese","bum":"Bulu","bua":"Buriat","cad":"Caddo","frc":"Cajun French","yue":"Cantonese","cps":"Capiznon","car":"Carib","cay":"Cayuga","ceb":"Cebuano","dtp":"Central Dusun","esu":"Central Yupik","shu":"Chadian Arabic","chg":"Chagatai","ch":"Chamorro","ce":"Chechen","chy":"Cheyenne","chb":"Chibcha","qug":"Chimborazo Highland Quichua","chn":"Chinook Jargon","chp":"Chipewyan","cho":"Choctaw","cu":"Church Slavic","chk":"Chuukese","cv":"Chuvash","nwc":"Classical Newari","syc":"Classical Syriac","ksh":"Colognian","swb":"Comorian","cop":"Coptic","cr":"Cree","mus":"Creek","crh":"Crimean Turkish","dak":"Dakota","dar":"Dargwa","dzg":"Dazaga","del":"Delaware","din":"Dinka","doi":"Dogri","dgr":"Dogrib","dyu":"Dyula","frs":"Eastern Frisian","arz":"Egyptian Arabic","eka":"Ekajuk","elx":"Elamite","egl":"Emilian","myv":"Erzya","ewo":"Ewondo","ext":"Extremaduran","fan":"Fang","fat":"Fanti","hif":"Fiji Hindi","fon":"Fon","gur":"Frafra","fur":"Friulian","ff":"Fulah","gan":"Gan Chinese","gay":"Gayo","gba":"Gbaya","aln":"Gheg Albanian","bbj":"Ghomala","glk":"Gilaki","gil":"Gilbertese","gom":"Goan Konkani","gon":"Gondi","gor":"Gorontalo","got":"Gothic","grb":"Grebo","gwi":"Gwich\u02bcin","hai":"Haida","hak":"Hakka Chinese","hz":"Herero","hil":"Hiligaynon","ho":"Hiri Motu","hit":"Hittite","hmn":"Hmong","hup":"Hupa","iba":"Iban","ibb":"Ibibio","io":"Ido","ilo":"Iloko","izh":"Ingrian","inh":"Ingush","jam":"Jamaican Creole English","kaj":"Jju","jrb":"Judeo-Arabic","jpr":"Judeo-Persian","jut":"Jutish","kbd":"Kabardian","kac":"Kachin","kgp":"Kaingang","kkj":"Kako","xal":"Kalmyk","kbl":"Kanembu","kr":"Kanuri","kaa":"Kara-Kalpak","krc":"Karachay-Balkar","krl":"Karelian","csb":"Kashubian","kaw":"Kawi","ken":"Kenyang","kha":"Khasi","kho":"Khotanese","khw":"Khowar","kmb":"Kimbundu","krj":"Kinaray-a","kiu":"Kirmanjki","bkm":"Kom","kv":"Komi","kfo":"Koro","kos":"Kosraean","avk":"Kotava","kpe":"Kpelle","kri":"Krio","kj":"Kuanyama","kum":"Kumyk","kru":"Kurukh","kut":"Kutenai","lad":"Ladino","lah":"Lahnda","lam":"Lamba","ltg":"Latgalian","lzz":"Laz","lez":"Lezghian","lij":"Ligurian","li":"Limburgish","lfn":"Lingua Franca Nova","lzh":"Literary Chinese","liv":"Livonian","jbo":"Lojban","lmo":"Lombard","nds":"Low German","sli":"Lower Silesian","lui":"Luiseno","lun":"Lunda","mde":"Maba","mad":"Madurese","maf":"Mafa","mag":"Magahi","vmf":"Main-Franconian","mai":"Maithili","mak":"Makasar","mnc":"Manchu","mdr":"Mandar","man":"Mandingo","mni":"Manipuri","chm":"Mari","mh":"Marshallese","mwr":"Marwari","mzn":"Mazanderani","byv":"Medumba","men":"Mende","mwv":"Mentawai","es_MX":"Mexican Spanish","mic":"Micmac","dum":"Middle Dutch","enm":"Middle English","frm":"Middle French","gmh":"Middle High German","mga":"Middle Irish","nan":"Min Nan Chinese","min":"Minangkabau","xmf":"Mingrelian","mwl":"Mirandese","lus":"Mizo","mdf":"Moksha","lol":"Mongo","ary":"Moroccan Arabic","mos":"Mossi","mul":"Multiple Languages","ttt":"Muslim Tat","mye":"Myene","nv":"Navajo","ng":"Ndonga","nap":"Neapolitan","new":"Newari","sba":"Ngambay","nnh":"Ngiemboon","yrl":"Nheengatu","nia":"Nias","niu":"Niuean","nog":"Nogai","frr":"Northern Frisian","nov":"Novial","nym":"Nyamwezi","tog":"Nyasa Tonga","nyo":"Nyoro","nzi":"Nzima","oj":"Ojibwa","ang":"Old English","fro":"Old French","goh":"Old High German","sga":"Old Irish","non":"Old Norse","peo":"Old Persian","pro":"Old Proven\u00e7al","osa":"Osage","ota":"Ottoman Turkish","pal":"Pahlavi","pfl":"Palatine German","pau":"Palauan","pi":"Pali","pam":"Pampanga","pag":"Pangasinan","pap":"Papiamento","pdc":"Pennsylvania German","phn":"Phoenician","pcd":"Picard","pms":"Piedmontese","pdt":"Plautdietsch","pon":"Pohnpeian","pnt":"Pontic","prg":"Prussian","raj":"Rajasthani","rap":"Rapanui","rar":"Rarotongan","rif":"Riffian","rgn":"Romagnol","rom":"Romany","root":"Root","rtm":"Rotuman","rug":"Roviana","rue":"Rusyn","ssy":"Saho","sah":"Sakha","sam":"Samaritan Aramaic","sgs":"Samogitian","sad":"Sandawe","sat":"Santali","sc":"Sardinian","sas":"Sasak","sdc":"Sassarese Sardinian","stq":"Saterland Frisian","saz":"Saurashtra","sco":"Scots","sly":"Selayar","sel":"Selkup","see":"Seneca","sh":"Serbo-Croatian","srr":"Serer","sei":"Seri","shn":"Shan","scn":"Sicilian","bla":"Siksika","szl":"Silesian","den":"Slave","sog":"Sogdien","snk":"Soninke","azb":"South Azerbaijani","nr":"South Ndebele","alt":"Southern Altai","srn":"Sranan Tongo","suk":"Sukuma","sux":"Sumerian","sus":"Susu","syr":"Syriac","tly":"Talysh","tmh":"Tamashek","trv":"Taroko","ter":"Tereno","tem":"Timne","tiv":"Tiv","tli":"Tlingit","tkl":"Tokelau","fit":"Tornedalen Finnish","tkr":"Tsakhur","tsd":"Tsakonian","tsi":"Tsimshian","tcy":"Tulu","aeb":"Tunisian Arabic","tru":"Turoyo","tvl":"Tuvalu","tyv":"Tuvinian","kcg":"Tyap","udm":"Udmurt","uga":"Ugaritic","umb":"Umbundu","vec":"Venetian","vep":"Veps","vro":"V\u00f5ro","vot":"Votic","wa":"Walloon","wae":"Walser","war":"Waray","wbp":"Warlpiri","was":"Washo","guc":"Wayuu","vls":"West Flemish","mrj":"Western Mari","wal":"Wolaytta","wuu":"Wu Chinese","hsn":"Xiang Chinese","yav":"Yangben","yao":"Yao","yap":"Yapese","ybb":"Yemba","zap":"Zapotec","zza":"Zaza","zea":"Zeelandic","zen":"Zenaga","gbz":"Zoroastrian Dari","zun":"Zuni"} \ No newline at end of file diff --git a/public/intl/language/si-LK.json b/public/intl/language/si-LK.json new file mode 100644 index 00000000..79ac4000 --- /dev/null +++ b/public/intl/language/si-LK.json @@ -0,0 +1 @@ +{"ak":"\u0d85\u0d9a\u0dcf\u0db1\u0dca","af":"\u0d85\u0db4\u0dca\u200d\u0dbb\u0dd2\u0d9a\u0dcf\u0db1\u0dd4","ga":"\u0d85\u0dba\u0dbb\u0dca\u0dbd\u0db1\u0dca\u0dad","is":"\u0d85\u0dba\u0dd2\u0dc3\u0dca\u0dbd\u0db1\u0dca\u0dad","ar":"\u0d85\u0dbb\u0dcf\u0db6\u0dd2","az":"\u0d85\u0dc3\u0dbb\u0dca\u0db6\u0dba\u0dd2\u0da2\u0dcf\u0db1\u0dca","asa":"\u0d85\u0dc3\u0dd4","hy":"\u0d86\u0dbb\u0dca\u0db8\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","agq":"\u0d87\u0d9c\u0db8\u0dca","ab":"\u0d87\u0db6\u0dca\u0d9a\u0dcf\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","en_US":"\u0d87\u0db8\u0dd9\u0dbb\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0d89\u0d82\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0dc3\u0dd2","am":"\u0d87\u0db8\u0dca\u0dc4\u0dcf\u0dbb\u0dd2\u0d9a\u0dca","sq":"\u0d87\u0dbd\u0dca\u0db6\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","as":"\u0d87\u0dc3\u0db8\u0dd2\u0dba\u0dcf\u0db1\u0dd4","en":"\u0d89\u0d82\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0dc3\u0dd2","ig":"\u0d89\u0d9c\u0dca\u0db6\u0ddd","it":"\u0d89\u0dad\u0dcf\u0dbd\u0dd2","smn":"\u0d89\u0db1\u0dcf\u0dbb\u0dd2 \u0dc3\u0dcf\u0db8\u0dd2","iu":"\u0d89\u0db1\u0dd4\u0d9a\u0dca\u0da7\u0dd2\u0da7\u0dd4\u0da7\u0dca","id":"\u0d89\u0db1\u0dca\u0daf\u0dd4\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","ee":"\u0d89\u0dc0\u0dca","hsb":"\u0d89\u0dc4\u0dc5 \u0dc3\u0ddd\u0db6\u0dd2\u0dba\u0dcf\u0db1\u0dd4","nd":"\u0d8b\u0dad\u0dd4\u0dbb\u0dd4 \u0d91\u0db1\u0dca\u0da9\u0dd2\u0db6\u0dd9\u0dbd\u0dd9","se":"\u0d8b\u0dad\u0dd4\u0dbb\u0dd4 \u0dc3\u0dcf\u0db8\u0dd2","ug":"\u0d8b\u0dba\u0dd2\u0d9c\u0dbb\u0dca","ur":"\u0d8b\u0dbb\u0dca\u0daf\u0dd4","uz":"\u0d8b\u0dc3\u0dca\u0db6\u0dd9\u0d9a\u0dca","nqo":"\u0d91\u0db1\u0dca\u2018\u0d9a\u0ddd","ebu":"\u0d91\u0db8\u0dca\u0db6\u0dd4","et":"\u0d91\u0dc3\u0dca\u0dad\u0ddd\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","eo":"\u0d91\u0dc3\u0dca\u0db4\u0dd0\u0dbb\u0db1\u0dca\u0da7\u0ddd","or":"\u0d94\u0dbb\u0dd2\u0dba\u0dcf","om":"\u0d94\u0dbb\u0ddc\u0db8\u0ddd","de_AT":"\u0d94\u0dc3\u0dca\u0da7\u0dca\u200d\u0dbb\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0da2\u0dbb\u0dca\u0db8\u0db1\u0dca","en_AU":"\u0d95\u0dc3\u0dca\u0da7\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0d89\u0d82\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0dc3\u0dd2","kn":"\u0d9a\u0dab\u0dca\u0dab\u0da9","kea":"\u0d9a\u0db6\u0dd4\u0dc0\u0dd9\u0dbb\u0dca\u0da9\u0dd2\u0dba\u0dcf\u0db1\u0ddd","km":"\u0d9a\u0db8\u0dbb\u0dca","kl":"\u0d9a\u0dbd\u0dcf\u0dbd\u0dd2\u0dc3\u0da7\u0dca","kln":"\u0d9a\u0dbd\u0dd9\u0db1\u0dca\u0da2\u0db1\u0dca","kk":"\u0d9a\u0dc3\u0dcf\u0d9b\u0dca","ks":"\u0d9a\u0dcf\u0dc2\u0dca\u0db8\u0dd3\u0dbb\u0dca","ca":"\u0d9a\u0dd0\u0da7\u0dbd\u0db1\u0dca","en_CA":"\u0d9a\u0dd0\u0db1\u0dda\u0da9\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0d89\u0d82\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0dc3\u0dd2","fr_CA":"\u0d9a\u0dd0\u0db1\u0dda\u0da9\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1","kab":"\u0d9a\u0dd0\u0db6\u0dbd\u0dcf","kam":"\u0d9a\u0dd0\u0db8\u0dca\u0db6\u0dcf","ki":"\u0d9a\u0dd2\u0d9a\u0dd4\u0dba\u0dd4","rw":"\u0d9a\u0dd2\u0db1\u0dca\u0dba\u0dbb\u0dca\u0dc0\u0db1\u0dca\u0da9\u0dcf","quc":"\u0d9a\u0dd2\u0dba\u0dd2\u0da0\u0dda","ky":"\u0d9a\u0dd2\u0dbb\u0dca\u0d9c\u0dd2\u0dc3\u0dca","ku":"\u0d9a\u0dd4\u0dbb\u0dca\u0daf\u0dd2","nmg":"\u0d9a\u0dd4\u0dc0\u0dcf\u0dc3\u0dd2\u0d94","kok":"\u0d9a\u0ddc\u0db1\u0dca\u0d9a\u0db1\u0dd2","swc":"\u0d9a\u0ddc\u0db1\u0dca\u0d9c\u0ddd \u0dc3\u0dca\u0dc0\u0dcf\u0dc4\u0dd2\u0dbd\u0dd2","koi":"\u0d9a\u0ddc\u0db8\u0dd2-\u0db4\u0dbb\u0dca\u0db8\u0dd2\u0dba\u0dcf\u0d9a\u0dca","khq":"\u0d9a\u0ddc\u0dba\u0dd2\u0dbb\u0dcf \u0da0\u0dd2\u0db1\u0dd2","ko":"\u0d9a\u0ddc\u0dbb\u0dd2\u0dba\u0dcf\u0db1\u0dd4","kw":"\u0d9a\u0ddd\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","ses":"\u0d9a\u0ddd\u0dba\u0dd2\u0dbb\u0dcf\u0db6\u0ddc\u0dbb\u0ddc \u0dc3\u0dd9\u0db1\u0dca\u0db1\u0dd2","co":"\u0d9a\u0dca\u200d\u0dbb\u0ddc\u0d91\u0dc1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","hr":"\u0d9a\u0dca\u200d\u0dbb\u0ddd\u0dba\u0dda\u0dc1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","qu":"\u0d9a\u0dca\u0dc0\u0dd3\u0da0\u0dd4\u0dc0\u0dcf","gag":"\u0d9c\u0d9c\u0dcf\u0dc3\u0dca","lg":"\u0d9c\u0db1\u0dca\u0da9\u0dcf","gl":"\u0d9c\u0dd0\u0dbd\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","gu":"\u0d9c\u0dd4\u0da2\u0dbb\u0dcf\u0da7\u0dd2","gn":"\u0d9c\u0dd4\u0dc0\u0dcf\u0dbb\u0db1\u0dd2","guz":"\u0d9c\u0dd4\u0dc3\u0dd3","el":"\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0d9a","cgg":"\u0da0\u0dd2\u0d9c\u0dcf","zh":"\u0da0\u0dd3\u0db1","cs":"\u0da0\u0dd9\u0dad\u0dca","chr":"\u0da0\u0dd9\u0dbb\u0ddc\u0d9a\u0dd3","pa":"\u0da2\u0db1\u0dca\u0da2\u0dcf\u0db6\u0dd2","ja":"\u0da2\u0db4\u0db1\u0dca","de":"\u0da2\u0dbb\u0dca\u0db8\u0db1\u0dca","jv":"\u0da2\u0dcf\u0dc0\u0dcf","dyo":"\u0da2\u0ddc\u0dbd-\u0dc6\u0ddd\u0db1\u0dd2\u0dba\u0dd2","ka":"\u0da2\u0ddd\u0dbb\u0dca\u0da2\u0dd2\u0dba\u0dcf\u0db1\u0dd4","shi":"\u0da7\u0da0\u0dda\u0dbd\u0dca\u0dc4\u0dd2\u0da7\u0dca","tg":"\u0da7\u0da2\u0dd2\u0d9a\u0dca","dav":"\u0da7\u0dba\u0dd2\u0da7\u0dcf","tk":"\u0da7\u0dbb\u0dca\u0d9a\u0dca\u0db8\u0dd9\u0db1\u0dca","twq":"\u0da7\u0dc3\u0dc0\u0dcf\u0d9a\u0dca","tt":"\u0da7\u0dcf\u0da7\u0dbb\u0dca","ti":"\u0da7\u0dd2\u0d9c\u0dca\u200d\u0dbb\u0dd2\u0db1\u0dca\u0dba\u0dcf","bo":"\u0da7\u0dd2\u0db6\u0dd9\u0da7\u0dca","aeb":"\u0da7\u0dd2\u0dba\u0dd4\u0db1\u0dd2\u0dc3\u0dd2\u0dba\u0db1\u0dd4 \u0d85\u0dbb\u0dcf\u0db6\u0dd2","teo":"\u0da7\u0dd9\u0dc3\u0ddd","to":"\u0da7\u0ddc\u0d82\u0d9c\u0dcf","da":"\u0da9\u0dd0\u0db1\u0dd2\u0dc1\u0dca","dz":"\u0da9\u0dd2\u0dc3\u0ddc\u0db1\u0dca\u0d9a\u0dcf","dua":"\u0da9\u0dd4\u0d86\u0dbd\u0dcf","th":"\u0dad\u0dcf\u0dba\u0dd2","tr":"\u0dad\u0dd4\u0dbb\u0dca\u0d9a\u0dd2","te":"\u0dad\u0dd9\u0dc5\u0dd2\u0d9f\u0dd4","sma":"\u0daf\u0d9a\u0dd4\u0dab\u0dd4 \u0dc3\u0dcf\u0db8\u0dd2","dv":"\u0daf\u0dd2\u0dc0\u0dd9\u0dc4\u0dd2","ta":"\u0daf\u0dd9\u0db8\u0dc5","nyn":"\u0db1\u0dba\u0db1\u0dca\u0d9a\u0ddc\u0dc5\u0dda","ar_001":"\u0db1\u0dc0\u0dd3\u0db1 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0dbb\u0dcf\u0db6\u0dd2","naq":"\u0db1\u0dcf\u0db8\u0dcf","ne":"\u0db1\u0dda\u0db4\u0dcf\u0dbd","und":"\u0db1\u0ddc\u0daf\u0db1\u0dca\u0db1\u0dcf \u0db7\u0dcf\u0dc2\u0dcf\u0dc0","jgo":"\u0db1\u0ddc\u0db8\u0dca\u0db6\u0dcf","nus":"\u0db1\u0ddc\u0dba\u0dbb\u0dca","nn":"\u0db1\u0ddc\u0dc0\u0dda\u0dbb\u0dca\u0da2\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0db1\u0dba\u0dd2\u0db1\u0ddd\u0dbb\u0dca\u0dc3\u0dca\u0d9a\u0dca","nb":"\u0db1\u0ddd\u0dc0\u0dda\u0da2\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0db6\u0ddc\u0d9a\u0dca\u0db8\u0dcf\u0dbd\u0dca","fa":"\u0db4\u0dbb\u0dca\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","ps":"\u0db4\u0dc2\u0dca\u0da7\u0ddc","dsb":"\u0db4\u0dc4\u0dc5 \u0dc3\u0ddd\u0db6\u0dd2\u0dba\u0dcf\u0db1\u0dd4","fil":"\u0db4\u0dd2\u0dbd\u0dd2\u0db4\u0dd3\u0db1","pt":"\u0db4\u0dd8\u0dad\u0dd4\u0d9c\u0dd3\u0dc3\u0dd2","pl":"\u0db4\u0ddd\u0dbd\u0db1\u0dca\u0dad","fr":"\u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1","fy":"\u0db6\u0da7\u0dc4\u0dd2\u0dbb \u0dc6\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","bm":"\u0db6\u0db8\u0dca\u0db6\u0dbb\u0dcf","bg":"\u0db6\u0dbd\u0dca\u0d9c\u0dda\u0dbb\u0dd2\u0dba\u0dcf\u0db1\u0dd4","ba":"\u0db6\u0dcf\u0dc2\u0dca\u0d9a\u0dd2\u0dbb\u0dca","ksf":"\u0db6\u0dcf\u0dc6\u0dd2\u0dba\u0dcf","my":"\u0db6\u0dd4\u0dbb\u0dd4\u0db8","bn":"\u0db6\u0dd9\u0d82\u0d9c\u0dcf\u0dbd\u0dd2","bez":"\u0db6\u0dd9\u0db1\u0dcf","bem":"\u0db6\u0dd9\u0db8\u0dca\u0db6\u0dcf","be":"\u0db6\u0dd9\u0dbd\u0dbb\u0dd4\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","brx":"\u0db6\u0ddc\u0da9\u0ddc","eu":"\u0db6\u0ddc\u0dc3\u0dca\u0d9a\u0ddd","bs":"\u0db6\u0ddc\u0dc3\u0dca\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","pt_BR":"\u0db6\u0dca\u200d\u0dbb\u0dc3\u0dd3\u0dbd \u0db4\u0dd8\u0dad\u0dd4\u0d9c\u0dd3\u0dc3\u0dd2","en_GB":"\u0db6\u0dca\u200d\u0dbb\u0dd2\u0dad\u0dcf\u0db1\u0dca\u200d\u0dba \u0d89\u0d82\u0d9c\u0dca\u200d\u0dbb\u0dd3\u0dc3\u0dd2","br":"\u0db6\u0dca\u200d\u0dbb\u0dda\u0da7\u0ddc\u0db1\u0dca","mgh":"\u0db8\u0d9b\u0dd4\u0dc0\u0dcf-\u0db8\u0dd3\u0da7\u0ddd","tzm":"\u0db8\u0db0\u0dca\u200d\u0dba\u0db8 \u0d87\u0da7\u0dca\u0dbd\u0dc3\u0dca \u0da7\u0db8\u0dc3\u0dd2\u0da7\u0dca","arn":"\u0db8\u0db4\u0dd4\u0da0\u0dd9","mr":"\u0db8\u0dbb\u0dcf\u0dad\u0dd2","mg":"\u0db8\u0dbd\u0d9c\u0dcf\u0dc3\u0dd2","ml":"\u0db8\u0dbd\u0dba\u0dcf\u0dbd\u0db8\u0dca","mas":"\u0db8\u0dc3\u0dcf\u0dba\u0dd2","mi":"\u0db8\u0dcf\u0dc0\u0ddc\u0dbb\u0dd2","jmc":"\u0db8\u0dd0\u0d9a\u0dcf\u0db8\u0dd3","kde":"\u0db8\u0dd0\u0d9a\u0ddc\u0db1\u0dca\u0da9\u0dca","gv":"\u0db8\u0dd0\u0db1\u0dca\u0d9a\u0dca\u0dc3\u0dca","ms":"\u0db8\u0dd0\u0dbd\u0dda","mk":"\u0db8\u0dd0\u0dc3\u0dd2\u0da9\u0ddd\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","mua":"\u0db8\u0dd4\u0db1\u0dca\u0da9\u0db1\u0dca","es_MX":"\u0db8\u0dd9\u0d9a\u0dca\u0dc3\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0dc3\u0dca\u0db4\u0dcf\u0da4\u0dca\u0da4","mgo":"\u0db8\u0dd9\u0da7\u0dcf","mer":"\u0db8\u0dd9\u0dbb\u0dd4","mn":"\u0db8\u0ddc\u0d82\u0d9c\u0ddd\u0dbd\u0dd2\u0dba\u0dcf\u0db1\u0dd4","mfe":"\u0db8\u0ddc\u0dbb\u0dd2\u0dc3\u0dca\u0dba\u0dd9\u0db8\u0dca","mt":"\u0db8\u0ddc\u0dbd\u0dca\u0da7\u0dd2\u0dc3\u0dca","moh":"\u0db8\u0ddc\u0dc4\u0ddc\u0dc0\u0dca\u0d9a\u0dca","uk":"\u0dba\u0dd4\u0d9a\u0dca\u0dbb\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","pt_PT":"\u0dba\u0dd4\u0dbb\u0ddd\u0db4\u0dd3\u0dba \u0db4\u0dd8\u0dad\u0dd4\u0d9c\u0dd3\u0dc3\u0dd2","es_ES":"\u0dba\u0dd4\u0dbb\u0ddd\u0db4\u0dd3\u0dba \u0dc3\u0dca\u0db4\u0dcf\u0da4\u0dca\u0da4","yo":"\u0dba\u0ddc\u0dbb\u0dd6\u0db6\u0dcf","rn":"\u0dbb\u0dd4\u0db1\u0dca\u0da9\u0dd2","ru":"\u0dbb\u0dd4\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","rm":"\u0dbb\u0ddc\u0db8\u0dd1\u0db1\u0dca\u0dc1\u0dca","ro":"\u0dbb\u0ddc\u0db8\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","rof":"\u0dbb\u0ddd\u0db8\u0dca\u0db6\u0ddd","rwk":"\u0dbb\u0dca\u0dc0\u0dcf","lag":"\u0dbd\u0d82\u0d9c\u0dd2","lkt":"\u0dbd\u0d9a\u0ddc\u0da7","lb":"\u0dbd\u0d9a\u0dca\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca\u0d9c\u0dca","la":"\u0dbd\u0dad\u0dd2\u0db1\u0dca","es_419":"\u0dbd\u0dad\u0dd2\u0db1\u0dca \u0d87\u0db8\u0dbb\u0dd2\u0d9a\u0dcf\u0db1\u0dd4 \u0dc3\u0dca\u0db4\u0dcf\u0da4\u0dca\u0da4","nl":"\u0dbd\u0db1\u0dca\u0daf\u0dda\u0dc3\u0dd2","lo":"\u0dbd\u0dcf\u0d95","lv":"\u0dbd\u0dd0\u0da7\u0dca\u0dc0\u0dd2\u0dba\u0dcf\u0db1\u0dd4","lt":"\u0dbd\u0dd2\u0dad\u0dd4\u0dc0\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","ln":"\u0dbd\u0dd2\u0db1\u0dca\u0d9c\u0dbd\u0dcf","lu":"\u0dbd\u0dd4","luo":"\u0dbd\u0dd4\u0d94","luy":"\u0dbd\u0dd4\u0dba\u0dd2\u0dba\u0dcf","smj":"\u0dbd\u0dd4\u0dbd\u0dda \u0dc3\u0dcf\u0db8\u0dd2","vai":"\u0dc0\u0dba\u0dd2","zxx":"\u0dc0\u0dcf\u0d9c\u0dca \u0dc0\u0dd2\u0daf\u0dca\u200d\u0dba\u0dcf \u0d85\u0db1\u0dca\u0dad\u0dbb\u0dca\u0d9c\u0dad\u0dba\u0d9a\u0dca \u0db1\u0dd0\u0dad","vi":"\u0dc0\u0dd2\u0dba\u0da7\u0dca\u0db1\u0dcf\u0db8\u0dca","vun":"\u0dc0\u0dd4\u0db1\u0dca\u0da2\u0ddd","cy":"\u0dc0\u0dda\u0dbd\u0dca\u0dc3\u0dca","wo":"\u0dc0\u0ddc\u0dbd\u0ddc\u0dc6\u0dca","ksb":"\u0dc1\u0dcf\u0db8\u0dca\u0db6\u0dbd\u0dcf","sn":"\u0dc1\u0ddd\u0db1\u0dcf","xh":"\u0dc1\u0ddd\u0dc3\u0dcf","sbp":"\u0dc3\u0d82\u0d9c\u0dd4","sa":"\u0dc3\u0d82\u0dc3\u0dca\u0d9a\u0dd8\u0dad","sg":"\u0dc3\u0db1\u0dca\u0d9c\u0dca\u200d\u0dbb\u0ddd","su":"\u0dc3\u0db1\u0dca\u0da9\u0db1\u0dd3\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4","saq":"\u0dc3\u0db8\u0dca\u0db6\u0dd4\u0dbb\u0dd4","zgh":"\u0dc3\u0db8\u0dca\u0db8\u0dad \u0db8\u0ddc\u0dbb\u0ddc\u0d9a\u0dca\u0d9a\u0ddd \u0da7\u0db8\u0dc3\u0dd2\u0d9c\u0dca\u0dad\u0dca","sr":"\u0dc3\u0dbb\u0dca\u0db6\u0dd2\u0dba\u0dcf\u0db1\u0dd4","zh_Hant":"\u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dca\u200d\u0dbb\u0daf\u0dcf\u0dba\u0dd2\u0d9a \u0da0\u0dd3\u0db1","si":"\u0dc3\u0dd2\u0d82\u0dc4\u0dbd","ii":"\u0dc3\u0dd2\u0da0\u0dd4\u0d86\u0db1\u0dca \u0dba\u0dd3","sd":"\u0dc3\u0dd2\u0db1\u0dca\u0db0\u0dd2","zu":"\u0dc3\u0dd4\u0dbd\u0dd4","zh_Hans":"\u0dc3\u0dd4\u0dc5\u0dd4\u0d9a\u0dc5 \u0da0\u0dd3\u0db1","seh":"\u0dc3\u0dd9\u0db1\u0dcf","xog":"\u0dc3\u0ddc\u0d9c\u0dcf","ckb":"\u0dc3\u0ddc\u0dbb\u0dcf\u0db1\u0dd2 \u0d9a\u0dd4\u0dbb\u0dca\u0daf\u0dd2\u0dc2\u0dca","so":"\u0dc3\u0ddd\u0db8\u0dcf\u0dbd\u0dd2","sms":"\u0dc3\u0dca\u0d9a\u0ddc\u0dbd\u0dca\u0da7\u0dca \u0dc3\u0dcf\u0db8\u0dd2","es":"\u0dc3\u0dca\u0db4\u0dcf\u0da4\u0dca\u0da4","sk":"\u0dc3\u0dca\u0dbd\u0ddd\u0dc0\u0dd0\u0d9a\u0dca","sl":"\u0dc3\u0dca\u0dbd\u0ddd\u0dc0\u0dda\u0db1\u0dd2\u0dba\u0dcf\u0db1\u0dd4","sw":"\u0dc3\u0dca\u0dc0\u0dcf\u0dc4\u0dd2\u0dbd\u0dd2","de_CH":"\u0dc3\u0dca\u0dc0\u0dd2\u0dc3\u0dca \u0d8b\u0dc3\u0dc3\u0dca \u0da2\u0dbb\u0dca\u0db8\u0db1\u0dca","gsw":"\u0dc3\u0dca\u0dc0\u0dd2\u0dc3\u0dca \u0da2\u0dbb\u0dca\u0db8\u0db1\u0dd2","fr_CH":"\u0dc3\u0dca\u0dc0\u0dd2\u0dc3\u0dca \u0db4\u0dca\u200d\u0dbb\u0d82\u0dc1","sv":"\u0dc3\u0dca\u0dc0\u0dd3\u0da9\u0db1\u0dca","hu":"\u0dc4\u0db1\u0dca\u0d9c\u0dda\u0dbb\u0dd2\u0dba\u0dcf\u0db1\u0dd4","ht":"\u0dc4\u0dba\u0dd2\u0da7\u0dd2","haw":"\u0dc4\u0dc0\u0dcf\u0dba\u0dd2","hi":"\u0dc4\u0dd2\u0db1\u0dca\u0daf\u0dd2","he":"\u0dc4\u0dd3\u0db6\u0df2","ha":"\u0dc4\u0ddd\u0dc3\u0dcf","dje":"\u0dc6\u0dbb\u0dca\u0db8\u0dcf","fo":"\u0dc6\u0dcf\u0dbb\u0ddd\u0dc3\u0dca","fi":"\u0dc6\u0dd2\u0db1\u0dca\u0dbd\u0db1\u0dca\u0dad","fj":"\u0dc6\u0dd3\u0da2\u0dd2","nl_BE":"\u0dc6\u0dca\u0dbd\u0dd9\u0db8\u0dd2\u0dc1\u0dca","ace":"Achinese","ach":"Acoli","ada":"Adangme","ady":"Adyghe","aa":"Afar","afh":"Afrihili","ain":"Ainu","akk":"Akkadian","bss":"Akoose","akz":"Alabama","ale":"Aleut","arq":"Algerian Arabic","ase":"American Sign Language","egy":"Ancient Egyptian","grc":"Ancient Greek","anp":"Angika","njo":"Ao Naga","an":"Aragonese","arc":"Aramaic","aro":"Araona","arp":"Arapaho","arw":"Arawak","rup":"Aromanian","frp":"Arpitan","ast":"Asturian","cch":"Atsam","av":"Avaric","ae":"Avestan","awa":"Awadhi","ay":"Aymara","bfq":"Badaga","bfd":"Bafut","bqi":"Bakhtiari","ban":"Balinese","bal":"Baluchi","bax":"Bamun","bjn":"Banjar","bas":"Basaa","bbc":"Batak Toba","bar":"Bavarian","bej":"Beja","bew":"Betawi","bho":"Bhojpuri","bik":"Bikol","bin":"Bini","bpy":"Bishnupriya","bi":"Bislama","byn":"Blin","zbl":"Blissymbols","brh":"Brahui","bra":"Braj","bug":"Buginese","bum":"Bulu","bua":"Buriat","cad":"Caddo","frc":"Cajun French","yue":"Cantonese","cps":"Capiznon","car":"Carib","cay":"Cayuga","ceb":"Cebuano","dtp":"Central Dusun","esu":"Central Yupik","shu":"Chadian Arabic","chg":"Chagatai","ch":"Chamorro","ce":"Chechen","chy":"Cheyenne","chb":"Chibcha","qug":"Chimborazo Highland Quichua","chn":"Chinook Jargon","chp":"Chipewyan","cho":"Choctaw","cu":"Church Slavic","chk":"Chuukese","cv":"Chuvash","nwc":"Classical Newari","syc":"Classical Syriac","ksh":"Colognian","swb":"Comorian","cop":"Coptic","cr":"Cree","mus":"Creek","crh":"Crimean Turkish","dak":"Dakota","dar":"Dargwa","dzg":"Dazaga","del":"Delaware","din":"Dinka","doi":"Dogri","dgr":"Dogrib","dyu":"Dyula","frs":"Eastern Frisian","efi":"Efik","arz":"Egyptian Arabic","eka":"Ekajuk","elx":"Elamite","egl":"Emilian","myv":"Erzya","ewo":"Ewondo","ext":"Extremaduran","fan":"Fang","fat":"Fanti","hif":"Fiji Hindi","fon":"Fon","gur":"Frafra","fur":"Friulian","ff":"Fulah","gaa":"Ga","gan":"Gan Chinese","gay":"Gayo","gba":"Gbaya","gez":"Geez","aln":"Gheg Albanian","bbj":"Ghomala","glk":"Gilaki","gil":"Gilbertese","gom":"Goan Konkani","gon":"Gondi","gor":"Gorontalo","got":"Gothic","grb":"Grebo","gwi":"Gwich\u02bcin","hai":"Haida","hak":"Hakka Chinese","hz":"Herero","hil":"Hiligaynon","ho":"Hiri Motu","hit":"Hittite","hmn":"Hmong","hup":"Hupa","iba":"Iban","ibb":"Ibibio","io":"Ido","ilo":"Iloko","izh":"Ingrian","inh":"Ingush","ia":"Interlingua","ie":"Interlingue","ik":"Inupiaq","jam":"Jamaican Creole English","kaj":"Jju","jrb":"Judeo-Arabic","jpr":"Judeo-Persian","jut":"Jutish","kbd":"Kabardian","kac":"Kachin","kgp":"Kaingang","kkj":"Kako","xal":"Kalmyk","kbl":"Kanembu","kr":"Kanuri","kaa":"Kara-Kalpak","krc":"Karachay-Balkar","krl":"Karelian","csb":"Kashubian","kaw":"Kawi","ken":"Kenyang","kha":"Khasi","kho":"Khotanese","khw":"Khowar","kmb":"Kimbundu","krj":"Kinaray-a","kiu":"Kirmanjki","tlh":"Klingon","bkm":"Kom","kv":"Komi","kg":"Kongo","kfo":"Koro","kos":"Kosraean","avk":"Kotava","kpe":"Kpelle","kri":"Krio","kj":"Kuanyama","kum":"Kumyk","kru":"Kurukh","kut":"Kutenai","lad":"Ladino","lah":"Lahnda","lam":"Lamba","ltg":"Latgalian","lzz":"Laz","lez":"Lezghian","lij":"Ligurian","li":"Limburgish","lfn":"Lingua Franca Nova","lzh":"Literary Chinese","liv":"Livonian","jbo":"Lojban","lmo":"Lombard","nds":"Low German","sli":"Lower Silesian","loz":"Lozi","lua":"Luba-Lulua","lui":"Luiseno","lun":"Lunda","mde":"Maba","mad":"Madurese","maf":"Mafa","mag":"Magahi","vmf":"Main-Franconian","mai":"Maithili","mak":"Makasar","mnc":"Manchu","mdr":"Mandar","man":"Mandingo","mni":"Manipuri","chm":"Mari","mh":"Marshallese","mwr":"Marwari","mzn":"Mazanderani","byv":"Medumba","men":"Mende","mwv":"Mentawai","mic":"Micmac","dum":"Middle Dutch","enm":"Middle English","frm":"Middle French","gmh":"Middle High German","mga":"Middle Irish","nan":"Min Nan Chinese","min":"Minangkabau","xmf":"Mingrelian","mwl":"Mirandese","lus":"Mizo","mdf":"Moksha","ro_MD":"Moldavian","lol":"Mongo","ary":"Moroccan Arabic","mos":"Mossi","mul":"Multiple Languages","ttt":"Muslim Tat","mye":"Myene","na":"Nauru","nv":"Navajo","ng":"Ndonga","nap":"Neapolitan","new":"Newari","sba":"Ngambay","nnh":"Ngiemboon","yrl":"Nheengatu","nia":"Nias","niu":"Niuean","nog":"Nogai","frr":"Northern Frisian","nso":"Northern Sotho","no":"Norwegian","nov":"Novial","nym":"Nyamwezi","ny":"Nyanja","tog":"Nyasa Tonga","nyo":"Nyoro","nzi":"Nzima","oc":"Occitan","oj":"Ojibwa","ang":"Old English","fro":"Old French","goh":"Old High German","sga":"Old Irish","non":"Old Norse","peo":"Old Persian","pro":"Old Proven\u00e7al","osa":"Osage","os":"Ossetic","ota":"Ottoman Turkish","pal":"Pahlavi","pfl":"Palatine German","pau":"Palauan","pi":"Pali","pam":"Pampanga","pag":"Pangasinan","pap":"Papiamento","pdc":"Pennsylvania German","phn":"Phoenician","pcd":"Picard","pms":"Piedmontese","pdt":"Plautdietsch","pon":"Pohnpeian","pnt":"Pontic","prg":"Prussian","raj":"Rajasthani","rap":"Rapanui","rar":"Rarotongan","rif":"Riffian","rgn":"Romagnol","rom":"Romany","root":"Root","rtm":"Rotuman","rug":"Roviana","rue":"Rusyn","ssy":"Saho","sah":"Sakha","sam":"Samaritan Aramaic","sm":"Samoan","sgs":"Samogitian","sad":"Sandawe","sat":"Santali","sc":"Sardinian","sas":"Sasak","sdc":"Sassarese Sardinian","stq":"Saterland Frisian","saz":"Saurashtra","sco":"Scots","gd":"Scottish Gaelic","sly":"Selayar","sel":"Selkup","see":"Seneca","sh":"Serbo-Croatian","srr":"Serer","sei":"Seri","shn":"Shan","scn":"Sicilian","sid":"Sidamo","bla":"Siksika","szl":"Silesian","den":"Slave","sog":"Sogdien","snk":"Soninke","azb":"South Azerbaijani","nr":"South Ndebele","alt":"Southern Altai","st":"Southern Sotho","srn":"Sranan Tongo","suk":"Sukuma","sux":"Sumerian","sus":"Susu","ss":"Swati","syr":"Syriac","tl":"Tagalog","ty":"Tahitian","tly":"Talysh","tmh":"Tamashek","trv":"Taroko","ter":"Tereno","tet":"Tetum","tig":"Tigre","tem":"Timne","tiv":"Tiv","tli":"Tlingit","tpi":"Tok Pisin","tkl":"Tokelau","fit":"Tornedalen Finnish","tkr":"Tsakhur","tsd":"Tsakonian","tsi":"Tsimshian","ts":"Tsonga","tn":"Tswana","tcy":"Tulu","tum":"Tumbuka","tru":"Turoyo","tvl":"Tuvalu","tyv":"Tuvinian","tw":"Twi","kcg":"Tyap","udm":"Udmurt","uga":"Ugaritic","umb":"Umbundu","ve":"Venda","vec":"Venetian","vep":"Veps","vo":"Volap\u00fck","vro":"V\u00f5ro","vot":"Votic","wa":"Walloon","wae":"Walser","war":"Waray","wbp":"Warlpiri","was":"Washo","guc":"Wayuu","vls":"West Flemish","mrj":"Western Mari","wal":"Wolaytta","wuu":"Wu Chinese","hsn":"Xiang Chinese","yav":"Yangben","yao":"Yao","yap":"Yapese","ybb":"Yemba","yi":"Yiddish","zap":"Zapotec","zza":"Zaza","zea":"Zeelandic","zen":"Zenaga","za":"Zhuang","gbz":"Zoroastrian Dari","zun":"Zuni"} \ No newline at end of file diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json new file mode 100644 index 00000000..d1ff296c --- /dev/null +++ b/public/intl/messages/am-ET.json @@ -0,0 +1,854 @@ +{ + "label.accounts": [ + { + "type": 0, + "value": "Accounts" + } + ], + "label.add-account": [ + { + "type": 0, + "value": "Add account" + } + ], + "label.add-column": [ + { + "type": 0, + "value": "Add column" + } + ], + "label.add-filter": [ + { + "type": 0, + "value": "Add filter" + } + ], + "label.add-website": [ + { + "type": 0, + "value": "Add website" + } + ], + "label.administrator": [ + { + "type": 0, + "value": "Administrator" + } + ], + "label.all": [ + { + "type": 0, + "value": "All" + } + ], + "label.all-time": [ + { + "type": 0, + "value": "All time" + } + ], + "label.all-websites": [ + { + "type": 0, + "value": "All websites" + } + ], + "label.back": [ + { + "type": 0, + "value": "Back" + } + ], + "label.cancel": [ + { + "type": 0, + "value": "Cancel" + } + ], + "label.change-password": [ + { + "type": 0, + "value": "Change password" + } + ], + "label.confirm-password": [ + { + "type": 0, + "value": "Confirm password" + } + ], + "label.copy-to-clipboard": [ + { + "type": 0, + "value": "Copy to clipboard" + } + ], + "label.current-password": [ + { + "type": 0, + "value": "Current password" + } + ], + "label.custom-range": [ + { + "type": 0, + "value": "Custom range" + } + ], + "label.dashboard": [ + { + "type": 0, + "value": "Dashboard" + } + ], + "label.date-range": [ + { + "type": 0, + "value": "Date range" + } + ], + "label.default-date-range": [ + { + "type": 0, + "value": "Default date range" + } + ], + "label.delete": [ + { + "type": 0, + "value": "Delete" + } + ], + "label.delete-account": [ + { + "type": 0, + "value": "Delete account" + } + ], + "label.delete-website": [ + { + "type": 0, + "value": "Delete website" + } + ], + "label.dismiss": [ + { + "type": 0, + "value": "Dismiss" + } + ], + "label.domain": [ + { + "type": 0, + "value": "Domain" + } + ], + "label.edit": [ + { + "type": 0, + "value": "Edit" + } + ], + "label.edit-account": [ + { + "type": 0, + "value": "Edit account" + } + ], + "label.edit-website": [ + { + "type": 0, + "value": "Edit website" + } + ], + "label.enable-share-url": [ + { + "type": 0, + "value": "Enable share URL" + } + ], + "label.event-data": [ + { + "type": 0, + "value": "Event Data" + } + ], + "label.field-name": [ + { + "type": 0, + "value": "Field Name" + } + ], + "label.invalid": [ + { + "type": 0, + "value": "Invalid" + } + ], + "label.invalid-domain": [ + { + "type": 0, + "value": "Invalid domain" + } + ], + "label.language": [ + { + "type": 0, + "value": "Language" + } + ], + "label.last-days": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " days" + } + ], + "label.last-hours": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " hours" + } + ], + "label.logged-in-as": [ + { + "type": 0, + "value": "Logged in as " + }, + { + "type": 1, + "value": "username" + } + ], + "label.login": [ + { + "type": 0, + "value": "Login" + } + ], + "label.logout": [ + { + "type": 0, + "value": "Logout" + } + ], + "label.more": [ + { + "type": 0, + "value": "More" + } + ], + "label.name": [ + { + "type": 0, + "value": "Name" + } + ], + "label.new-password": [ + { + "type": 0, + "value": "New password" + } + ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], + "label.owner": [ + { + "type": 0, + "value": "Owner" + } + ], + "label.password": [ + { + "type": 0, + "value": "Password" + } + ], + "label.passwords-dont-match": [ + { + "type": 0, + "value": "Passwords don't match" + } + ], + "label.profile": [ + { + "type": 0, + "value": "Profile" + } + ], + "label.realtime": [ + { + "type": 0, + "value": "Realtime" + } + ], + "label.realtime-logs": [ + { + "type": 0, + "value": "Realtime logs" + } + ], + "label.refresh": [ + { + "type": 0, + "value": "Refresh" + } + ], + "label.required": [ + { + "type": 0, + "value": "Required" + } + ], + "label.reset": [ + { + "type": 0, + "value": "Reset" + } + ], + "label.reset-website": [ + { + "type": 0, + "value": "Reset statistics" + } + ], + "label.save": [ + { + "type": 0, + "value": "Save" + } + ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], + "label.settings": [ + { + "type": 0, + "value": "Settings" + } + ], + "label.share-url": [ + { + "type": 0, + "value": "Share URL" + } + ], + "label.single-day": [ + { + "type": 0, + "value": "Single day" + } + ], + "label.theme": [ + { + "type": 0, + "value": "Theme" + } + ], + "label.this-month": [ + { + "type": 0, + "value": "This month" + } + ], + "label.this-week": [ + { + "type": 0, + "value": "This week" + } + ], + "label.this-year": [ + { + "type": 0, + "value": "This year" + } + ], + "label.timezone": [ + { + "type": 0, + "value": "Timezone" + } + ], + "label.today": [ + { + "type": 0, + "value": "Today" + } + ], + "label.tracking-code": [ + { + "type": 0, + "value": "Tracking code" + } + ], + "label.type": [ + { + "type": 0, + "value": "Type" + } + ], + "label.unknown": [ + { + "type": 0, + "value": "Unknown" + } + ], + "label.username": [ + { + "type": 0, + "value": "Username" + } + ], + "label.value": [ + { + "type": 0, + "value": "Value" + } + ], + "label.view-details": [ + { + "type": 0, + "value": "View details" + } + ], + "label.websites": [ + { + "type": 0, + "value": "Websites" + } + ], + "label.yesterday": [ + { + "type": 0, + "value": "Yesterday" + } + ], + "message.active-users": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " current " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "visitor" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "visitors" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "message.confirm-delete": [ + { + "type": 0, + "value": "Are you sure you want to delete " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-reset": [ + { + "type": 0, + "value": "Are you sure you want to reset " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "'s statistics?" + } + ], + "message.copied": [ + { + "type": 0, + "value": "Copied!" + } + ], + "message.delete-warning": [ + { + "type": 0, + "value": "All associated data will be deleted as well." + } + ], + "message.edit-dashboard": [ + { + "type": 0, + "value": "Edit dashboard" + } + ], + "message.failure": [ + { + "type": 0, + "value": "Something went wrong." + } + ], + "message.get-share-url": [ + { + "type": 0, + "value": "Get share URL" + } + ], + "message.get-tracking-code": [ + { + "type": 0, + "value": "Get tracking code" + } + ], + "message.go-to-settings": [ + { + "type": 0, + "value": "Go to settings" + } + ], + "message.incorrect-username-password": [ + { + "type": 0, + "value": "Incorrect username/password." + } + ], + "message.log.visitor": [ + { + "type": 0, + "value": "Visitor from " + }, + { + "type": 1, + "value": "country" + }, + { + "type": 0, + "value": " using " + }, + { + "type": 1, + "value": "browser" + }, + { + "type": 0, + "value": " on " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "device" + } + ], + "message.new-version-available": [ + { + "type": 0, + "value": "A new version of umami " + }, + { + "type": 1, + "value": "version" + }, + { + "type": 0, + "value": " is available!" + } + ], + "message.no-data-available": [ + { + "type": 0, + "value": "No data available." + } + ], + "message.no-websites-configured": [ + { + "type": 0, + "value": "You don't have any websites configured." + } + ], + "message.page-not-found": [ + { + "type": 0, + "value": "Page not found." + } + ], + "message.powered-by": [ + { + "type": 0, + "value": "Powered by " + }, + { + "type": 1, + "value": "name" + } + ], + "message.reset-warning": [ + { + "type": 0, + "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + } + ], + "message.save-success": [ + { + "type": 0, + "value": "Saved successfully." + } + ], + "message.share-url": [ + { + "type": 0, + "value": "This is the publicly shared URL for " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "." + } + ], + "message.toggle-charts": [ + { + "type": 0, + "value": "Toggle charts" + } + ], + "message.track-stats": [ + { + "type": 0, + "value": "To track stats for " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": ", place the following code in the " + }, + { + "type": 1, + "value": "head" + }, + { + "type": 0, + "value": " section of your website." + } + ], + "message.type-delete": [ + { + "type": 0, + "value": "Type " + }, + { + "type": 1, + "value": "delete" + }, + { + "type": 0, + "value": " in the box below to confirm." + } + ], + "message.type-reset": [ + { + "type": 0, + "value": "Type " + }, + { + "type": 1, + "value": "reset" + }, + { + "type": 0, + "value": " in the box below to confirm." + } + ], + "metrics.actions": [ + { + "type": 0, + "value": "Actions" + } + ], + "metrics.average-visit-time": [ + { + "type": 0, + "value": "Average visit time" + } + ], + "metrics.bounce-rate": [ + { + "type": 0, + "value": "Bounce rate" + } + ], + "metrics.browsers": [ + { + "type": 0, + "value": "Browsers" + } + ], + "metrics.countries": [ + { + "type": 0, + "value": "Countries" + } + ], + "metrics.device.desktop": [ + { + "type": 0, + "value": "Desktop" + } + ], + "metrics.device.laptop": [ + { + "type": 0, + "value": "Laptop" + } + ], + "metrics.device.mobile": [ + { + "type": 0, + "value": "Mobile" + } + ], + "metrics.device.tablet": [ + { + "type": 0, + "value": "Tablet" + } + ], + "metrics.devices": [ + { + "type": 0, + "value": "Devices" + } + ], + "metrics.events": [ + { + "type": 0, + "value": "Events" + } + ], + "metrics.filter.combined": [ + { + "type": 0, + "value": "Combined" + } + ], + "metrics.filter.raw": [ + { + "type": 0, + "value": "Raw" + } + ], + "metrics.languages": [ + { + "type": 0, + "value": "Languages" + } + ], + "metrics.operating-systems": [ + { + "type": 0, + "value": "Operating systems" + } + ], + "metrics.page-views": [ + { + "type": 0, + "value": "Page views" + } + ], + "metrics.pages": [ + { + "type": 0, + "value": "Pages" + } + ], + "metrics.query-parameters": [ + { + "type": 0, + "value": "Query parameters" + } + ], + "metrics.referrers": [ + { + "type": 0, + "value": "Referrers" + } + ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], + "metrics.unique-visitors": [ + { + "type": 0, + "value": "Unique visitors" + } + ], + "metrics.views": [ + { + "type": 0, + "value": "Views" + } + ], + "metrics.visitors": [ + { + "type": 0, + "value": "Visitors" + } + ] +} \ No newline at end of file diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index c37ca777..5ecfac6d 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -502,6 +502,12 @@ "value": "Svetainės" } ], + "label.yesterday": [ + { + "type": 0, + "value": "Vakar" + } + ], "message.active-users": [ { "offset": 0, diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index 1cbc9035..82898fbd 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -1,627 +1,842 @@ { - "label.accounts": [{ - "type": 0, - "value": "ගිණුම්" - }], - "label.add-account": [{ - "type": 0, - "value": "ගිණුම එකතු කරන්න" - }], - "label.add-column": [{ - "type": 0, - "value": "තීරුව එක් කරන්න" - }], - "label.add-filter": [{ - "type": 0, - "value": "පෙරහන එකතු කරන්න" - }], - "label.add-website": [{ - "type": 0, - "value": "වෙබ් අඩවිය එක් කරන්න" - }], - "label.administrator": [{ - "type": 0, - "value": "පරිපාලක" - }], - "label.all": [{ - "type": 0, - "value": "සියල්ල" - }], - "label.all-time": [{ - "type": 0, - "value": "හැම වෙලාවෙම" - }], - "label.all-websites": [{ - "type": 0, - "value": "සියලුම වෙබ් අඩවි" - }], - "label.back": [{ - "type": 0, - "value": "ආපසු" - }], - "label.cancel": [{ - "type": 0, - "value": "අවලංගු කරන්න" - }], - "label.change-password": [{ - "type": 0, - "value": "මුරපදය වෙනස් කරන්න" - }], - "label.confirm-password": [{ - "type": 0, - "value": "මුරපදය සත්‍යාපනය කරන්න" - }], - "label.copy-to-clipboard": [{ - "type": 0, - "value": "පසුරු පුවරුවට පිටපත් කරන්න" - }], - "label.current-password": [{ - "type": 0, - "value": "වත්මන් මුරපදය" - }], - "label.custom-range": [{ - "type": 0, - "value": "අභිරුචි පරාසය" - }], - "label.dashboard": [{ - "type": 0, - "value": "පුවරුව" - }], - "label.date-range": [{ - "type": 0, - "value": "දින පරාසය" - }], - "label.default-date-range": [{ - "type": 0, - "value": "පෙරනිමි දින පරාසය" - }], - "label.delete": [{ - "type": 0, - "value": "මකන්න" - }], - "label.delete-account": [{ - "type": 0, - "value": "ගිණුම මකන්න" - }], - "label.delete-website": [{ - "type": 0, - "value": "වෙබ් අඩවිය මකන්න" - }], - "label.dismiss": [{ - "type": 0, - "value": "මගහරින්න" - }], - "label.domain": [{ - "type": 0, - "value": "වසම" - }], - "label.edit": [{ - "type": 0, - "value": "සංස්කරණය කරන්න" - }], - "label.edit-account": [{ - "type": 0, - "value": "ගිණුම සංස්කරණය කරන්න" - }], - "label.edit-website": [{ - "type": 0, - "value": "වෙබ් අඩවිය සංස්කරණය කරන්න" - }], - "label.enable-share-url": [{ - "type": 0, - "value": "බෙදාගැනීමේ URL සබල කරන්න" - }], - "label.event-data": [{ - "type": 0, - "value": "සිදුවීම් දත්ත" - }], - "label.field-name": [{ - "type": 0, - "value": "ක්ෂේත්‍ර නාම" - }], - "label.invalid": [{ - "type": 0, - "value": "වලංගු නැත" - }], - "label.invalid-domain": [{ - "type": 0, - "value": "වලංගු නොවන වසමක්" - }], - "label.language": [{ - "type": 0, - "value": "භාෂාව" - }], - "label.last-days": [{ - "type": 0, - "value": "අන්තිම " + "label.accounts": [ + { + "type": 0, + "value": "ගිණුම්" + } + ], + "label.add-account": [ + { + "type": 0, + "value": "ගිණුම එකතු කරන්න" + } + ], + "label.add-column": [ + { + "type": 0, + "value": "තීරුව එක් කරන්න" + } + ], + "label.add-filter": [ + { + "type": 0, + "value": "පෙරහන එකතු කරන්න" + } + ], + "label.add-website": [ + { + "type": 0, + "value": "වෙබ් අඩවිය එක් කරන්න" + } + ], + "label.administrator": [ + { + "type": 0, + "value": "පරිපාලක" + } + ], + "label.all": [ + { + "type": 0, + "value": "සියල්ල" + } + ], + "label.all-time": [ + { + "type": 0, + "value": "හැම වෙලාවෙම" + } + ], + "label.all-websites": [ + { + "type": 0, + "value": "සියලුම වෙබ් අඩවි" + } + ], + "label.back": [ + { + "type": 0, + "value": "ආපසු" + } + ], + "label.cancel": [ + { + "type": 0, + "value": "අවලංගු කරන්න" + } + ], + "label.change-password": [ + { + "type": 0, + "value": "මුරපදය වෙනස් කරන්න" + } + ], + "label.confirm-password": [ + { + "type": 0, + "value": "මුරපදය සත්‍යාපනය කරන්න" + } + ], + "label.copy-to-clipboard": [ + { + "type": 0, + "value": "පසුරු පුවරුවට පිටපත් කරන්න" + } + ], + "label.current-password": [ + { + "type": 0, + "value": "වත්මන් මුරපදය" + } + ], + "label.custom-range": [ + { + "type": 0, + "value": "අභිරුචි පරාසය" + } + ], + "label.dashboard": [ + { + "type": 0, + "value": "උපකරණ පුවරුව" + } + ], + "label.date-range": [ + { + "type": 0, + "value": "දින පරාසය" + } + ], + "label.default-date-range": [ + { + "type": 0, + "value": "පෙරනිමි දින පරාසය" + } + ], + "label.delete": [ + { + "type": 0, + "value": "මකන්න" + } + ], + "label.delete-account": [ + { + "type": 0, + "value": "ගිණුම මකන්න" + } + ], + "label.delete-website": [ + { + "type": 0, + "value": "වෙබ් අඩවිය මකන්න" + } + ], + "label.dismiss": [ + { + "type": 0, + "value": "මගහරින්න" + } + ], + "label.domain": [ + { + "type": 0, + "value": "වසම" + } + ], + "label.edit": [ + { + "type": 0, + "value": "සංස්කරණය කරන්න" + } + ], + "label.edit-account": [ + { + "type": 0, + "value": "ගිණුම සංස්කරණය කරන්න" + } + ], + "label.edit-website": [ + { + "type": 0, + "value": "වෙබ් අඩවිය සංස්කරණය කරන්න" + } + ], + "label.enable-share-url": [ + { + "type": 0, + "value": "බෙදාගැනීමේ URL සබල කරන්න" + } + ], + "label.event-data": [ + { + "type": 0, + "value": "සිදුවීම් දත්ත" + } + ], + "label.field-name": [ + { + "type": 0, + "value": "ක්ෂේත්‍ර නාම" + } + ], + "label.invalid": [ + { + "type": 0, + "value": "වලංගු නැත" + } + ], + "label.invalid-domain": [ + { + "type": 0, + "value": "වලංගු නොවන වසමක්" + } + ], + "label.language": [ + { + "type": 0, + "value": "භාෂාව" + } + ], + "label.last-days": [ + { + "type": 0, + "value": "අන්තිම " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " දින" + } + ], + "label.last-hours": [ + { + "type": 0, + "value": "අන්තිම " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " පැය" + } + ], + "label.logged-in-as": [ + { + "type": 0, + "value": "ලොග් වී ඇත්තේ " + }, + { + "type": 1, + "value": "username" + } + ], + "label.login": [ + { + "type": 0, + "value": "ලොග් වෙන්න" + } + ], + "label.logout": [ + { + "type": 0, + "value": "පිටවීම" + } + ], + "label.more": [ + { + "type": 0, + "value": "තවත්" + } + ], + "label.name": [ + { + "type": 0, + "value": "නම" + } + ], + "label.new-password": [ + { + "type": 0, + "value": "අලුත් මුරපදය" + } + ], + "label.none": [ + { + "type": 0, + "value": "කිසිවක් නැත" + } + ], + "label.owner": [ + { + "type": 0, + "value": "හිමිකරු" + } + ], + "label.password": [ + { + "type": 0, + "value": "මුරපදය" + } + ], + "label.passwords-dont-match": [ + { + "type": 0, + "value": "මුරපද නොගැලපේ" + } + ], + "label.profile": [ + { + "type": 0, + "value": "පැතිකඩ" + } + ], + "label.realtime": [ + { + "type": 0, + "value": "තත්ය කාල" + } + ], + "label.realtime-logs": [ + { + "type": 0, + "value": "තත්‍ය කාලීන ලොග්" + } + ], + "label.refresh": [ + { + "type": 0, + "value": "නැවුම් කරන්න" + } + ], + "label.required": [ + { + "type": 0, + "value": "අවශ්‍යයි" + } + ], + "label.reset": [ + { + "type": 0, + "value": "යළි පිහිටුවන්න" + } + ], + "label.reset-website": [ + { + "type": 0, + "value": "සංඛ්යා ලේඛන නැවත සකසන්න" + } + ], + "label.save": [ + { + "type": 0, + "value": "සුරකින්න" + } + ], + "label.search": [ + { + "type": 0, + "value": "සෙවීම" + } + ], + "label.settings": [ + { + "type": 0, + "value": "සැකසුම්" + } + ], + "label.share-url": [ + { + "type": 0, + "value": "බෙදාගැනීමේ URL" + } + ], + "label.single-day": [ + { + "type": 0, + "value": "තනි දවස" + } + ], + "label.theme": [ + { + "type": 0, + "value": "තේමාව" + } + ], + "label.this-month": [ + { + "type": 0, + "value": "මෙ මාසය" + } + ], + "label.this-week": [ + { + "type": 0, + "value": "මේ සතිය" + } + ], + "label.this-year": [ + { + "type": 0, + "value": "මේ අවුරුද්ද" + } + ], + "label.timezone": [ + { + "type": 0, + "value": "වේලා කලාපය" + } + ], + "label.today": [ + { + "type": 0, + "value": "අද" + } + ], + "label.tracking-code": [ + { + "type": 0, + "value": "ලුහුබැඳීමේ කේතය" + } + ], + "label.type": [ + { + "type": 0, + "value": "වර්ගය" + } + ], + "label.unknown": [ + { + "type": 0, + "value": "නොදනී" + } + ], + "label.username": [ + { + "type": 0, + "value": "පරිශීලක නාමය" + } + ], + "label.value": [ + { + "type": 0, + "value": "වටිනාකම" + } + ], + "label.view-details": [ + { + "type": 0, + "value": "තොරතුරු පෙන්වන්න" + } + ], + "label.websites": [ + { + "type": 0, + "value": "වෙබ් අඩවි" + } + ], + "label.yesterday": [ + { + "type": 0, + "value": "ඊයේ" + } + ], + "message.active-users": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " දැන් " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "අමුත්තා" + } + ] }, - { - "type": 1, - "value": "x" - }, - { - "type": 0, - "value": " දින" + "other": { + "value": [ + { + "type": 0, + "value": "අමුත්තන්" + } + ] } - ], - "label.last-hours": [{ - "type": 0, - "value": "අන්තිම " - }, - { - "type": 1, - "value": "x" - }, - { - "type": 0, - "value": " පැය" - } - ], - "label.logged-in-as": [{ - "type": 0, - "value": "ලොග් වී ඇත්තේ " - }, - { - "type": 1, - "value": "username" - } - ], - "label.login": [{ - "type": 0, - "value": "ලොග් වෙන්න" - }], - "label.logout": [{ - "type": 0, - "value": "පිටවීම" - }], - "label.more": [{ - "type": 0, - "value": "තවත්" - }], - "label.name": [{ - "type": 0, - "value": "නම" - }], - "label.new-password": [{ - "type": 0, - "value": "අලුත් මුරපදය" - }], - "label.none": [{ - "type": 0, - "value": "කිසිවක් නැත" - }], - "label.owner": [{ - "type": 0, - "value": "හිමිකරු" - }], - "label.password": [{ - "type": 0, - "value": "මුරපදය" - }], - "label.passwords-dont-match": [{ - "type": 0, - "value": "මුරපද නොගැලපේ" - }], - "label.profile": [{ - "type": 0, - "value": "පැතිකඩ" - }], - "label.realtime": [{ - "type": 0, - "value": "තත්ය කාල" - }], - "label.realtime-logs": [{ - "type": 0, - "value": "තත්‍ය කාලීන ලොග්" - }], - "label.refresh": [{ - "type": 0, - "value": "නැවුම් කරන්න" - }], - "label.required": [{ - "type": 0, - "value": "අවශ්‍යයි" - }], - "label.reset": [{ - "type": 0, - "value": "යළි පිහිටුවන්න" - }], - "label.reset-website": [{ - "type": 0, - "value": "සංඛ්යා ලේඛන නැවත සකසන්න" - }], - "label.save": [{ - "type": 0, - "value": "සුරකින්න" - }], - "label.search": [{ - "type": 0, - "value": "සෙවීම" - }], - "label.settings": [{ - "type": 0, - "value": "සැකසුම්" - }], - "label.share-url": [{ - "type": 0, - "value": "බෙදාගැනීමේ URL" - }], - "label.single-day": [{ - "type": 0, - "value": "තනි දවස" - }], - "label.theme": [{ - "type": 0, - "value": "තේමාව" - }], - "label.this-month": [{ - "type": 0, - "value": "මෙ මාසය" - }], - "label.this-week": [{ - "type": 0, - "value": "මේ සතිය" - }], - "label.this-year": [{ - "type": 0, - "value": "මේ අවුරුද්ද" - }], - "label.timezone": [{ - "type": 0, - "value": "වේලා කලාපය" - }], - "label.today": [{ - "type": 0, - "value": "අද" - }], - "label.tracking-code": [{ - "type": 0, - "value": "ලුහුබැඳීමේ කේතය" - }], - "label.type": [{ - "type": 0, - "value": "වර්ගය" - }], - "label.unknown": [{ - "type": 0, - "value": "නොදනී" - }], - "label.username": [{ - "type": 0, - "value": "පරිශීලක නාමය" - }], - "label.value": [{ - "type": 0, - "value": "වටිනාකම" - }], - "label.view-details": [{ - "type": 0, - "value": "තොරතුරු පෙන්වන්න" - }], - "label.websites": [{ - "type": 0, - "value": "වෙබ් අඩවි" - }], - "label.yesterday": [{ - "type": 0, - "value": "ඊයේ" - }], - "message.active-users": [{ - "type": 1, - "value": "x" - }, - { - "type": 0, - "value": " දැන් " - }, - { - "offset": 0, - "options": { - "one": { - "value": [{ - "type": 0, - "value": "අමුත්තා" - }] - }, - "other": { - "value": [{ - "type": 0, - "value": "අමුත්තන්" - }] - } - }, - "pluralType": "cardinal", - "type": 6, - "value": "x" - } - ], - "message.confirm-delete": [{ - "type": 0, - "value": "මකා දැමීම ගැන විශ්වාසද? " - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": "?" - } - ], - "message.confirm-reset": [{ - "type": 0, - "value": "" - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": " ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?" - } - ], - "message.copied": [{ - "type": 0, - "value": "පිටපත් කරගත්තා!" - }], - "message.delete-warning": [{ - "type": 0, - "value": "සියලුම ආශ්‍රිත දත්ත ද මකා දැමෙනු ඇත." - }], - "message.edit-dashboard": [{ - "type": 0, - "value": "උපකරණ පුවරුව සංස්කරණය කරන්න" - }], - "message.failure": [{ - "type": 0, - "value": "යම් ගැටලුවක් මතු වී ඇත." - }], - "message.get-share-url": [{ - "type": 0, - "value": "බෙදාගැනීමේ URL ලබා ගන්න" - }], - "message.get-tracking-code": [{ - "type": 0, - "value": "ලුහුබැඳීමේ කේතය ලබා ගන්න" - }], - "message.go-to-settings": [{ - "type": 0, - "value": "සැකසීම් වෙත යන්න" - }], - "message.incorrect-username-password": [{ - "type": 0, - "value": "වැරදි පරිශීලක නාමය/මුරපදය." - }], - "message.log.visitor": [{ - "type": 0, - "value": "Visitor from " - }, - { - "type": 1, - "value": "country" - }, - { - "type": 0, - "value": " using " - }, - { - "type": 1, - "value": "browser" - }, - { - "type": 0, - "value": " on " - }, - { - "type": 1, - "value": "os" - }, - { - "type": 0, - "value": " " - }, - { - "type": 1, - "value": "device" - } - ], - "message.new-version-available": [{ - "type": 0, - "value": "A new version of umami " - }, - { - "type": 1, - "value": "version" - }, - { - "type": 0, - "value": " is available!" - } - ], - "message.no-data-available": [{ - "type": 0, - "value": "පෙන්වීමට දත්ත නොමැත." - }], - "message.no-websites-configured": [{ - "type": 0, - "value": "ඔබට වින්‍යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත." - }], - "message.page-not-found": [{ - "type": 0, - "value": "පිටුව හමු නොවීය." - }], - "message.powered-by": [{ - "type": 0, - "value": "බල ගැන්වුයේ " - }, - { - "type": 1, - "value": "name" - } - ], - "message.reset-warning": [{ - "type": 0, - "value": "සියලුම සංඛ්‍යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත." - }], - "message.save-success": [{ - "type": 0, - "value": "සාර්තකව සුරැකිණි." - }], - "message.share-url": [{ - "type": 0, - "value": "This is the publicly shared URL for " - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": "." - } - ], - "message.toggle-charts": [{ - "type": 0, - "value": "ප්‍රස්ථාර ටොගල් කරන්න" - }], - "message.track-stats": [{ - "type": 0, - "value": "To track stats for " - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": ", place the following code in the " - }, - { - "type": 1, - "value": "head" - }, - { - "type": 0, - "value": " section of your website." - } - ], - "message.type-delete": [{ - "type": 0, - "value": "Type " - }, - { - "type": 1, - "value": "delete" - }, - { - "type": 0, - "value": " in the box below to confirm." - } - ], - "message.type-reset": [{ - "type": 0, - "value": "Type " - }, - { - "type": 1, - "value": "reset" - }, - { - "type": 0, - "value": " in the box below to confirm." - } - ], - "metrics.actions": [{ - "type": 0, - "value": "ක්රියාවන්" - }], - "metrics.average-visit-time": [{ - "type": 0, - "value": "සාමාන්‍ය සංචාර කාලය" - }], - "metrics.bounce-rate": [{ - "type": 0, - "value": "හැරී යන ප්‍රමාණය" - }], - "metrics.browsers": [{ - "type": 0, - "value": "බ්‍රව්සර්" - }], - "metrics.countries": [{ - "type": 0, - "value": "රටවල්" - }], - "metrics.device.desktop": [{ - "type": 0, - "value": "ඩෙස්ක්ටොප්" - }], - "metrics.device.laptop": [{ - "type": 0, - "value": "ලැප්ටොප්" - }], - "metrics.device.mobile": [{ - "type": 0, - "value": "ජංගම" - }], - "metrics.device.tablet": [{ - "type": 0, - "value": "ටැබ්ලට්" - }], - "metrics.devices": [{ - "type": 0, - "value": "උපකරණ" - }], - "metrics.events": [{ - "type": 0, - "value": "සිද්ධීන්" - }], - "metrics.filter.combined": [{ - "type": 0, - "value": "ඒකාබද්ධ" - }], - "metrics.filter.raw": [{ - "type": 0, - "value": "අමු" - }], - "metrics.languages": [{ - "type": 0, - "value": "භාෂා" - }], - "metrics.operating-systems": [{ - "type": 0, - "value": "මෙහෙයුම් පද්ධති" - }], - "metrics.page-views": [{ - "type": 0, - "value": "පිටු බැලීම්" - }], - "metrics.pages": [{ - "type": 0, - "value": "පිටු" - }], - "metrics.query-parameters": [{ - "type": 0, - "value": "විමසුම් පරාමිතීන්" - }], - "metrics.referrers": [{ - "type": 0, - "value": "යොමු කරන්නන්" - }], - "metrics.screens": [{ - "type": 0, - "value": "තිර" - }], - "metrics.unique-visitors": [{ - "type": 0, - "value": "අලුත්ම අමුත්තන්" - }], - "metrics.views": [{ - "type": 0, - "value": "බැලූ ගණන" - }], - "metrics.visitors": [{ - "type": 0, - "value": "අමුත්තන්" - }] + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "message.confirm-delete": [ + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " මකා දැමීම ගැන විශ්වාසද?" + } + ], + "message.confirm-reset": [ + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?" + } + ], + "message.copied": [ + { + "type": 0, + "value": "පිටපත් කරගත්තා!" + } + ], + "message.delete-warning": [ + { + "type": 0, + "value": "සියලුම ආශ්‍රිත දත්ත ද මකා දැමෙනු ඇත." + } + ], + "message.edit-dashboard": [ + { + "type": 0, + "value": "උපකරණ පුවරුව සංස්කරණය කරන්න" + } + ], + "message.failure": [ + { + "type": 0, + "value": "යම් ගැටලුවක් මතු වී ඇත." + } + ], + "message.get-share-url": [ + { + "type": 0, + "value": "බෙදාගැනීමේ URL ලබා ගන්න" + } + ], + "message.get-tracking-code": [ + { + "type": 0, + "value": "ලුහුබැඳීමේ කේතය ලබා ගන්න" + } + ], + "message.go-to-settings": [ + { + "type": 0, + "value": "සැකසීම් වෙත යන්න" + } + ], + "message.incorrect-username-password": [ + { + "type": 0, + "value": "වැරදි පරිශීලක නාමය/මුරපදය." + } + ], + "message.log.visitor": [ + { + "type": 1, + "value": "country" + }, + { + "type": 0, + "value": " වලින් පැමිණි අමුත්තකු " + }, + { + "type": 1, + "value": "device" + }, + { + "type": 0, + "value": " එකේ, මේ " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " එකේ, මේ " + }, + { + "type": 1, + "value": "browser" + }, + { + "type": 0, + "value": " එකෙන් ඉන්නවා" + } + ], + "message.new-version-available": [ + { + "type": 0, + "value": "umami අලුත්ම " + }, + { + "type": 1, + "value": "version" + }, + { + "type": 0, + "value": " වන අනුවාදය නිකුත් උනා!" + } + ], + "message.no-data-available": [ + { + "type": 0, + "value": "පෙන්වීමට දත්ත නොමැත." + } + ], + "message.no-websites-configured": [ + { + "type": 0, + "value": "ඔබට වින්‍යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත." + } + ], + "message.page-not-found": [ + { + "type": 0, + "value": "පිටුව හමු නොවීය." + } + ], + "message.powered-by": [ + { + "type": 0, + "value": "බල ගැන්වුයේ " + }, + { + "type": 1, + "value": "name" + } + ], + "message.reset-warning": [ + { + "type": 0, + "value": "සියලුම සංඛ්‍යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත." + } + ], + "message.save-success": [ + { + "type": 0, + "value": "සාර්තකව සුරැකිණි." + } + ], + "message.share-url": [ + { + "type": 0, + "value": "මේ " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " සඳහා ප්‍රසිද්ධියේ බෙදාගත් URL එකයි." + } + ], + "message.toggle-charts": [ + { + "type": 0, + "value": "ප්‍රස්ථාර ටොගල් කරන්න" + } + ], + "message.track-stats": [ + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " හි සංඛ්යාලේඛන බැලීම සදහා, පහත කේතය " + }, + { + "type": 1, + "value": "head" + }, + { + "type": 0, + "value": " කොටසට ඇතුලත් කරන්න." + } + ], + "message.type-delete": [ + { + "type": 0, + "value": "සත්‍යාපනය සදහා " + }, + { + "type": 1, + "value": "delete" + }, + { + "type": 0, + "value": " ලෙස පහල කොටුවේ ටයිප් කරන්න" + } + ], + "message.type-reset": [ + { + "type": 0, + "value": "සත්‍යාපනය සදහා " + }, + { + "type": 1, + "value": "reset" + }, + { + "type": 0, + "value": " ලෙස පහල කොටුවේ ටයිප් කරන්න" + } + ], + "metrics.actions": [ + { + "type": 0, + "value": "ක්රියාවන්" + } + ], + "metrics.average-visit-time": [ + { + "type": 0, + "value": "සාමාන්‍ය සංචාර කාලය" + } + ], + "metrics.bounce-rate": [ + { + "type": 0, + "value": "හැරී යන ප්‍රමාණය" + } + ], + "metrics.browsers": [ + { + "type": 0, + "value": "බ්‍රව්සර්" + } + ], + "metrics.countries": [ + { + "type": 0, + "value": "රටවල්" + } + ], + "metrics.device.desktop": [ + { + "type": 0, + "value": "ඩෙස්ක්ටොප්" + } + ], + "metrics.device.laptop": [ + { + "type": 0, + "value": "ලැප්ටොප්" + } + ], + "metrics.device.mobile": [ + { + "type": 0, + "value": "ජංගම" + } + ], + "metrics.device.tablet": [ + { + "type": 0, + "value": "ටැබ්ලට්" + } + ], + "metrics.devices": [ + { + "type": 0, + "value": "උපකරණ" + } + ], + "metrics.events": [ + { + "type": 0, + "value": "සිද්ධීන්" + } + ], + "metrics.filter.combined": [ + { + "type": 0, + "value": "ඒකාබද්ධ" + } + ], + "metrics.filter.raw": [ + { + "type": 0, + "value": "අමු" + } + ], + "metrics.languages": [ + { + "type": 0, + "value": "භාෂා" + } + ], + "metrics.operating-systems": [ + { + "type": 0, + "value": "මෙහෙයුම් පද්ධති" + } + ], + "metrics.page-views": [ + { + "type": 0, + "value": "පිටු බැලීම්" + } + ], + "metrics.pages": [ + { + "type": 0, + "value": "පිටු" + } + ], + "metrics.query-parameters": [ + { + "type": 0, + "value": "විමසුම් පරාමිතීන්" + } + ], + "metrics.referrers": [ + { + "type": 0, + "value": "යොමු කරන්නන්" + } + ], + "metrics.screens": [ + { + "type": 0, + "value": "තිර" + } + ], + "metrics.unique-visitors": [ + { + "type": 0, + "value": "අලුත්ම අමුත්තන්" + } + ], + "metrics.views": [ + { + "type": 0, + "value": "බැලූ ගණන" + } + ], + "metrics.visitors": [ + { + "type": 0, + "value": "අමුත්තන්" + } + ] } \ No newline at end of file diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index 0d1bd0ec..27fd1747 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -11,6 +11,18 @@ "value": "เพิ่มบัญชี" } ], + "label.add-column": [ + { + "type": 0, + "value": "สร้างคอลัมน์" + } + ], + "label.add-filter": [ + { + "type": 0, + "value": "สร้างตัวกรอง" + } + ], "label.add-website": [ { "type": 0, @@ -284,7 +296,7 @@ "label.required": [ { "type": 0, - "value": "ต้องการ" + "value": "จำเป็น" } ], "label.reset": [ @@ -305,6 +317,12 @@ "value": "บันทึก" } ], + "label.search": [ + { + "type": 0, + "value": "ค้นหา" + } + ], "label.settings": [ { "type": 0, @@ -389,6 +407,12 @@ "value": "เว็บไซต์" } ], + "label.yesterday": [ + { + "type": 0, + "value": "เมื่อวาน" + } + ], "message.active-users": [ { "type": 0, @@ -444,7 +468,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "คุณแน่ใจหรือไม่ว่าต้องการรีเซตข้อมูลสถิติของ " + "value": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตข้อมูลสถิติของ " }, { "type": 1, @@ -470,7 +494,7 @@ "message.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "แก้ไขแดชบอร์ด" } ], "message.failure": [ @@ -766,7 +790,7 @@ "metrics.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "พารามิเตอร์ URL" } ], "metrics.referrers": [ From b3c41786ba16b57290130b884f509a33e3af7e45 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 25 Jan 2023 19:47:03 -0800 Subject: [PATCH 31/65] Bump version v1.40.0. --- package.json | 2 +- yarn.lock | 236 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 143 insertions(+), 95 deletions(-) diff --git a/package.json b/package.json index a0ef261e..395d311f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "1.39.5", + "version": "1.40.0", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", diff --git a/yarn.lock b/yarn.lock index 4ff4463c..3455bf70 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1555,37 +1555,37 @@ "@netlify/esbuild-windows-64" "0.14.39" "@netlify/esbuild-windows-arm64" "0.14.39" -"@netlify/functions@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.3.0.tgz#4305a3fb6b49caf56cd2be88d4b8534b1d5aff4f" - integrity sha512-hN/Fgpz8XIOBfsBPLYUMxVKBlCopgeqGB0popayicnmkFLnvKByTTMYgF01wcF9DBtBQdV0H2h1kPFpMl34I8w== +"@netlify/functions@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.4.0.tgz#027a2e5d54df5519ccbd14cf450231e97bbbf93a" + integrity sha512-gy7ULTIRroc2/jyFVGx1djCmmBMVisIwrvkqggq5B6iDcInRSy2Tpkm+V5C63hKJVkNRskKWtLQKm9ecCaQTjA== dependencies: is-promise "^4.0.0" -"@netlify/ipx@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@netlify/ipx/-/ipx-1.3.1.tgz#0330e1e5025ea1a12c3e6fba6a3e0f0d0df741f3" - integrity sha512-kjw26KYM1jLe+bGRnhqxWs0ACG8eg6kN6wV7uqUu1J8dE6QC73ksyVtCA6IAHl3/5qf5RyMUzquNCp0N0+lXEw== +"@netlify/ipx@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@netlify/ipx/-/ipx-1.3.3.tgz#db28352ee1ed86d0b991cb8236f64a4dfbe70b8c" + integrity sha512-2rDdCGPDPW7cyJr57rwfvpouOJx34CLDgfa2yfqTKvPzqCMOqkCi1PN/rHGuvJ/k5trZ8rxmWnnZyEbeQaZcqA== dependencies: - "@netlify/functions" "^1.3.0" + "@netlify/functions" "^1.4.0" etag "^1.8.1" - fs-extra "^10.0.0" + fs-extra "^11.0.0" ipx "^0.9.11" micromatch "^4.0.5" mkdirp "^1.0.4" murmurhash "^2.0.0" node-fetch "^2.0.0" - ufo "^0.8.0" - unstorage "^0.6.0" + ufo "^1.0.0" + unstorage "^1.0.0" "@netlify/plugin-nextjs@^4.27.3": - version "4.28.3" - resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-4.28.3.tgz#e1d3d413a75605efcedc2f3fc27501f9bc8a49e6" - integrity sha512-fA+gOkIowfQVaL1YDF3t+3uCsZ7OEkandLpFIv0D1faA/6Fy7VxCWhAxowRQ6oV3SjYxsV259aRMT0LaRejLMw== + version "4.30.2" + resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-4.30.2.tgz#c783ecb0eb080a1f124fc331360c6403378fca68" + integrity sha512-hqvdHlQEMfpTXh+fM0jwvtKla/gUS4gVKEZeQEkJlCzAJO+8XT2bTFAGrusNHLQ53L081nLXVXx1c+HUo0LFfQ== dependencies: "@netlify/esbuild" "0.14.39" - "@netlify/functions" "^1.3.0" - "@netlify/ipx" "^1.3.1" + "@netlify/functions" "^1.4.0" + "@netlify/ipx" "^1.3.3" "@vercel/node-bridge" "^2.1.0" chalk "^4.1.2" destr "^1.1.1" @@ -2358,9 +2358,9 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: color-convert "^2.0.1" anymatch@^3.1.2, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -3272,10 +3272,10 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -defu@^6.0.0, defu@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.0.tgz#7a5411655da73335c7d933256911f17c74443e2d" - integrity sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw== +defu@^6.0.0, defu@^6.1.0, defu@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.2.tgz#1217cba167410a1765ba93893c6dbac9ed9d9e5c" + integrity sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ== del@^6.0.0: version "6.1.1" @@ -3296,15 +3296,15 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -denque@^2.0.1: +denque@^2.0.1, denque@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz" integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== -destr@^1.1.1, destr@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destr/-/destr-1.2.0.tgz#8adb17fa3861b8032ea1bba92f60ba989a9ff119" - integrity sha512-JG+cG4ZPB1L27sl2C2URg8MIOmIUtTbE5wEx02BpmrTCqg/hXxFKXsYsnODl5PdpqNRaS1KQGUQ56V8jk8XpYQ== +destr@^1.1.1, destr@^1.2.0, destr@^1.2.1, destr@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/destr/-/destr-1.2.2.tgz#7ba9befcafb645a50e76b260449c63927b51e22f" + integrity sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA== detect-browser@^5.2.0: version "5.3.0" @@ -3863,9 +3863,9 @@ fastest-levenshtein@^1.0.16: integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -3983,6 +3983,15 @@ fs-extra@10, fs-extra@^10.0.0, fs-extra@^10.0.1: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" + integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^9.0.0: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" @@ -4066,6 +4075,11 @@ get-port-please@^2.6.1: dependencies: fs-memo "^1.2.0" +get-port-please@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.0.1.tgz#a24953a41dc249f76869ac25e81d6623e61ab010" + integrity sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng== + get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -4187,15 +4201,15 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -h3@^0.8.1: - version "0.8.6" - resolved "https://registry.yarnpkg.com/h3/-/h3-0.8.6.tgz#8095ef998fe14769b87170b7c8b68ba9c54973d5" - integrity sha512-CSWNOKa3QGo67rFU2PhbFTp0uPJtilNji2Z0pMiSRQt3+OkIW0u3E1WMJqIycLqaTgb9JyFqH/S4mcTyyGtvyQ== +h3@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.1.0.tgz#ff10d590005711dfb41034b9b1496d165507b1ea" + integrity sha512-kx3u+RMzY963fU8NNT2ePWgsryAn9DNztPqbHia/M7HgA+rtXKjHjED9/uidcYPmImNwAfJsCachCzh2T3QH2A== dependencies: cookie-es "^0.5.0" - destr "^1.2.0" - radix3 "^0.2.1" - ufo "^0.8.6" + destr "^1.2.2" + radix3 "^1.0.0" + ufo "^1.0.1" har-schema@^2.0.0: version "2.0.0" @@ -4315,9 +4329,9 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== image-meta@^0.1.1: version "0.1.1" @@ -4424,6 +4438,21 @@ ioredis@^5.2.3: redis-parser "^3.0.0" standard-as-callback "^2.1.0" +ioredis@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.3.0.tgz#b5469f0fd374648ef074840c00c1d8eed42fca3f" + integrity sha512-Id9jKHhsILuIZpHc61QkagfVdUj2Rag5GzG1TGEvRNeM7dtTOjICgjC+tvqYxi//PuX2wjQ+Xjva2ONBuf92Pw== + dependencies: + "@ioredis/commands" "^1.1.1" + cluster-key-slot "^1.1.0" + debug "^4.3.4" + denque "^2.1.0" + lodash.defaults "^4.2.0" + lodash.isarguments "^3.1.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + ip-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-5.0.0.tgz#cd313b2ae9c80c07bd3851e12bf4fa4dc5480632" @@ -4912,19 +4941,19 @@ listhen@^0.2.15: selfsigned "^2.0.1" ufo "^0.8.5" -listhen@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/listhen/-/listhen-0.3.4.tgz#5bb0db65dae5f2204ffa7ee46b40f2330854cf7f" - integrity sha512-cuzWWoIWF8JvsPLmIurTkUXi27owH4RRKnBsbPswRJvB82uTv15W01yOOLaPvjxY5mMlftmW2p1XnxB835AdRA== +listhen@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.0.2.tgz#3332af0cf77dd914e12d125c70a9c6aed9537033" + integrity sha512-yXz0NIYfVJDBQK2vlCpD/OjSzYkur2mR44boUtlg0eES4holn7oYZf439y5JxP55EOzFtClZ8eZlMJ8a++FwlQ== dependencies: clipboardy "^3.0.0" colorette "^2.0.19" - defu "^6.1.0" - get-port-please "^2.6.1" + defu "^6.1.2" + get-port-please "^3.0.1" http-shutdown "^1.2.2" ip-regex "^5.0.0" node-forge "^1.3.1" - ufo "^0.8.5" + ufo "^1.0.1" listr2@^3.12.2: version "3.14.0" @@ -5184,9 +5213,9 @@ merge2@^1.3.0, merge2@^1.4.1: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micro-memoize@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/micro-memoize/-/micro-memoize-4.0.11.tgz#f664afc8bd8c11cb2838716a7306d6e1ec205d3a" - integrity sha512-CjxsaYe4j43df32DtzzNCwanPqZjZDwuQAZilsCYpa2ZVtSPDjHXbTlR4gsEZRyO9/twHs0b7HLjvy/sowl7sA== + version "4.0.14" + resolved "https://registry.yarnpkg.com/micro-memoize/-/micro-memoize-4.0.14.tgz#d1239ce2e5831125ac518509f5a23b54e7ca3e17" + integrity sha512-2tzWP1w2Hh+r7kCYa4f//jpBEA6dAueiuLco38NxfjF9Py3KCCI7wVOTdCvOhmTC043t+ulclVBdl3v+s+UJIQ== micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" @@ -5280,9 +5309,9 @@ mmdb-lib@2.0.2: integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== moize@^6.1.0: - version "6.1.3" - resolved "https://registry.yarnpkg.com/moize/-/moize-6.1.3.tgz#2e188a5ee02e4e3c06beaab39a4a3c92f92dd9aa" - integrity sha512-Cn+1T5Ypieeo46fn8X98V2gHj2VSRohVPjvT8BRvNANJJC3UOeege/G84xA/3S9c5qA4p9jOdSB1jfhumwe8qw== + version "6.1.5" + resolved "https://registry.yarnpkg.com/moize/-/moize-6.1.5.tgz#e9a589685a3de4266eeb5f2bbfdfe1a173265f1a" + integrity sha512-Fu46qKV9F8DOi2vXimR3yRw/JAJfFRQEFZeclvOFnG92AEFERqwFtu4PIxETYFtCghHGlU1itKcvvNioKgWGIw== dependencies: fast-equals "^3.0.1" micro-memoize "^4.0.11" @@ -5380,16 +5409,16 @@ nice-try@^1.0.4: integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== node-abi@^3.3.0: - version "3.28.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.28.0.tgz#b0df8b317e1c4f2f323756c5fc8ffccc5bca4718" - integrity sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A== + version "3.31.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.31.0.tgz#dfb2ea3d01188eb80859f69bb4a4354090c1b355" + integrity sha512-eSKV6s+APenqVh8ubJyiu/YhZgxQpGP66ntzUb3lY1xB9ukSRaGnx0AIxI+IM+1+IVYC1oWobgG5L3Lt9ARykQ== dependencies: semver "^7.3.5" node-addon-api@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.0.0.tgz#7d7e6f9ef89043befdb20c1989c905ebde18c501" - integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA== + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== node-domexception@^1.0.0: version "1.0.0" @@ -5401,10 +5430,15 @@ node-fetch-native@^0.1.8: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-0.1.8.tgz#19e2eaf6d86ac14e711ebd2612f40517c3468f2a" integrity sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q== +node-fetch-native@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.0.1.tgz#1dfe78f57545d07e07016b7df4c0cb9d2ff416c7" + integrity sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg== + node-fetch@^2.0.0, node-fetch@^2.6.6: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== dependencies: whatwg-url "^5.0.0" @@ -5556,15 +5590,24 @@ object.values@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" -ohmyfetch@^0.4.18, ohmyfetch@^0.4.19: - version "0.4.20" - resolved "https://registry.yarnpkg.com/ohmyfetch/-/ohmyfetch-0.4.20.tgz#735895d396c6d2fbf5705625db1196bd3f29be16" - integrity sha512-+c3/l+X91owrT1reTos1R13rb2j8NGZpKi0bRWwrnxIHlr1FZ8NzghIsNBKpUvk9nsnFoNK4phw+nTnXrcALzA== +ofetch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.0.0.tgz#5a2604cdcb33349900e4f73ffe44de449a61101a" + integrity sha512-d40aof8czZFSQKJa4+F7Ch3UC5D631cK1TTUoK+iNEut9NoiCL+u0vykl/puYVUS2df4tIQl5upQcolIcEzQjQ== dependencies: - destr "^1.1.1" + destr "^1.2.1" + node-fetch-native "^1.0.1" + ufo "^1.0.0" + +ohmyfetch@^0.4.18: + version "0.4.21" + resolved "https://registry.yarnpkg.com/ohmyfetch/-/ohmyfetch-0.4.21.tgz#6850db751fc7bbf08153aa8b11ff1ef45fcfd963" + integrity sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw== + dependencies: + destr "^1.2.0" node-fetch-native "^0.1.8" ufo "^0.8.6" - undici "^5.11.0" + undici "^5.12.0" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" @@ -6167,10 +6210,10 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -radix3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/radix3/-/radix3-0.2.1.tgz#77e66a41c7ba5600a8bc137fd259ef661d314418" - integrity sha512-FnhArTl5Tq7dodiLeSPKrDUyCQuJqEncP8cKdyy399g8F/cz7GH6FmzA3Rkosu2IZMkpswFFwXfb2ERSiL06pg== +radix3@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.0.0.tgz#d1c760b850206a6bd5dfd26820c25903cb20eccc" + integrity sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ== raf-schd@^4.0.2: version "4.0.3" @@ -7421,11 +7464,16 @@ typescript@^4.5: resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz" integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== -ufo@^0.8.0, ufo@^0.8.5, ufo@^0.8.6: +ufo@^0.8.5, ufo@^0.8.6: version "0.8.6" resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.8.6.tgz#c0ec89bc0e0c9fa59a683680feb0f28b55ec323b" integrity sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw== +ufo@^1.0.0, ufo@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.0.1.tgz#64ed43b530706bda2e4892f911f568cf4cf67d29" + integrity sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -7436,10 +7484,10 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici@^5.11.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.12.0.tgz#c758ffa704fbcd40d506e4948860ccaf4099f531" - integrity sha512-zMLamCG62PGjd9HHMpo05bSLvvwWOZgGeiWlN/vlqu3+lRo3elxktVGEyLMX+IO7c2eflLjcW74AlkhEZm15mg== +undici@^5.12.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.16.0.tgz#6b64f9b890de85489ac6332bd45ca67e4f7d9943" + integrity sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ== dependencies: busboy "^1.6.0" @@ -7494,22 +7542,22 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unstorage@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-0.6.0.tgz#9a70d770d08ed8dbb87f4aa5fbf7700baf4a641d" - integrity sha512-X05PIq28pVNA1BypX6Y00YNqAsHM25MGemvpjHeYvwJ8/wg936GoO1YD+VdWlqm3LmVX4fNJ5tlC7uhXsMPgeg== +unstorage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.0.1.tgz#8cac09e435e727f68ac8ffdac10caa1a5b35883d" + integrity sha512-J1c4b8K2KeihHrQtdgl/ybIapArUbPaPb+TyJy/nGSauDwDYqciZsEKdkee568P3c8SSH4TIgnGRHDWMPGw+Lg== dependencies: anymatch "^3.1.2" chokidar "^3.5.3" - destr "^1.1.1" - h3 "^0.8.1" - ioredis "^5.2.3" - listhen "^0.3.4" + destr "^1.2.1" + h3 "^1.0.1" + ioredis "^5.2.4" + listhen "^1.0.0" mkdir "^0.0.2" mri "^1.2.0" - ohmyfetch "^0.4.19" - ufo "^0.8.6" - ws "^8.9.0" + ofetch "^1.0.0" + ufo "^1.0.0" + ws "^8.11.0" update-browserslist-db@^1.0.9: version "1.0.10" @@ -7695,10 +7743,10 @@ write-json-file@^4.3.0: sort-keys "^4.0.0" write-file-atomic "^3.0.0" -ws@^8.9.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.10.0.tgz#00a28c09dfb76eae4eb45c3b565f771d6951aa51" - integrity sha512-+s49uSmZpvtAsd2h37vIPy1RBusaLawVe8of+GyEPsaJTCMpj/2v8NpeK1SHXjBlQ95lQTmQofOJnFiLoaN3yw== +ws@^8.11.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== xss@^1.0.14: version "1.0.14" From 318dd7de74f9cc885cf9594b56ec61e2c51c0ab1 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 30 Jan 2023 22:07:30 -0800 Subject: [PATCH 32/65] update mysql from planetscale install --- sql/schema.mysql.sql | 59 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/sql/schema.mysql.sql b/sql/schema.mysql.sql index 0ae7775a..b40e7bcb 100644 --- a/sql/schema.mysql.sql +++ b/sql/schema.mysql.sql @@ -6,10 +6,13 @@ CREATE TABLE `account` ( `is_admin` BOOLEAN NOT NULL DEFAULT false, `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), + `account_uuid` VARCHAR(36) NOT NULL, - UNIQUE INDEX `username`(`username`), + UNIQUE INDEX `account_username_key`(`username`), + UNIQUE INDEX `account_account_uuid_key`(`account_uuid`), + INDEX `account_account_uuid_idx`(`account_uuid`), PRIMARY KEY (`user_id`) -) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `event` ( @@ -18,14 +21,26 @@ CREATE TABLE `event` ( `session_id` INTEGER UNSIGNED NOT NULL, `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), `url` VARCHAR(500) NOT NULL, - `event_type` VARCHAR(50) NOT NULL, - `event_value` VARCHAR(50) NOT NULL, + `event_name` VARCHAR(50) NOT NULL, + `event_uuid` VARCHAR(36) NOT NULL, + UNIQUE INDEX `event_event_uuid_key`(`event_uuid`), INDEX `event_created_at_idx`(`created_at`), INDEX `event_session_id_idx`(`session_id`), INDEX `event_website_id_idx`(`website_id`), + INDEX `event_event_uuid_idx`(`event_uuid`), PRIMARY KEY (`event_id`) -) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- CreateTable +CREATE TABLE `event_data` ( + `event_data_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `event_id` INTEGER UNSIGNED NOT NULL, + `event_data` JSON NOT NULL, + + UNIQUE INDEX `event_data_event_id_key`(`event_id`), + PRIMARY KEY (`event_data_id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `pageview` ( @@ -42,7 +57,7 @@ CREATE TABLE `pageview` ( INDEX `pageview_website_id_idx`(`website_id`), INDEX `pageview_website_id_session_id_created_at_idx`(`website_id`, `session_id`, `created_at`), PRIMARY KEY (`view_id`) -) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `session` ( @@ -58,11 +73,12 @@ CREATE TABLE `session` ( `language` VARCHAR(35) NULL, `country` CHAR(2) NULL, - UNIQUE INDEX `session_uuid`(`session_uuid`), + UNIQUE INDEX `session_session_uuid_key`(`session_uuid`), INDEX `session_created_at_idx`(`created_at`), INDEX `session_website_id_idx`(`website_id`), + INDEX `session_session_uuid_idx`(`session_uuid`), PRIMARY KEY (`session_id`) -) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `website` ( @@ -74,29 +90,12 @@ CREATE TABLE `website` ( `share_id` VARCHAR(64) NULL, `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - UNIQUE INDEX `website_uuid`(`website_uuid`), - UNIQUE INDEX `share_id`(`share_id`), + UNIQUE INDEX `website_website_uuid_key`(`website_uuid`), + UNIQUE INDEX `website_share_id_key`(`share_id`), INDEX `website_user_id_idx`(`user_id`), + INDEX `website_website_uuid_idx`(`website_uuid`), PRIMARY KEY (`website_id`) -) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- AddForeignKey -ALTER TABLE `event` ADD CONSTRAINT `event_ibfk_2` FOREIGN KEY (`session_id`) REFERENCES `session`(`session_id`) ON DELETE CASCADE ON UPDATE NO ACTION; - --- AddForeignKey -ALTER TABLE `event` ADD CONSTRAINT `event_ibfk_1` FOREIGN KEY (`website_id`) REFERENCES `website`(`website_id`) ON DELETE CASCADE ON UPDATE NO ACTION; - --- AddForeignKey -ALTER TABLE `pageview` ADD CONSTRAINT `pageview_ibfk_2` FOREIGN KEY (`session_id`) REFERENCES `session`(`session_id`) ON DELETE CASCADE ON UPDATE NO ACTION; - --- AddForeignKey -ALTER TABLE `pageview` ADD CONSTRAINT `pageview_ibfk_1` FOREIGN KEY (`website_id`) REFERENCES `website`(`website_id`) ON DELETE CASCADE ON UPDATE NO ACTION; - --- AddForeignKey -ALTER TABLE `session` ADD CONSTRAINT `session_ibfk_1` FOREIGN KEY (`website_id`) REFERENCES `website`(`website_id`) ON DELETE CASCADE ON UPDATE NO ACTION; - --- AddForeignKey -ALTER TABLE `website` ADD CONSTRAINT `website_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `account`(`user_id`) ON DELETE CASCADE ON UPDATE NO ACTION; +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateAdminUser -INSERT INTO account (username, password, is_admin) values ('admin', '$2b$10$BUli0c.muyCW1ErNJc3jL.vFRFtFJWrT8/GcR4A.sUdCznaXiqFXa', true); +INSERT INTO account (username, password, is_admin, account_uuid) values ('admin', '$2b$10$BUli0c.muyCW1ErNJc3jL.vFRFtFJWrT8/GcR4A.sUdCznaXiqFXa', true, uuid()); \ No newline at end of file From e2e6c2cb8d55159e4973d1504bbb72a1ba58d375 Mon Sep 17 00:00:00 2001 From: ppnplus <54897463+ppnplus@users.noreply.github.com> Date: Fri, 3 Feb 2023 12:13:59 +0700 Subject: [PATCH 33/65] Update th-TH.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Removed trailing full stops, as we don't use full stops in our language. 2. Changed the string for "Pages" from "หน้าเพจ" to "หน้า". The current string "หน้าเพจ" has two words with the same, overlapping meaning. "หน้า" is a proper translation for the word "page", while "เพจ" is a transliteration from the English pronunciation "page" which is more commonly used to refer to Facebook Pages in our language. --- lang/th-TH.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lang/th-TH.json b/lang/th-TH.json index 9457fab5..56316920 100644 --- a/lang/th-TH.json +++ b/lang/th-TH.json @@ -70,26 +70,26 @@ "message.confirm-delete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {target} ?", "message.confirm-reset": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตข้อมูลสถิติของ {target} ?", "message.copied": "คัดลอกแล้ว!", - "message.delete-warning": "ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบ.", + "message.delete-warning": "ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบ", "message.edit-dashboard": "แก้ไขแดชบอร์ด", - "message.failure": "เกิดข้อผิดพลาด.", + "message.failure": "เกิดข้อผิดพลาด", "message.get-share-url": "รับลิงก์สำหรับแชร์", "message.get-tracking-code": "รับโค้ดสำหรับใช้ติดตาม", "message.go-to-settings": "ไปที่การตั้งค่า", - "message.incorrect-username-password": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง.", + "message.incorrect-username-password": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง", "message.log.visitor": "ผู้เข้าชมจาก {country} กำลังใช้งานผ่าน {browser} บน {os} {device}", "message.new-version-available": "umami เวอร์ชันใหม่ ({version}) มาแล้ว!", - "message.no-data-available": "ไม่มีข้อมูล.", - "message.no-websites-configured": "คุณยังไม่ได้ตั้งค่าเว็บไซต์ใด ๆ ไว้.", - "message.page-not-found": "ไม่พบหน้านี้.", + "message.no-data-available": "ไม่มีข้อมูล", + "message.no-websites-configured": "คุณยังไม่ได้ตั้งค่าเว็บไซต์ใด ๆ ไว้", + "message.page-not-found": "ไม่พบหน้านี้", "message.powered-by": "ขับเคลื่อนโดย {name}", - "message.reset-warning": "สถิติทั้งหมดสำหรับเว็บไซต์นี้จะถูกลบออก แต่โค้ดสำหรับใช้ติดตามของคุณจะยังคงอยู่เหมือนเดิม.", - "message.save-success": "บันทึกข้อมูลเรียบร้อย.", - "message.share-url": "นี่คือลิงก์ที่แชร์แบบสาธารณะสำหรับ {target}.", + "message.reset-warning": "สถิติทั้งหมดสำหรับเว็บไซต์นี้จะถูกลบออก แต่โค้ดสำหรับใช้ติดตามของคุณจะยังคงอยู่เหมือนเดิม", + "message.save-success": "บันทึกข้อมูลเรียบร้อย", + "message.share-url": "นี่คือลิงก์ที่แชร์แบบสาธารณะสำหรับ {target}", "message.toggle-charts": "เปิด/ปิดแผนภูมิ", - "message.track-stats": "หากต้องการติดตามสถิติสำหรับ {target} ให้วางโค้ดต่อไปนี้ในส่วน {head} ของเว็บไซต์ของคุณ.", - "message.type-delete": "พิมพ์ข้อความ {delete} ในช่องด้านล่างเพื่อยืนยัน.", - "message.type-reset": "พิมพ์ข้อความ {reset} ในช่องด้านล่างเพื่อยืนยัน.", + "message.track-stats": "หากต้องการติดตามสถิติสำหรับ {target} ให้วางโค้ดต่อไปนี้ในส่วน {head} ของเว็บไซต์ของคุณ", + "message.type-delete": "พิมพ์ข้อความ {delete} ในช่องด้านล่างเพื่อยืนยัน", + "message.type-reset": "พิมพ์ข้อความ {reset} ในช่องด้านล่างเพื่อยืนยัน", "metrics.actions": "การกระทำ", "metrics.average-visit-time": "ระยะเวลาเข้าชมเฉลี่ย", "metrics.bounce-rate": "อัตราตีกลับ", @@ -106,7 +106,7 @@ "metrics.languages": "ภาษา", "metrics.operating-systems": "ระบบปฏิบัติการ", "metrics.page-views": "การเข้าชม", - "metrics.pages": "หน้าเพจ", + "metrics.pages": "หน้า", "metrics.query-parameters": "พารามิเตอร์ URL", "metrics.referrers": "แหล่งที่มา", "metrics.screens": "ขนาดหน้าจอ", From 6b3eb7617ddbb831a08ac62b9f3bd4f8c2a495fa Mon Sep 17 00:00:00 2001 From: effakt Date: Sat, 4 Feb 2023 08:46:32 +1300 Subject: [PATCH 34/65] Adding registered_country fallback to getCountry --- lib/request.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/request.js b/lib/request.js index 210921b9..78e0e351 100644 --- a/lib/request.js +++ b/lib/request.js @@ -73,7 +73,8 @@ export async function getCountry(req, ip) { const result = lookup.get(ip); - return result?.country?.iso_code; + // country can not be set, fallback to registerd_country in this case + return result?.country?.iso_code ?? result?.registered_country?.iso_code; } export async function getClientInfo(req, { screen }) { From 2c36eaad5ca902db902cc7c438bd972cfd4c4090 Mon Sep 17 00:00:00 2001 From: Juanga Covas <1177241+juangacovas@users.noreply.github.com> Date: Sat, 11 Feb 2023 17:51:21 +0100 Subject: [PATCH 35/65] Update es-MX.json Translated some new strings from English to Spanish and assorted fixes --- lang/es-MX.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lang/es-MX.json b/lang/es-MX.json index ecefd17b..fb1fc329 100644 --- a/lang/es-MX.json +++ b/lang/es-MX.json @@ -36,7 +36,7 @@ "label.more": "Más", "label.name": "Nombre", "label.new-password": "Nueva contraseña", - "label.none": "None", + "label.none": "Ninguno", "label.owner": "Propietario", "label.password": "Contraseña", "label.passwords-dont-match": "Las contraseñas no coinciden", @@ -50,7 +50,7 @@ "label.save": "Guardar", "label.settings": "Configuraciones", "label.share-url": "Compartir URL", - "label.single-day": "Dia", + "label.single-day": "Día", "label.theme": "Tema", "label.this-month": "Este mes", "label.this-week": "Esta semana", @@ -58,7 +58,7 @@ "label.timezone": "Zona horaria", "label.today": "Hoy", "label.tracking-code": "Código de rastreo", - "label.unknown": "Desconocida", + "label.unknown": "Desconocido", "label.username": "Nombre de usuario", "label.view-details": "Ver detalles", "label.websites": "Sitios", @@ -68,7 +68,7 @@ "message.confirm-reset": "¿Seguro que deseas restablecer las estadísticas de {target}?", "message.copied": "¡Copiado!", "message.delete-warning": "Toda la información relacionada será eliminada.", - "message.edit-dashboard": "Edit dashboard", + "message.edit-dashboard": "Editar panel", "message.failure": "Algo falló.", "message.get-share-url": "Obtener URL para compartir", "message.get-tracking-code": "Obtener código de rastreo", @@ -76,12 +76,12 @@ "message.incorrect-username-password": "Nombre de usuario o contraseña incorrectos.", "message.log.visitor": "Visitante desde {country} usando {browser} en {os} {device}", "message.new-version-available": "¡Una nueva versión de umami {version} esta disponible!", - "message.no-data-available": "Sin información disponible.", + "message.no-data-available": "No hay información disponible.", "message.no-websites-configured": "No tienes ningún sitio configurado.", "message.page-not-found": "Página no encontrada", - "message.powered-by": "Desarrollado con {name}", + "message.powered-by": "Analíticas de {name}", "message.reset-warning": "Todas las estadísticas de esta página serán eliminadas, pero el código de rastreo permanecerá intacto.", - "message.save-success": "Guardado exitosamente.", + "message.save-success": "Cambios guardados.", "message.share-url": "Esta es la URL compartida públicamente para {target}.", "message.toggle-charts": "Alternar gráficas", "message.track-stats": "Para registrar estadísticas para {target}, copia el siguiente código dentro de la etiqueta {head} de tu sitio.", @@ -104,9 +104,9 @@ "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Vistas", "metrics.pages": "Páginas", - "metrics.query-parameters": "Query parameters", - "metrics.referrers": "Referentes", - "metrics.screens": "Screens", + "metrics.query-parameters": "Parámetros de petición", + "metrics.referrers": "Referido desde", + "metrics.screens": "Pantallas", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Vistas", "metrics.visitors": "Visitantes" From 1b44c5f82685157af232e5be6ecf1d37e42d5f62 Mon Sep 17 00:00:00 2001 From: Enrico Paulini <64104505+enricopaulini@users.noreply.github.com> Date: Sun, 12 Feb 2023 20:40:03 -0300 Subject: [PATCH 36/65] Label Incrementions and pt-BR update --- components/common/EventDataButton.js | 6 +-- components/forms/EventDataForm.js | 2 +- components/forms/WebsiteEditForm.js | 2 +- public/intl/messages/pt-BR.json | 72 ++++++++++++++++++++++++++-- 4 files changed, 74 insertions(+), 8 deletions(-) diff --git a/components/common/EventDataButton.js b/components/common/EventDataButton.js index 2b895840..adf0d972 100644 --- a/components/common/EventDataButton.js +++ b/components/common/EventDataButton.js @@ -24,16 +24,16 @@ function EventDataButton({ websiteId }) { <> {showEventData && ( - }> + }> )} diff --git a/components/forms/EventDataForm.js b/components/forms/EventDataForm.js index e236aa3d..5f31df44 100644 --- a/components/forms/EventDataForm.js +++ b/components/forms/EventDataForm.js @@ -246,7 +246,7 @@ export default function EventDataForm({ websiteId, onClose, className }) {
- + } />
diff --git a/components/forms/WebsiteEditForm.js b/components/forms/WebsiteEditForm.js index f13d0aa0..14830c95 100644 --- a/components/forms/WebsiteEditForm.js +++ b/components/forms/WebsiteEditForm.js @@ -117,7 +117,7 @@ export default function WebsiteEditForm({ values, onSave, onClose }) { } spellCheck="false" autoCapitalize="off" autoCorrect="off" diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index b797c50b..5d7cc41f 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -337,6 +337,12 @@ "value": "Tema" } ], + "label.yesterday": [ + { + "type": 0, + "value": "Ontem" + } + ], "label.this-month": [ { "type": 0, @@ -397,6 +403,66 @@ "value": "Sites" } ], + "label.event": [ + { + "type": 0, + "value": "Evento" + } + ], + "label.event-data": [ + { + "type": 0, + "value": "Dados de evento" + } + ], + "label.query-event-data": [ + { + "type": 0, + "value": "Consultar dados do evento" + } + ], + "label.search": [ + { + "type": 0, + "value": "Buscar" + } + ], + "label.results": [ + { + "type": 0, + "value": "Resultados" + } + ], + "label.add-filter": [ + { + "type": 0, + "value": "Adicionar filtro" + } + ], + "label.value": [ + { + "type": 0, + "value": "Valor" + } + ], + "label.field-name": [ + { + "type": 0, + "value": "Nome do campo" + } + ], + "label.add-column": [ + { + "type": 0, + "value": "Adicionar coluna" + } + ], + "label.label.type": [ + { + "type": 0, + "value": "Tipo" + } + ], "message.active-users": [ { "type": 1, @@ -478,7 +544,7 @@ "message.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Editar painel" } ], "message.failure": [ @@ -774,7 +840,7 @@ "metrics.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Parâmetros de Consulta" } ], "metrics.referrers": [ @@ -786,7 +852,7 @@ "metrics.screens": [ { "type": 0, - "value": "Screens" + "value": "Telas" } ], "metrics.unique-visitors": [ From 90db2239a2cdf88b914396da3eaeb32289e9b824 Mon Sep 17 00:00:00 2001 From: Enrico Paulini <64104505+enricopaulini@users.noreply.github.com> Date: Sun, 12 Feb 2023 22:58:59 -0300 Subject: [PATCH 37/65] Remove formatted message from placeholder --- components/forms/WebsiteEditForm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/forms/WebsiteEditForm.js b/components/forms/WebsiteEditForm.js index 14830c95..f13d0aa0 100644 --- a/components/forms/WebsiteEditForm.js +++ b/components/forms/WebsiteEditForm.js @@ -117,7 +117,7 @@ export default function WebsiteEditForm({ values, onSave, onClose }) { } + placeholder="example.com" spellCheck="false" autoCapitalize="off" autoCorrect="off" From 7e091c5d40096ade290404a9e89d48e0a68f75ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Feb 2023 23:27:31 +0000 Subject: [PATCH 38/65] Bump undici from 5.16.0 to 5.19.1 Bumps [undici](https://github.com/nodejs/undici) from 5.16.0 to 5.19.1. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](https://github.com/nodejs/undici/compare/v5.16.0...v5.19.1) --- updated-dependencies: - dependency-name: undici dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3455bf70..26ed75c6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7485,9 +7485,9 @@ unbox-primitive@^1.0.2: which-boxed-primitive "^1.0.2" undici@^5.12.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.16.0.tgz#6b64f9b890de85489ac6332bd45ca67e4f7d9943" - integrity sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ== + version "5.19.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.19.1.tgz#92b1fd3ab2c089b5a6bd3e579dcda8f1934ebf6d" + integrity sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A== dependencies: busboy "^1.6.0" From b8f72660d93d3c4cfa01bb3eb7ce98fb9b8098a3 Mon Sep 17 00:00:00 2001 From: Dustin Dauncey Date: Mon, 20 Feb 2023 21:21:05 -0800 Subject: [PATCH 39/65] Stylized macOS + sorted Desktop & Mobile OS names Since iOS was stylized, I thought it was consistent if we also stylized macOS (it's not Mac OS anymore, it's (macOS)[https://en.wikipedia.org/wiki/MacOS]). Also took a quick moment to sort the values for Desktop and Mobile OS names in order to more easily locate at a glance the item being looked for. --- lib/constants.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/constants.js b/lib/constants.js index 8b3ee8d0..3eb57486 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -83,29 +83,29 @@ export const URL_LENGTH = 500; export const EVENT_NAME_LENGTH = 50; export const DESKTOP_OS = [ - 'Windows 3.11', - 'Windows 95', - 'Windows 98', + 'BeOS', + 'Chrome OS', + 'Linux', + 'macOS', + 'Open BSD', + 'OS/2', + 'QNX', + 'Sun OS', + 'Windows 10', 'Windows 2000', - 'Windows XP', - 'Windows Server 2003', - 'Windows Vista', + 'Windows 3.11', 'Windows 7', 'Windows 8', 'Windows 8.1', - 'Windows 10', + 'Windows 95', + 'Windows 98', 'Windows ME', - 'Open BSD', - 'Sun OS', - 'Linux', - 'Mac OS', - 'QNX', - 'BeOS', - 'OS/2', - 'Chrome OS', + 'Windows Server 2003', + 'Windows Vista', + 'Windows XP', ]; -export const MOBILE_OS = ['iOS', 'Android OS', 'BlackBerry OS', 'Windows Mobile', 'Amazon OS']; +export const MOBILE_OS = ['Amazon OS', 'Android OS', 'BlackBerry OS', 'iOS', 'Windows Mobile']; export const BROWSERS = { aol: 'AOL', From 982d47c7e9309a65001ec26a78c311a23a15a2f3 Mon Sep 17 00:00:00 2001 From: slawiko Date: Wed, 22 Feb 2023 12:23:21 +0100 Subject: [PATCH 40/65] Adds translations for be-BY locale --- lang/be-BY.json | 120 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lang/be-BY.json diff --git a/lang/be-BY.json b/lang/be-BY.json new file mode 100644 index 00000000..1b73f378 --- /dev/null +++ b/lang/be-BY.json @@ -0,0 +1,120 @@ +{ + "label.accounts": "Акаўнты", + "label.add-account": "Дадаць акаўнт", + "label.add-column": "Дадаць слупок", + "label.add-filter": "Дадаць фільтр", + "label.add-website": "Дадаць сайт", + "label.administrator": "Адміністратар", + "label.all": "Усё", + "label.all-time": "Увесь час", + "label.all-websites": "Усі сайты", + "label.back": "Назад", + "label.cancel": "Адмена", + "label.change-password": "Змяніць пароль", + "label.confirm-password": "Падцвердзіць пароль", + "label.copy-to-clipboard": "Скапіраваць у кліпборд", + "label.current-password": "Бягучы пароль", + "label.custom-range": "Карыстацкі дыяпазон", + "label.dashboard": "Інфармацыйная панэль", + "label.date-range": "Дыяпазон дат", + "label.default-date-range": "Дыяпазон дат па змаўчанню", + "label.delete": "Выдаліць", + "label.delete-account": "Выдаліць акаўнт", + "label.delete-website": "Выдаліць сайт", + "label.dismiss": "Адмена", + "label.domain": "Дамен", + "label.edit": "Змяніць", + "label.edit-account": "Змяніць акаўнт", + "label.edit-website": "Змяніць сайт", + "label.enable-share-url": "Дазволіць дзяліцца спасылкай", + "label.event-data": "Event Data", + "label.field-name": "Field Name", + "label.invalid": "Некарэктны", + "label.invalid-domain": "Некарэктны дамен", + "label.language": "Мова", + "label.last-days": "Апошнія {x} дні", + "label.last-hours": "Апошнія {x} гадзіны", + "label.logged-in-as": "Вы ўвайшлі як {username}", + "label.login": "Увайсці", + "label.logout": "Выйсці", + "label.more": "Болей", + "label.name": "Імя", + "label.new-password": "Новы пароль", + "label.none": "Няма", + "label.owner": "Уласнік", + "label.password": "Пароль", + "label.passwords-dont-match": "Паролі не супадаюць", + "label.profile": "Профіль", + "label.realtime": "У рэяльным часе", + "label.realtime-logs": "Логі ў рэяльным часе", + "label.refresh": "Аднавіць", + "label.required": "Абавязкова", + "label.reset": "Скінуць", + "label.reset-website": "Скінуць статыстыку", + "label.save": "Захаваць", + "label.search": "Пошук", + "label.settings": "Налады", + "label.share-url": "Падзяліцца спасылкай", + "label.single-day": "Адзін дзень", + "label.theme": "Тэма", + "label.this-month": "Гэты месяц", + "label.this-week": "Гэты тыдзень", + "label.this-year": "Гэты год", + "label.timezone": "Таймзона", + "label.today": "Сёння", + "label.tracking-code": "Код адсочвання", + "label.type": "Тып", + "label.unknown": "Невядома", + "label.username": "Імя карыстальніка", + "label.value": "Значэнне", + "label.view-details": "Пабачыць дэталі", + "label.websites": "Сайты", + "label.yesterday": "Учора", + "message.active-users": "{x} тякучых {x, plural, one {наведвальнік} other {наведвальнікаў}}", + "message.confirm-delete": "Вы дакладна хочаце выдаліць {target}?", + "message.confirm-reset": "Вы дакладна хочаце скінуць {target} статыстыку?", + "message.copied": "Скапіравана!", + "message.delete-warning": "Усе асацыяваныя дадзеныя будуць таксама выдалены.", + "message.edit-dashboard": "Змяніць інфармацыйную панэль", + "message.failure": "Нешта пайшло не так.", + "message.get-share-url": "Атрымаць спасылку", + "message.get-tracking-code": "Атрымаць код адсочвання", + "message.go-to-settings": "Да налад", + "message.incorrect-username-password": "Некарэктны username/password.", + "message.log.visitor": "Наведвальнік з {country} праз {browser} на {os} {device}", + "message.new-version-available": "Даступна новая версія umami {version}!", + "message.no-data-available": "Няма дадзеных.", + "message.no-websites-configured": "Вы не наладзілі ніводнага сайту.", + "message.page-not-found": "Старонка не знойдзена.", + "message.powered-by": "Зроблена {name}", + "message.reset-warning": "Уся статыстыка для гэтага сайту будзе выдалена, але код адсочвання будзе працягваць працаваць.", + "message.save-success": "Захавана паспяхова.", + "message.share-url": "Гэта публічная спасылка для {target}.", + "message.toggle-charts": "Пераключыць графікі", + "message.track-stats": "Каб адсочваць статыстыку на {target}, дадайце наступны код у {head} секцыю вашага сайту.", + "message.type-delete": "Напішыце {delete} у полі ніжэй для пацвярджэння.", + "message.type-reset": "Напішыце {reset} у полі ніжэй для пацвярджэння.", + "metrics.actions": "Дзеянні", + "metrics.average-visit-time": "Сярэдняя даўжыня наведвання", + "metrics.bounce-rate": "Паказчык адмоваў", + "metrics.browsers": "Браўзеры", + "metrics.countries": "Краіны", + "metrics.device.desktop": "Настольны ПК", + "metrics.device.laptop": "Ноўтбук", + "metrics.device.mobile": "Мабільны", + "metrics.device.tablet": "Планшэт", + "metrics.devices": "Прылады", + "metrics.events": "Падзеі", + "metrics.filter.combined": "Камбініаваны", + "metrics.filter.raw": "Сырыя", + "metrics.languages": "Мовы", + "metrics.operating-systems": "Аперацыонныя сістэмы", + "metrics.page-views": "Прагляды старонкі", + "metrics.pages": "Старонкі", + "metrics.query-parameters": "Query parameters", + "metrics.referrers": "Referrers", + "metrics.screens": "Экраны", + "metrics.unique-visitors": "Унікальныя наведвальнікі", + "metrics.views": "Прагляды", + "metrics.visitors": "Наведвальнікі" +} From 02272d3909748a8a4e03cae3bb46fd737650493f Mon Sep 17 00:00:00 2001 From: slawiko Date: Wed, 22 Feb 2023 12:25:13 +0100 Subject: [PATCH 41/65] Adds locale mapping --- lib/lang.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/lang.js b/lib/lang.js index 6bca20b7..7e779e47 100644 --- a/lib/lang.js +++ b/lib/lang.js @@ -1,6 +1,7 @@ import { arSA, bn, + be, cs, sk, da, @@ -48,6 +49,7 @@ export const languages = { 'bn-BD': { label: 'বাংলা', dateLocale: bn }, 'zh-CN': { label: '中文', dateLocale: zhCN }, 'zh-TW': { label: '中文(繁體)', dateLocale: zhTW }, + 'be-BY': { label: 'Беларуская', dateLocale: be }, 'ca-ES': { label: 'Català', dateLocale: ca }, 'cs-CZ': { label: 'Čeština', dateLocale: cs }, 'da-DK': { label: 'Dansk', dateLocale: da }, From 2470fb4c7c3f09f5aa0617d8bc46ea645766dfaa Mon Sep 17 00:00:00 2001 From: Felix Date: Fri, 10 Mar 2023 22:52:54 +0100 Subject: [PATCH 42/65] Upgrade Postgres to 15 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9864486c..e8abbd88 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: - db restart: always db: - image: postgres:12-alpine + image: postgres:15-alpine environment: POSTGRES_DB: umami POSTGRES_USER: umami From 91bcbec2af0c8f736f6fe03913fe3c286b43fed4 Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 18:06:06 +0100 Subject: [PATCH 43/65] + v6 and arm platform --- .github/workflows/cd.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6d8a7f73..824001ef 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -19,12 +19,14 @@ jobs: - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - - uses: mr-smithers-excellent/docker-build-push@v5 + - uses: mr-smithers-excellent/docker-build-push@v6 name: Build & push Docker image for ${{ matrix.db-type }} with: image: umami tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest buildArgs: DATABASE_TYPE=${{ matrix.db-type }} registry: ghcr.io + multiPlatform: true + platform: linux/amd64,linux/arm64 username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} From 4362be44e07a52e643083109f8748e52a430ce3a Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 18:08:13 +0100 Subject: [PATCH 44/65] updated manual cd action --- .github/workflows/cd-manual.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cd-manual.yml b/.github/workflows/cd-manual.yml index 6b04dd84..f62f3e45 100644 --- a/.github/workflows/cd-manual.yml +++ b/.github/workflows/cd-manual.yml @@ -20,12 +20,14 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: mr-smithers-excellent/docker-build-push@v5 + - uses: mr-smithers-excellent/docker-build-push@v6 name: Build & push Docker image for ${{ matrix.db-type }} with: image: umami tags: ${{ matrix.db-type }}-${{ inputs.version }}, ${{ matrix.db-type }}-latest buildArgs: DATABASE_TYPE=${{ matrix.db-type }} registry: ghcr.io + multiPlatform: true + platform: linux/amd64,linux/arm64 username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} From 7df58a921fdf7db42a15482fd949c1b12702404c Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 18:35:36 +0100 Subject: [PATCH 45/65] Added network timeout for yarn --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index eb7ebf1a..e91765a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,7 @@ FROM node:16-alpine AS deps RUN apk add --no-cache libc6-compat WORKDIR /app COPY package.json yarn.lock ./ +RUN yarn config set network-timeout 300000 RUN yarn install --frozen-lockfile # Rebuild the source code only when needed From c07a561eda108c6f33fd2f3d231c41ee301fc086 Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 19:53:49 +0100 Subject: [PATCH 46/65] Made the builder run as amd64 to avoid prisma arm problems --- Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e91765a6..545d54cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,15 @@ # Install dependencies only when needed -FROM node:16-alpine AS deps +FROM node:18-alpine AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat WORKDIR /app COPY package.json yarn.lock ./ +# Add yarn timeout to handle slow CPU when Github Actions RUN yarn config set network-timeout 300000 RUN yarn install --frozen-lockfile # Rebuild the source code only when needed -FROM node:16-alpine AS builder +FROM --platform=linux/amd64 node:18-alpine AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -24,7 +25,7 @@ ENV NEXT_TELEMETRY_DISABLED 1 RUN yarn build-docker # Production image, copy all the files and run next -FROM node:16-alpine AS runner +FROM node:18-alpine AS runner WORKDIR /app ENV NODE_ENV production From e31f88233310effea3f1777e5fa4522946ab2367 Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 20:45:46 +0100 Subject: [PATCH 47/65] Prisma requires linux/amd64.... --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 545d54cf..35ee7b59 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Install dependencies only when needed -FROM node:18-alpine AS deps +FROM --platform=linux/amd64 node:18-alpine AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat WORKDIR /app @@ -25,7 +25,7 @@ ENV NEXT_TELEMETRY_DISABLED 1 RUN yarn build-docker # Production image, copy all the files and run next -FROM node:18-alpine AS runner +FROM --platform=linux/amd64 node:18-alpine AS runner WORKDIR /app ENV NODE_ENV production From 0ec20d42cf3920c71b6027443c09fac7f7d4e29b Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 21:03:14 +0100 Subject: [PATCH 48/65] Removed platform issues --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 35ee7b59..3fc32e0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Install dependencies only when needed -FROM --platform=linux/amd64 node:18-alpine AS deps +FROM node:18-alpine AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat WORKDIR /app @@ -9,7 +9,7 @@ RUN yarn config set network-timeout 300000 RUN yarn install --frozen-lockfile # Rebuild the source code only when needed -FROM --platform=linux/amd64 node:18-alpine AS builder +FROM node:18-alpine AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -25,7 +25,7 @@ ENV NEXT_TELEMETRY_DISABLED 1 RUN yarn build-docker # Production image, copy all the files and run next -FROM --platform=linux/amd64 node:18-alpine AS runner +FROM node:18-alpine AS runner WORKDIR /app ENV NODE_ENV production From 61732f391ed23cf54fa90ddbb964790e95ce3538 Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 23:32:44 +0100 Subject: [PATCH 49/65] Updated Prisma version to support ARM64 --- package.json | 4 ++-- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 395d311f..a01b8271 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ }, "dependencies": { "@fontsource/inter": "4.5.7", - "@prisma/client": "4.9.0", + "@prisma/client": "4.11.0", "chalk": "^4.1.1", "chart.js": "^2.9.4", "classnames": "^2.3.1", @@ -126,7 +126,7 @@ "postcss-preset-env": "7.4.3", "postcss-rtlcss": "^3.6.1", "prettier": "^2.6.2", - "prisma": "4.9.0", + "prisma": "4.11.0", "prompts": "2.4.2", "rollup": "^2.70.1", "rollup-plugin-terser": "^7.0.2", diff --git a/yarn.lock b/yarn.lock index 26ed75c6..a2c9a727 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1704,22 +1704,22 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@prisma/client@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.9.0.tgz#4a4068f3540732ea5723c008d49ed684d20f9340" - integrity sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg== +"@prisma/client@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.11.0.tgz#41d5664dea4172c954190a432f70b86d3e2e629b" + integrity sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA== dependencies: - "@prisma/engines-version" "4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5" + "@prisma/engines-version" "4.11.0-57.8fde8fef4033376662cad983758335009d522acb" -"@prisma/engines-version@4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5": - version "4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5.tgz#9d817a5779fc05b107eb02f63d197ad296d60b3c" - integrity sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA== +"@prisma/engines-version@4.11.0-57.8fde8fef4033376662cad983758335009d522acb": + version "4.11.0-57.8fde8fef4033376662cad983758335009d522acb" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz#74af5ff56170c78e93ce46c56510160f58cd3c01" + integrity sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g== -"@prisma/engines@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.9.0.tgz#05a1411964e047c1bc43f777c7a1c69f86a2a26c" - integrity sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw== +"@prisma/engines@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.11.0.tgz#c99749bfe20f58e8f4d2b5e04fee0785eba440e1" + integrity sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg== "@react-spring/animated@~9.5.2": version "9.5.2" @@ -6138,12 +6138,12 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -prisma@4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.9.0.tgz#295954b2a89cd35a0e6bcf66b2b036dbf80c75ee" - integrity sha512-bS96oZ5oDFXYgoF2l7PJ3Mp1wWWfLOo8B/jAfbA2Pn0Wm5Z/owBHzaMQKS3i1CzVBDWWPVnOohmbJmjvkcHS5w== +prisma@4.11.0: + version "4.11.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.11.0.tgz#9695ba4129a43eab3e76b5f7a033c6c020377725" + integrity sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw== dependencies: - "@prisma/engines" "4.9.0" + "@prisma/engines" "4.11.0" progress@^2.0.0: version "2.0.3" From 403144eb30e3adfe12ea31dde9272a9c8b9b87de Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 23:36:16 +0100 Subject: [PATCH 50/65] Added ^ to Prisma version package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a01b8271..f4d52dfa 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ }, "dependencies": { "@fontsource/inter": "4.5.7", - "@prisma/client": "4.11.0", + "@prisma/client": "^4.11.0", "chalk": "^4.1.1", "chart.js": "^2.9.4", "classnames": "^2.3.1", @@ -126,7 +126,7 @@ "postcss-preset-env": "7.4.3", "postcss-rtlcss": "^3.6.1", "prettier": "^2.6.2", - "prisma": "4.11.0", + "prisma": "^4.11.0", "prompts": "2.4.2", "rollup": "^2.70.1", "rollup-plugin-terser": "^7.0.2", From 3a18e79d45e28a739c209bc7357acdba96227637 Mon Sep 17 00:00:00 2001 From: BE-CH Date: Sun, 12 Mar 2023 23:37:54 +0100 Subject: [PATCH 51/65] Updated lockfile to support ^ --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index a2c9a727..6f1ec002 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1704,7 +1704,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@prisma/client@4.11.0": +"@prisma/client@^4.11.0": version "4.11.0" resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.11.0.tgz#41d5664dea4172c954190a432f70b86d3e2e629b" integrity sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA== @@ -6138,7 +6138,7 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -prisma@4.11.0: +prisma@^4.11.0: version "4.11.0" resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.11.0.tgz#9695ba4129a43eab3e76b5f7a033c6c020377725" integrity sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw== From 9e865ecdf36806bed4759721f40e41d24f8c64d1 Mon Sep 17 00:00:00 2001 From: Seanghay Yath Date: Wed, 29 Mar 2023 11:43:19 +0700 Subject: [PATCH 52/65] feat: add km-KH locale --- lang/km-KH.json | 113 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 lang/km-KH.json diff --git a/lang/km-KH.json b/lang/km-KH.json new file mode 100644 index 00000000..f62e31f2 --- /dev/null +++ b/lang/km-KH.json @@ -0,0 +1,113 @@ +{ + "label.accounts": "គណនី", + "label.add-account": "បន្ថែមគណនី", + "label.add-website": "បន្ថែមគេហទំព័រ", + "label.administrator": "អ្នកគ្រប់គ្រង", + "label.all": "ទាំងអស់", + "label.all-time": "គ្រប់ពេល", + "label.all-websites": "គេហទំព័រទាំងអស់", + "label.back": "ថយក្រោយ", + "label.cancel": "បោះបង់", + "label.change-password": "ផ្លាស់ប្តូរពាក្យសម្ងាត់", + "label.confirm-password": "បញ្ជាក់ពាក្យសម្ងាត់", + "label.copy-to-clipboard": "ចម្លង", + "label.current-password": "ពាក្យសម្ងាត់បច្ចុប្បន្ន", + "label.custom-range": "កំណត់ដោយខ្លួនឯង", + "label.dashboard": "ផ្ទាំងគ្រប់គ្រង", + "label.date-range": "ចន្លោះកាលបរិច្ឆេទ", + "label.default-date-range": "ចន្លោះកាលបរិច្ឆេទស្រាប់", + "label.delete": "លុប", + "label.delete-account": "លុប​គណនី", + "label.delete-website": "លុបគេហទំព័រ", + "label.dismiss": "បដិសេធ", + "label.domain": "ឈ្មោះគេហទំព័រ", + "label.edit": "កែប្រែ", + "label.edit-account": "កែគណនី", + "label.edit-website": "កែគេហទំព័រ", + "label.enable-share-url": "បើកការចែករំលែក URL", + "label.invalid": "មិនត្រឹមត្រូវ", + "label.invalid-domain": "ឈ្មោះគេហទំព័រមិន​ត្រឹមត្រូវ", + "label.language": "ភាសា", + "label.last-days": "{x} ថ្ងៃមុន", + "label.last-hours": "{x} ម៉ោងមុន", + "label.logged-in-as": "បានចូលប្រើជាឈ្មោះ {username}", + "label.login": "ចូលប្រើប្រាស់", + "label.logout": "ចេញ", + "label.more": "បន្ថែម", + "label.name": "ឈ្មោះ", + "label.new-password": "ពាក្យសម្ងាត់​ថ្មី", + "label.none": "មិនមាន", + "label.owner": "ម្ចាស់", + "label.password": "ពាក្យសម្ងាត់​", + "label.passwords-dont-match": "ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ", + "label.profile": "ប្រវត្តិរូប", + "label.realtime": "ឥលូវនេះ", + "label.realtime-logs": "កំណត់ត្រាឥលូវនេះ", + "label.refresh": "ផ្ទុកឡើងវិញ", + "label.required": "ទាមទារ", + "label.reset": "កំណត់ឡើងវិញ", + "label.reset-website": "កំណត់ស្ថិតិឡើងវិញ", + "label.save": "រក្សាទុក", + "label.settings": "ការកំណត់", + "label.share-url": "ចែករំលែក URL", + "label.single-day": "ថ្ងៃតែមួយ", + "label.theme": "រូបរាង", + "label.this-month": "ខែនេះ", + "label.this-week": "ស​ប្តា​ហ៍​នេះ", + "label.this-year": "ឆ្នាំ​នេះ", + "label.timezone": "តំបន់ម៉ោង", + "label.today": "ថ្ងៃនេះ", + "label.tracking-code": "លេខកូដតាមដាន", + "label.unknown": "មិនស្គាល់", + "label.username": "ឈ្មោះ​អ្នកប្រើប្រាស់", + "label.view-details": "មើលព័ត៌មានលម្អិត", + "label.websites": "គេហទំព័រ", + "label.yesterday": "ម្សិលមិញ", + "message.active-users": "មានអ្នកមើល {x} នាក់ ឥលូវនេះ", + "message.confirm-delete": "តើអ្នកប្រាកដថាចង់លុប {target} ទេ?", + "message.confirm-reset": "តើអ្នកប្រាកដថាចង់កំណត់ស្ថិតិរបស់ {target} ឡើងវិញទេ?", + "message.copied": "ចម្លងហើយ!", + "message.delete-warning": "ទិន្នន័យដែលពាក់ព័ន្ធទាំងអស់នឹងត្រូវបានលុបផងដែរ។", + "message.edit-dashboard": "កែផ្ទាំងគ្រប់គ្រង", + "message.failure": "មាន​អ្វីមួយ​មិន​ប្រក្រតី។", + "message.get-share-url": "យក URL ចែករំលែក", + "message.get-tracking-code": "យកកូដតាមដាន", + "message.go-to-settings": "ការកំណត់", + "message.incorrect-username-password": "ឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់មិនត្រឹមត្រូវ។", + "message.log.visitor": "អ្នកមើលពីប្រទេស {country} ប្រើប្រាស់កម្មវិធី {browser} លើឧបករណ៍ {os} {device}", + "message.new-version-available": "កំណែថ្មីនៃ umami {version} មានហើយ!", + "message.no-data-available": "មិនមានទិន្នន័យទេ។", + "message.no-websites-configured": "អ្នកមិនទាន់បានដាក់គេហទំព័រណាមួយចូលទេ។", + "message.page-not-found": "រកមិនឃើញទំព័រ។", + "message.powered-by": "ដំណើរការដោយ {name}", + "message.reset-warning": "ស្ថិតិទាំងអស់សម្រាប់គេហទំព័រនេះនឹងត្រូវបានលុប ប៉ុន្តែកូដតាមដានរបស់អ្នកនឹងនៅដដែល។", + "message.save-success": "រក្សាទុកដោយជោគជ័យ។", + "message.share-url": "នេះគឺជា URL ដែលបានចែករំលែកជាសាធារណៈសម្រាប់ {target}។", + "message.toggle-charts": "បិទ/បើកតារាង", + "message.track-stats": "ដើម្បីតាមដានស្ថិតិសម្រាប់ {target} សូមដាក់កូដខាងក្រោមនៅក្នុងផ្នែក {head} នៃគេហទំព័ររបស់អ្នក។", + "message.type-delete": "វាយ {delete} ក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", + "message.type-reset": "វាយ {reset} ក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", + "metrics.actions": "សកម្មភាព", + "metrics.average-visit-time": "មើលជាមធ្យម", + "metrics.bounce-rate": "ចំនួនវិលត្រឡប់", + "metrics.browsers": "កម្មវិធី", + "metrics.countries": "ប្រទេស", + "metrics.device.desktop": "កុំព្យូទ័រលើតុ", + "metrics.device.laptop": "កុំព្យូទ័រយួរដៃ", + "metrics.device.mobile": "ទូរស័ព្ទចល័ត", + "metrics.device.tablet": "ថេប្លេត", + "metrics.devices": "ឧបករណ៍", + "metrics.events": "ព្រឹត្តិការណ៍", + "metrics.filter.combined": "រួមបញ្ចូលគ្នា", + "metrics.filter.raw": "ដើម", + "metrics.languages": "ភាសា", + "metrics.operating-systems": "ប្រព័ន្ធប្រតិបត្តិការ", + "metrics.page-views": "អ្នកមើលទំព័រ", + "metrics.pages": "ទំព័រ", + "metrics.query-parameters": "ប៉ារ៉ាម៉ែត្រ Query", + "metrics.referrers": "អ្នកណែនាំ", + "metrics.screens": "ប្រភេទឧបករណ៍", + "metrics.unique-visitors": "អ្នកចូលមើលម្នាក់ៗ", + "metrics.views": "អ្នកចូលមើល", + "metrics.visitors": "អ្នកទស្សនា" +} From ead831bb3cec7dbf80b6fd263bec2d1041696fa0 Mon Sep 17 00:00:00 2001 From: Benjamin Derksen <45900418+BennyDeeDev@users.noreply.github.com> Date: Thu, 30 Mar 2023 20:34:11 +0200 Subject: [PATCH 53/65] detach as default --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f457631..1ac76c66 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ or change the [port](https://nextjs.org/docs/api-reference/cli#production) to se To build the umami container and start up a Postgres database, run: ```bash -docker compose up +docker compose up -d ``` Alternatively, to pull just the Umami Docker image with PostgreSQL support: From 329df22a5d2194605fe9ab054f9a6850907d0609 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Mon, 3 Apr 2023 23:21:29 -0700 Subject: [PATCH 54/65] Fix realtime. --- lib/date.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/date.js b/lib/date.js index 38e1cc61..d86efcd8 100644 --- a/lib/date.js +++ b/lib/date.js @@ -180,9 +180,9 @@ export function getDateArray(data, startDate, endDate, unit) { const [diff, add, normalize] = dateFuncs[unit]; const n = diff(endDate, startDate) + 1; - function findData(t) { - const d = data.find(({ x }) => { - return normalize(getDateFromString(x)).getTime() === t.getTime(); + function findData(date) { + const d = data.find(({ t }) => { + return normalize(getDateFromString(t)).getTime() === date.getTime(); }); return d?.y || 0; From e71200a53f4044f850e059aec592ca1b3b838eb7 Mon Sep 17 00:00:00 2001 From: Kai Steinke Date: Thu, 6 Apr 2023 23:14:13 +0200 Subject: [PATCH 55/65] feat: add ch-DE locale --- lang/de-CH.json | 113 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 lang/de-CH.json diff --git a/lang/de-CH.json b/lang/de-CH.json new file mode 100644 index 00000000..37b54ec6 --- /dev/null +++ b/lang/de-CH.json @@ -0,0 +1,113 @@ +{ + "label.accounts": "Konte", + "label.add-account": "Konto hinzuefüege", + "label.add-website": "Websiite hinzuefüege", + "label.administrator": "Administrator", + "label.all": "Alli", + "label.all-time": "Gesamte Zitruum", + "label.all-websites": "Alli Websiite", + "label.back": "Zrugg", + "label.cancel": "Abbreche", + "label.change-password": "Passwort ändere", + "label.confirm-password": "Passwort widerhole", + "label.copy-to-clipboard": "Id Zwüscheablag kopiere", + "label.current-password": "Jetzigs Passwort", + "label.custom-range": "Benutzerdefinierte Bereich", + "label.dashboard": "Übersicht", + "label.date-range": "Datumsbereich", + "label.default-date-range": "Vorigstellte Datumsbereich", + "label.delete": "Lösche", + "label.delete-account": "Konto lösche", + "label.delete-website": "Websiite lösche", + "label.dismiss": "Verwerfe", + "label.domain": "Domain", + "label.edit": "Bearbeite", + "label.edit-account": "Konto bearbeite", + "label.edit-website": "Websiite bearbeite", + "label.enable-share-url": "Freigab-URL aktiviere", + "label.invalid": "Ungültig", + "label.invalid-domain": "Ungültigi Domain", + "label.language": "Sprach", + "label.last-days": "Letzti {x} Täg", + "label.last-hours": "Letzti {x} Stunde", + "label.logged-in-as": "Agmeldet als {username}", + "label.login": "Amelde", + "label.logout": "Abmelde", + "label.more": "Meh", + "label.name": "Name", + "label.new-password": "Neus Passwort", + "label.none": "Keis", + "label.owner": "Bsitzer", + "label.password": "Passwort", + "label.passwords-dont-match": "Passwörter stimmed ned überi", + "label.profile": "Profil", + "label.realtime": "Echtzit", + "label.realtime-logs": "Echtzit-Protokoll", + "label.refresh": "Aktualisiere", + "label.required": "Erforderlich", + "label.reset": "Zruggsetze", + "label.reset-website": "Statistik zruggsetze", + "label.save": "Speichere", + "label.settings": "Istellige", + "label.share-url": "Freigab-URL", + "label.single-day": "Ein Tag", + "label.theme": "Thema", + "label.this-month": "De Monet", + "label.this-week": "Die Wuche", + "label.this-year": "Das Jahr", + "label.timezone": "Zitzone", + "label.today": "Hüt", + "label.tracking-code": "Tracking Code", + "label.unknown": "Unbekannt", + "label.username": "Benutzername", + "label.view-details": "Details azeige", + "label.websites": "Websiite", + "label.yesterday": "Gester", + "message.active-users": "{x} {x, plural, one {aktive Bsuecher} other {aktivi Bsuecher}}", + "message.confirm-delete": "Sind Sie sich sicher, {target} zlösche?", + "message.confirm-reset": "Sind Sie sicher, dass Sie dStatistike vo {target} zruggsetze wend?", + "message.copied": "Id Zwischeablag kopiert!", + "message.delete-warning": "Alli dezueghörigi Date werdet ebefalls glöscht.", + "message.edit-dashboard": "Dashboard bearbeite", + "message.failure": "Es isch en Fehler uftrete.", + "message.get-share-url": "Freigab-URL abrüefe", + "message.get-tracking-code": "Tracking Code abrüefe", + "message.go-to-settings": "Zu de Istellige", + "message.incorrect-username-password": "Falschs Passwort oder Benutzername.", + "message.log.visitor": "Bsuecher us {country} benutzt {browser} uf {os} {device}", + "message.new-version-available": "En neui Version vo umami {version} isch verfügbar!", + "message.no-data-available": "Kei Date vorhande.", + "message.no-websites-configured": "Es isch kei Websiite vorhande.", + "message.page-not-found": "Siite ned gfunde.", + "message.powered-by": "Betribe dur {name}", + "message.reset-warning": "Alli Date für die Websiite werdet glöscht, nur de Tracking Code blibt bestah.", + "message.save-success": "Erfolgrich gspeichert.", + "message.share-url": "Das isch d'Öffentlichi URL zum Teile für {target}.", + "message.toggle-charts": "Schaubilder umschalte", + "message.track-stats": "Um d'Statistike für {target} z'übermittle, platziered Sie bitte de folgendi Quelltext im {head} ihrere Websiite.", + "message.type-delete": "Gebed Sie {delete} is Feld une ine um z'bestätige.", + "message.type-reset": "Gebed Sie {reset} is Feld une ine um z'bestätige.", + "metrics.actions": "Aktione", + "metrics.average-visit-time": "Durchschn. Bsuechsziit", + "metrics.bounce-rate": "Absprungsrate", + "metrics.browsers": "Browser", + "metrics.countries": "Länder", + "metrics.device.desktop": "Desktop", + "metrics.device.laptop": "Laptop", + "metrics.device.mobile": "Handy", + "metrics.device.tablet": "Tablet", + "metrics.devices": "Grät", + "metrics.events": "Ereigniss", + "metrics.filter.combined": "Kombiniert", + "metrics.filter.raw": "Rohdate", + "metrics.languages": "Sprache", + "metrics.operating-systems": "Betriebssystem", + "metrics.page-views": "Siitenufrüef", + "metrics.pages": "Siite", + "metrics.query-parameters": "Abfragparameter", + "metrics.referrers": "Referrer", + "metrics.screens": "Bildschirmuflösige", + "metrics.unique-visitors": "Eidütigi Bsuecher", + "metrics.views": "Ufrüef", + "metrics.visitors": "Bsuecher" +} From 5325996a563f738d3912798ec861d9d90d24757c Mon Sep 17 00:00:00 2001 From: Kai Steinke Date: Thu, 6 Apr 2023 23:36:21 +0200 Subject: [PATCH 56/65] Update lang/de-CH.json fix: delete warning message correct grammar Co-authored-by: Philipp <49908921+pwuersch@users.noreply.github.com> --- lang/de-CH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/de-CH.json b/lang/de-CH.json index 37b54ec6..4d533908 100644 --- a/lang/de-CH.json +++ b/lang/de-CH.json @@ -67,7 +67,7 @@ "message.confirm-delete": "Sind Sie sich sicher, {target} zlösche?", "message.confirm-reset": "Sind Sie sicher, dass Sie dStatistike vo {target} zruggsetze wend?", "message.copied": "Id Zwischeablag kopiert!", - "message.delete-warning": "Alli dezueghörigi Date werdet ebefalls glöscht.", + "message.delete-warning": "Alli dezueghörige Date werdet ebefalls glöscht.", "message.edit-dashboard": "Dashboard bearbeite", "message.failure": "Es isch en Fehler uftrete.", "message.get-share-url": "Freigab-URL abrüefe", From 767b25a9af67f74b972a40412db4fe2b81712bcc Mon Sep 17 00:00:00 2001 From: Kai Steinke Date: Thu, 6 Apr 2023 23:40:40 +0200 Subject: [PATCH 57/65] Update lang/de-CH.json Co-authored-by: Philipp <49908921+pwuersch@users.noreply.github.com> --- lang/de-CH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/de-CH.json b/lang/de-CH.json index 4d533908..b8831bc4 100644 --- a/lang/de-CH.json +++ b/lang/de-CH.json @@ -82,7 +82,7 @@ "message.powered-by": "Betribe dur {name}", "message.reset-warning": "Alli Date für die Websiite werdet glöscht, nur de Tracking Code blibt bestah.", "message.save-success": "Erfolgrich gspeichert.", - "message.share-url": "Das isch d'Öffentlichi URL zum Teile für {target}.", + "message.share-url": "Das isch die öffentlichi URL zum Teile für {target}.", "message.toggle-charts": "Schaubilder umschalte", "message.track-stats": "Um d'Statistike für {target} z'übermittle, platziered Sie bitte de folgendi Quelltext im {head} ihrere Websiite.", "message.type-delete": "Gebed Sie {delete} is Feld une ine um z'bestätige.", From ab441505321c174f49df0cda2a74d72791ffb6fb Mon Sep 17 00:00:00 2001 From: Christian Rackerseder Date: Thu, 13 Apr 2023 08:44:34 +0200 Subject: [PATCH 58/65] Prevent indexing content by search engines --- pages/_app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/_app.js b/pages/_app.js index b8653113..b94c74bc 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -37,6 +37,7 @@ export default function App({ Component, pageProps }) { +
From 10a4921942c464ef90842f150284a4085dd578e4 Mon Sep 17 00:00:00 2001 From: Ash Monsh Date: Tue, 18 Apr 2023 10:27:17 +0300 Subject: [PATCH 59/65] update missing translation for arabic lang --- lang/ar-SA.json | 118 +++++++++++++++---------------- public/intl/messages/ar-SA.json | 120 ++++++++++++++++---------------- 2 files changed, 119 insertions(+), 119 deletions(-) diff --git a/lang/ar-SA.json b/lang/ar-SA.json index 55bb7734..57cd58ad 100644 --- a/lang/ar-SA.json +++ b/lang/ar-SA.json @@ -1,145 +1,145 @@ { "label.access-code": "Access code", "label.actions": "اجراءات", - "label.activity-log": "Activity log", + "label.activity-log": "سجل الأحداث", "label.add-website": "إضافة موقع", - "label.admin": "مدير عام؟", + "label.admin": "مدير", "label.all": "الكل", - "label.all-time": "All time", - "label.analytics": "Analytics", + "label.all-time": "كل الوقت", + "label.analytics": "تحليلات", "label.average-visit-time": "متوسط وقت الزيارة", "label.back": "للخلف", "label.bounce-rate": "معدل الارتداد", "label.browsers": "المتصفحات", "label.cancel": "إلغاء", "label.change-password": "تغيير كلمة المرور", - "label.cities": "Cities", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "المدن", + "label.clear-all": "مسح الكل", + "label.confirm": "تأكيد", "label.confirm-password": "تأكيد كلمة المرور", - "label.continue": "Continue", + "label.continue": "متابعة", "label.countries": "الدول", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", + "label.create-team": "انشاء مجموعة", + "label.create-user": "انشاء مستخدم", + "label.created": "تم الانشاء", "label.current-password": "كلمة المرور الحالية", "label.custom-range": "فترة مخصصة", "label.dashboard": "الشاشة الرئيسية", - "label.data": "Data", + "label.data": "البيانات", "label.date-range": "فترة مخصصة", "label.default-date-range": "الفترة المخصصة الافتراضية", "label.delete": "حذف", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-team": "حذف مجموعة", + "label.delete-user": "جذف مستخدم", "label.delete-website": "حذف الموقع", "label.desktop": "كمبيوتر", - "label.details": "Details", + "label.details": "تفاصيل", "label.devices": "الأجهزة", "label.dismiss": "اخفاء", - "label.domain": "نطاق", + "label.domain": "النطاق", "label.edit": "تعديل", - "label.edit-dashboard": "Edit dashboard", + "label.edit-dashboard": "تعديل لوحة التحكم", "label.enable-share-url": "تفعيل مشاركة الرابط", "label.events": "الأحداث", "label.filter-combined": "مجمعة", "label.filter-raw": "مفصلة", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Languages", + "label.join": "انضمام", + "label.join-team": "الانضمام للمجموعة", + "label.language": "اللغة", + "label.languages": "اللغات", "label.laptop": "لابتوب", "label.last-days": "اخر {x} يوم/ايام", "label.last-hours": "اخر {x} ساعة/ساعات", - "label.leave": "Leave", - "label.leave-team": "Leave team", + "label.leave": "مغادرة", + "label.leave-team": "مغادرة المجموعة", "label.logout": "تسجيل الخروج", - "label.members": "Members", + "label.members": "الأعضاء", "label.mobile": "جوال", "label.more": "المزيد", "label.name": "الإسم", "label.new-password": "كلمة مرور جديدة", - "label.none": "None", + "label.none": "لا شيء", "label.operating-systems": "نظام التشغيل", - "label.owner": "Owner", + "label.owner": "المالك", "label.page-views": "مشاهدات الصفحة", "label.pages": "الصفحات", "label.password": "كلمة المرور", "label.powered-by": "مشغل بواسطة {name}", "label.profile": "الملف الشخصي", - "label.queries": "Queries", - "label.query-parameters": "Query parameters", + "label.queries": "استعلامات", + "label.query-parameters": "متغيرات الرابط", "label.realtime": "الوقت الفعلي", "label.referrers": "التحويلات", "label.refresh": "تحديث", - "label.regenerate": "Regenerate", - "label.regions": "Regions", - "label.remove": "Remove", + "label.regenerate": "اعادة انشاء", + "label.regions": "المناطق", + "label.remove": "إزالة", "label.required": "اجباري", "label.reset": "اعادة تعيين", "label.reset-website": "اعادة تعيين الإحصائيات", - "label.role": "Role", + "label.role": "الصلاحية", "label.save": "حفظ", - "label.screens": "Screens", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.screens": "الشاشات", + "label.select-website": "اختيار موقع", + "label.sessions": "الزيارات", "label.settings": "اعدادات", "label.share-url": "مشاركة الرابط", "label.single-day": "يوم واحد", "label.tablet": "تابلت", - "label.team": "Team", - "label.team-guest": "Team guest", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-owner": "Team owner", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "مجموعة", + "label.team-guest": "زائر للمجموعة", + "label.team-id": "معرف المجموعة", + "label.team-member": "عضو المجموعة", + "label.team-owner": "مدير المجموعة", + "label.teams": "المجموعات", + "label.theme": "المظهر", "label.this-month": "الشهر الحالي", "label.this-week": "الاسبوع الحالي", "label.this-year": "السنة الحالية", "label.timezone": "المنطقة الزمنية", - "label.title": "Title", + "label.title": "العنوان", "label.today": "اليوم", - "label.toggle-charts": "Toggle charts", + "label.toggle-charts": "تغيير الإحصائيات", "label.tracking-code": "كود التتبع", "label.unique-visitors": "زائرون فريدون", "label.unknown": "غير معروف", - "label.user": "User", + "label.user": "مستخدم", "label.username": "اسم المستخدم", - "label.users": "Users", - "label.view": "View", + "label.users": "المستخدمين", + "label.view": "عرض", "label.view-details": "عرض التفاصيل", "label.views": "مشاهدات", "label.visitors": "زوار", - "label.website-id": "Website ID", + "label.website-id": "معرف الموقع", "label.websites": "المواقع", - "label.yesterday": "Yesterday", + "label.yesterday": "الأمس", "message.active-users": "{x} حاليا {x, plural, one {زائر واحد} other {زوار}}", "message.confirm-delete": "هل أنت متأكد من حذف {target}?", - "message.confirm-leave": "Are you sure you want to leave {target}?", + "message.confirm-leave": "هل أنت متأكد من مغادرة {target}?", "message.confirm-reset": "هل أنت متأكد من اعادة تعيين الإحصائيات لـ {target}؟", "message.delete-website": "حذف الموقع", "message.delete-website-warning": "كافة البيانات المرتبطة سيم حذفها ايضا.", "message.error": "حدث خطأ ما.", - "message.event-log": "{event} on {url}", + "message.event-log": "{event} في {url}", "message.go-to-settings": "الذهاب إلى الإعدادات", "message.incorrect-username-password": "اسم المستخدم او كلمة المرور غير صحيحة.", "message.invalid-domain": "النطاق غير صحيح", - "message.min-password-length": "Minimum length of {n} characters", + "message.min-password-length": "اقل عدد مسموح به {n} حرف/أحرف", "message.no-data-available": "لا توجد بيانات متاحة.", "message.no-match-password": "كلمة المرور غير متطابقة", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", + "message.no-teams": "لم تقم بإنشاء اي مجموعة.", + "message.no-users": "لا يوجد مستخدمين.", "message.page-not-found": "الصفحة غير موجودة.", "message.reset-website": "اعادة تعيين الإحصائيات", "message.reset-website-warning": "سيتم اعادة تعيين كافة الإحصائيات لهذا الموقع، لكن لن يتم تعيير كود التتبع", "message.saved": "تم الحفظ بنجاح.", "message.share-url": "هذا الرابط الذي تم مشاركته بشكل عام لـ {target}.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", + "message.team-already-member": "أنت عضو في المجموعة", + "message.team-not-found": "لم يتم العثور على المجموعة found.", "message.tracking-code": "كود التتبع", - "message.user-deleted": "User deleted.", + "message.user-deleted": "تم حذف المستخدم.", "message.visitor-log": "زائر من {country} يستخدم {browser} على {os} {device}", - "messages.no-team-websites": "This team does not have any websites.", + "messages.no-team-websites": "هذه المجموعة ليس لديه اي موقع.", "messages.no-websites-configured": "لم تقم بإعداد اي موقع.", - "messages.team-websites-info": "Websites can be viewed by anyone on the team." + "messages.team-websites-info": "يمكن مشاهدة الموقع من اي عضو في المجموعة." } diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index d1f38c00..7cc89917 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -14,7 +14,7 @@ "label.activity-log": [ { "type": 0, - "value": "Activity log" + "value": "سجل الأحداث" } ], "label.add-website": [ @@ -26,7 +26,7 @@ "label.admin": [ { "type": 0, - "value": "مدير عام؟" + "value": "مدير" } ], "label.all": [ @@ -38,13 +38,13 @@ "label.all-time": [ { "type": 0, - "value": "All time" + "value": "كل الوقت" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "تحليلات" } ], "label.average-visit-time": [ @@ -86,19 +86,19 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "المدن" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "مسح الكل" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "تأكيد" } ], "label.confirm-password": [ @@ -110,7 +110,7 @@ "label.continue": [ { "type": 0, - "value": "Continue" + "value": "متابعة" } ], "label.countries": [ @@ -122,19 +122,19 @@ "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "انشاء مجموعة" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "انشاء مستخدم" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "تم الانشاء" } ], "label.current-password": [ @@ -158,7 +158,7 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "البيانات" } ], "label.date-range": [ @@ -182,13 +182,13 @@ "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "حذف مجموعة" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "جذف مستخدم" } ], "label.delete-website": [ @@ -206,7 +206,7 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "تفاصيل" } ], "label.devices": [ @@ -224,7 +224,7 @@ "label.domain": [ { "type": 0, - "value": "نطاق" + "value": "النطاق" } ], "label.edit": [ @@ -236,7 +236,7 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "تعديل لوحة التحكم" } ], "label.enable-share-url": [ @@ -266,25 +266,25 @@ "label.join": [ { "type": 0, - "value": "Join" + "value": "انضمام" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "الانضمام للمجموعة" } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "اللغة" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "اللغات" } ], "label.laptop": [ @@ -324,13 +324,13 @@ "label.leave": [ { "type": 0, - "value": "Leave" + "value": "مغادرة" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "مغادرة المجموعة" } ], "label.logout": [ @@ -342,7 +342,7 @@ "label.members": [ { "type": 0, - "value": "Members" + "value": "الأعضاء" } ], "label.mobile": [ @@ -372,7 +372,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "لا شيء" } ], "label.operating-systems": [ @@ -384,7 +384,7 @@ "label.owner": [ { "type": 0, - "value": "Owner" + "value": "المالك" } ], "label.page-views": [ @@ -424,13 +424,13 @@ "label.queries": [ { "type": 0, - "value": "Queries" + "value": "استعلامات" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "متغيرات الرابط" } ], "label.realtime": [ @@ -454,19 +454,19 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "اعادة انشاء" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "المناطق" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "إزالة" } ], "label.required": [ @@ -490,7 +490,7 @@ "label.role": [ { "type": 0, - "value": "Role" + "value": "الصلاحية" } ], "label.save": [ @@ -502,19 +502,19 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "الشاشات" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "اختيار موقع" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "الزيارات" } ], "label.settings": [ @@ -544,43 +544,43 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "مجموعة" } ], "label.team-guest": [ { "type": 0, - "value": "Team guest" + "value": "زائر للمجموعة" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "معرف المجموعة" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "عضو المجموعة" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "مدير المجموعة" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "المجموعات" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "المظهر" } ], "label.this-month": [ @@ -610,7 +610,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "العنوان" } ], "label.today": [ @@ -622,7 +622,7 @@ "label.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "تغيير الإحصائيات" } ], "label.tracking-code": [ @@ -646,7 +646,7 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "مستخدم" } ], "label.username": [ @@ -658,13 +658,13 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "المستخدمين" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "عرض" } ], "label.view-details": [ @@ -688,7 +688,7 @@ "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "معرف الموقع" } ], "label.websites": [ @@ -700,7 +700,7 @@ "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "الأمس" } ], "message.active-users": [ @@ -754,7 +754,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "هل أنت متأكد من مغادرة " }, { "type": 1, @@ -804,7 +804,7 @@ }, { "type": 0, - "value": " on " + "value": " في " }, { "type": 1, @@ -832,7 +832,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "اقل عدد مسموح به " }, { "type": 1, @@ -840,7 +840,7 @@ }, { "type": 0, - "value": " characters" + "value": " حرف/أحرف" } ], "message.no-data-available": [ @@ -858,13 +858,13 @@ "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "لم تقم بإنشاء اي مجموعة." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "لا يوجد مستخدمين." } ], "message.page-not-found": [ @@ -908,13 +908,13 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "أنت عضو في المجموعة" } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "لم يتم العثور على المجموعة found." } ], "message.tracking-code": [ @@ -926,7 +926,7 @@ "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "تم حذف المستخدم." } ], "message.visitor-log": [ @@ -966,7 +966,7 @@ "messages.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "هذه المجموعة ليس لديه اي موقع." } ], "messages.no-websites-configured": [ @@ -978,7 +978,7 @@ "messages.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "يمكن مشاهدة الموقع من اي عضو في المجموعة." } ] } \ No newline at end of file From 904f9408d855714a7448f14d8742ead0e12ae188 Mon Sep 17 00:00:00 2001 From: Christian Rackerseder Date: Tue, 18 Apr 2023 14:05:43 +0200 Subject: [PATCH 60/65] Prevent indexing content by search engines --- pages/_app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/_app.js b/pages/_app.js index fcff10bf..f1a34521 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -52,6 +52,7 @@ export default function App({ Component, pageProps }) { + {!pathname.includes('/share/') &&