diff --git a/next-i18next.config.js b/next-i18next.config.js index 788692dfd..81fec6340 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -17,6 +17,7 @@ module.exports = { "pl", "pt-BR", "pt", + "sk", "sv", "zh", ], diff --git a/public/locales/sk/app.json b/public/locales/sk/app.json new file mode 100644 index 000000000..31d9ca303 --- /dev/null +++ b/public/locales/sk/app.json @@ -0,0 +1,132 @@ +{ + "12h": "12-hodinový", + "24h": "24-hodinový", + "addParticipant": "Pridať účastníka", + "addTimeOption": "Vybrať konkrétny čas", + "alreadyVoted": "Už ste hlasovali", + "applyToAllDates": "Použiť pre všetky termíny", + "areYouSure": "Ste si istý?", + "back": "Späť", + "calendarHelp": "Nie je možné vytvoriť hlasovanie bez možností. Ak chcete pokračovať, pridajte aspoň jednu možnosť.", + "calendarHelpTitle": "Zabudli ste niečo?", + "cancel": "Zrušiť", + "comment": "Komentovať", + "commentPlaceholder": "Zanechajte komentár k tejto ankete (viditeľný pre všetkých)", + "comments": "Komentáre", + "continue": "Pokračovať", + "copied": "Skopírované", + "copyLink": "Skopírovať odkaz", + "createdBy": "od {{name}}", + "createPoll": "Vytvoriť anketu", + "creatingDemo": "Vytváram demo anketu…", + "delete": "Vymazať", + "deleteComment": "Odstrániť komentár", + "deleteDate": "Odstrániť termín", + "deletedPoll": "Odstránená anketa", + "deletedPollInfo": "Tato anketa už neexistuje.", + "deletePoll": "Odstrániť anketu", + "deletePollDescription": "Všetky dáta súvisiace s touto anketou budú zmazané. Pre potvrdenie zadajte “{{confirmText}}” nižšie:", + "deletingOptionsWarning": "Odstraňujete možnosti, za ktoré už účastníci hlasovali. Ich hlasy budú taktiež odstránené.", + "demoPollNotice": "Demo ankety sa po jednom dni automaticky odstránia", + "description": "Popis", + "descriptionPlaceholder": "Ahojte všetci, prosím hlasujte za termíny, ktoré vám vyhovujú!", + "donate": "Podporiť", + "edit": "Upraviť", + "editDetails": "Upraviť údaje", + "editOptions": "Upraviť možnosti", + "email": "Email", + "emailPlaceholder": "jan.slovak@email.com", + "endingGuestSessionNotice": "Keď relácia hosťa skončí, nie je možné ju obnoviť. Nebudete môcť upravovať žiadne hlasy alebo komentáre, ktoré ste v rámci relácie zapracovali.", + "endSession": "Ukončiť reláciu", + "errorCreate": "Bum-bác! Pri vytváraní ankety nastala chyba. Chyba bola zaznamenaná a na jej oprave pracujeme.", + "exportToCsv": "Exportovať do CSV", + "finish": "Dokončiť", + "forgetMe": "Zabudnúť ma", + "goToAdmin": "Prejsť do administrácie", + "guest": "Hosť", + "guestSessionNotice": "Používate reláciu hosťa. Vďaka tomu vás rozpoznáme, keď sa vrátite neskôr a budete môcť upraviť svoje hlasy.", + "guestSessionReadMore": "Prečítajte si viac o relácii hosťa.", + "hide": "Skryť", + "ifNeedBe": "Pokiaľ je to nutné", + "linkHasExpired": "Platnosť tohto odkazu vypršala alebo už nie je platný", + "loading": "Načítava sa…", + "loadingParticipants": "Načítavam účastníkov…", + "location": "Poloha", + "locationPlaceholder": "Kaviareň u Maca", + "lockPoll": "Zamknúť anketu", + "login": "Prihlásiť sa", + "loginCheckInbox": "Skontrolujte si prosím svoju e-mailovú schránku.", + "loginMagicLinkSent": "Magický odkaz bol odoslaný na:", + "loginSendMagicLink": "Zaslať magický odkaz", + "loginViaMagicLink": "Prihlásiť sa pomocou magického odkazu", + "loginViaMagicLinkDescription": "Pošleme vám e-mail s magickým odkazom, ktorým sa môžete do aplikácie prihlásiť.", + "loginWithValidEmail": "Zadajte platnú e-mailovú adresu", + "logout": "Odhlásiť sa", + "manage": "Spravovať", + "menu": "Menu", + "mixedOptionsDescription": "Nemôžete mať v jednej ankete súbežne dátum aj čas. Ktorú voľbu chcete zachovať?", + "mixedOptionsKeepDates": "Zachovať dátum", + "mixedOptionsKeepTimes": "Zachovať čas", + "mixedOptionsTitle": "Vydržte chvíľu…🤔", + "monday": "Pondelok", + "monthView": "Zobrazenie mesiaca", + "name": "Meno", + "namePlaceholder": "Ján Slovák", + "new": "Nový", + "newPoll": "Nová anketa", + "next": "Ďalej", + "nextMonth": "Ďalší mesiac", + "no": "Nie", + "noDatesSelected": "Nebol vybraný žiaden termín", + "notificationsDisabled": "Upozornenia boli vypnuté", + "notificationsOff": "Upozornenia sú vypnuté", + "notificationsOn": "Upozornenia sú povolené", + "notificationsOnDescription": "Akonáhle sa v ankete niečo zmení, dostanete upozornenie na adresu {{email}}.", + "notificationsVerifyEmail": "Pre zapnutie upozornení musíte overiť svoj e-mail", + "noVotes": "Nikto pre túto možnosť nehlasoval", + "ok": "OK", + "options": "Možnosti", + "participant": "Účastník", + "participantCount_other": "{{count}} účastníkov", + "participantCount": "{{count}} účastník", + "pollHasBeenLocked": "Anketa bola uzamknutá", + "pollHasBeenVerified": "Vaša anketa bola overená", + "pollOwnerNotice": "Dobrý deň, {{name}}, zdá sa, že ste vlastníkom tejto ankety.", + "pollsEmpty": "Neboli vytvorené žiadne ankety", + "possibleAnswers": "Možné odpovede", + "preferences": "Nastavenia", + "previousMonth": "Predchádzajúci mesiac", + "profileLogin": "Profil - Prihlásenie", + "profileUser": "Profil - {{username}}", + "requiredNameError": "Požadované je meno", + "save": "Uložiť", + "saveInstruction": "Vyberte svoju dostupnosť a kliknite na {{save}}", + "share": "Zdielať", + "shareDescription": "Tento odkaz zašlite vašim účastníkom, aby mohli v ankete hlasovať.", + "shareLink": "Zdieľať cez odkaz", + "specifyTimes": "Určite časy", + "specifyTimesDescription": "Zahrnúť počiatočné a koncové časy pre každý termín", + "stepSummary": "Krok {{current}} z {{total}}", + "sunday": "Nedeľa", + "timeAndDate": "Čas & dátum", + "timeFormat": "Formát času:", + "timeZone": "Časová zóna:", + "title": "Názov", + "titlePlaceholder": "Pracovná porada", + "today": "Dnes", + "unlockPoll": "Odomknúť anketu", + "unverifiedMessage": "Na adresu {{email}} bol zaslaný odkaz pre overenie e-mailovej adresy.", + "user": "Užívateľ", + "vote": "Hlasovať", + "voteCount_other": "{{count}} hlasov", + "voteCount": "{{count}} hlas", + "weekStartsOn": "Týždeň začína v", + "weekView": "Zobrazenie týždňa", + "whatsThis": "Čo je toto?", + "yes": "Áno", + "you": "Vy", + "yourDetails": "Vaše údaje", + "yourName": "Vaše meno…", + "yourProfile": "Váš profil", + "yourPolls": "Vaše ankety" +} diff --git a/public/locales/sk/common.json b/public/locales/sk/common.json new file mode 100644 index 000000000..d02766fcb --- /dev/null +++ b/public/locales/sk/common.json @@ -0,0 +1,15 @@ +{ + "blog": "Blog", + "discussions": "Diskusie", + "donate": "Podporiť", + "footerCredit": "Vytvoril @imlukevella", + "footerSponsor": "Tento projekt je financovaný používateľmi. Zvážte jeho podporu príspevkom.", + "home": "Domov", + "language": "Jazyk", + "links": "Odkazy", + "poweredBy": "Beží na", + "privacyPolicy": "Ochrana osobných údajov", + "starOnGithub": "Podporte nás na GitHube", + "support": "Podpora", + "volunteerTranslator": "Pomôžte s prekladom tejto stránky" +} diff --git a/public/locales/sk/errors.json b/public/locales/sk/errors.json new file mode 100644 index 000000000..0ced546c8 --- /dev/null +++ b/public/locales/sk/errors.json @@ -0,0 +1,6 @@ +{ + "notFoundTitle": "404 nenájdené", + "notFoundDescription": "Nemohli sme nájsť stránku, ktorú hľadáte.", + "goToHome": "Prejsť na Domovskú stránku", + "startChat": "Spustiť chat" +} diff --git a/public/locales/sk/homepage.json b/public/locales/sk/homepage.json new file mode 100644 index 000000000..8181fdbf0 --- /dev/null +++ b/public/locales/sk/homepage.json @@ -0,0 +1,36 @@ +{ + "3Ls": "Áno — s tromi L", + "adFree": "Bez reklám", + "adFreeDescription": "Svoj blokátor reklám môžete vypnúť. Tu ho potrebovať nebudete.", + "comments": "Komentáre", + "commentsDescription": "Účastníci sa môžu vyjadriť k vašemu prieskumu a komentáre budú viditeľné pre všetkých.", + "features": "Funkcie", + "featuresSubheading": "Jednoduché a šikovné plánovanie", + "follow": "Sledovať", + "getStarted": "Začnite tu", + "heroSubText": "Nájdite správny termín bez zložitého dohadovania sa", + "heroText": "Plánujte
skupinvé stretnutia
jednoducho a rýchlo", + "links": "Odkazy", + "liveDemo": "Zobraziť ukážku", + "metaDescription": "Naplánujte si skupinové stretnutia v ten najvhodnejší čas. Bezplatná alternatíva k službe Doodle.", + "metaTitle": "Rallly — Naplánujte skupinové stretnutia", + "mobileFriendly": "Vhodné pre mobil", + "mobileFriendlyDescription": "Funguje skvele na mobilných zariadeniach, aby účastníci mohli odpovedať na ankety, nech sú kdekoľvek.", + "new": "Nové", + "noLoginRequired": "Bez prihlásenia", + "noLoginRequiredDescription": "Pre vytvorenie alebo účasť v ankete sa nemusíte prihlásiť", + "notifications": "Notifikácie", + "notificationsDescription": "Majte prehľad o tom, kto odpovedal. Dostávajte upozornenia, keď účastníci hlasujú alebo komentujú vašu anketu.", + "openSource": "Open-source", + "openSourceDescription": "Celý kód je plne open-source a k dispozícii na GitHub.", + "participant": "Účastník", + "participantCount_other": "{{count}} účastníkov", + "participantCount": "{{count}} účastník", + "perfect": "Super!", + "principles": "Zásady", + "principlesSubheading": "Nie sme ako ostatní", + "selfHostable": "Vlastný hosting", + "selfHostableDescription": "Rozbehnite si vlastný server a získajte plnú kontrolu nad svojimi dátami", + "timeSlots": "Časové sloty", + "timeSlotsDescription": "Nastavte čas začiatku a konca pre každú z možností vo vašej ankete. Časy môžu byť automaticky upravené podľa časovej zóny každého účastníka, alebo môžu byť nastavené tak, aby časové zóny úplne ignorovali." +} diff --git a/src/components/poll/language-selector.tsx b/src/components/poll/language-selector.tsx index de59c905b..c34921739 100644 --- a/src/components/poll/language-selector.tsx +++ b/src/components/poll/language-selector.tsx @@ -32,6 +32,7 @@ export const LanguageSelect: React.VoidFunctionComponent<{ + ); diff --git a/src/middleware.ts b/src/middleware.ts index 35ecef190..6de7e4fd4 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -15,6 +15,7 @@ const supportedLocales = [ "pl", "pt-BR", "pt", + "sk", "sv", "zh", ]; diff --git a/src/utils/dayjs.tsx b/src/utils/dayjs.tsx index 6db974899..8fe396425 100644 --- a/src/utils/dayjs.tsx +++ b/src/utils/dayjs.tsx @@ -60,6 +60,11 @@ const dayjsLocales: Record< timeFormat: "24h", import: () => import("dayjs/locale/sv"), }, + sk: { + weekStartsOn: "monday", + timeFormat: "24h", + import: () => import("dayjs/locale/sk"), + }, cs: { weekStartsOn: "monday", timeFormat: "24h",