mirror of
https://github.com/lukevella/rallly.git
synced 2025-06-17 10:01:48 +02:00
Add czech locale (#339)
This commit is contained in:
parent
2092fa639b
commit
0280489e22
8 changed files with 212 additions and 15 deletions
|
@ -4,19 +4,20 @@ module.exports = {
|
||||||
i18n: {
|
i18n: {
|
||||||
defaultLocale: "en",
|
defaultLocale: "en",
|
||||||
locales: [
|
locales: [
|
||||||
"en",
|
"cs",
|
||||||
"es",
|
|
||||||
"da",
|
"da",
|
||||||
"de",
|
"de",
|
||||||
|
"en",
|
||||||
|
"es",
|
||||||
"fr",
|
"fr",
|
||||||
|
"hu",
|
||||||
"it",
|
"it",
|
||||||
"ko",
|
"ko",
|
||||||
"nl",
|
"nl",
|
||||||
"sv",
|
|
||||||
"pl",
|
"pl",
|
||||||
"pt",
|
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
"hu",
|
"pt",
|
||||||
|
"sv",
|
||||||
"zh",
|
"zh",
|
||||||
],
|
],
|
||||||
localePath: path.resolve("./public/locales"),
|
localePath: path.resolve("./public/locales"),
|
||||||
|
|
132
public/locales/cs/app.json
Normal file
132
public/locales/cs/app.json
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
{
|
||||||
|
"12h": "12-hodinový",
|
||||||
|
"24h": "24-hodinový",
|
||||||
|
"addParticipant": "Přidat účastníka",
|
||||||
|
"addTimeOption": "Vybrat konkrétní čas",
|
||||||
|
"alreadyVoted": "Již jste hlasoval",
|
||||||
|
"applyToAllDates": "Použít pro všechny termíny",
|
||||||
|
"areYouSure": "Jste si jisti?",
|
||||||
|
"back": "Zpět",
|
||||||
|
"calendarHelp": "Hlasování nelze vytvořit bez žádných možností. Chcete-li pokračovat, přidejte alespoň jednu možnost.",
|
||||||
|
"calendarHelpTitle": "Zapomněli jste něco?",
|
||||||
|
"cancel": "Zrušit",
|
||||||
|
"comment": "Okomentovat",
|
||||||
|
"commentPlaceholder": "Zanechte komentář k této anketě (uvidí jej všichni)",
|
||||||
|
"comments": "Komentáře",
|
||||||
|
"continue": "Pokračovat",
|
||||||
|
"copied": "Zkopírováno",
|
||||||
|
"copyLink": "Zkopírovat odkaz",
|
||||||
|
"createdBy": "od <b>{{name}}</b>",
|
||||||
|
"createPoll": "Vytvořit anketu",
|
||||||
|
"creatingDemo": "Vytvářím demo anketu…",
|
||||||
|
"delete": "Smazat",
|
||||||
|
"deleteComment": "Odstranit komentář",
|
||||||
|
"deleteDate": "Odstranit termín",
|
||||||
|
"deletedPoll": "Smazaná anketa",
|
||||||
|
"deletedPollInfo": "Tato anketa již neexistuje.",
|
||||||
|
"deletePoll": "Smazat anketu",
|
||||||
|
"deletePollDescription": "Všechna data související s touto anketou budou smazána. Pro potvrzení, prosím, zadejte <s>\"{{confirmText}}”</s> do níže uvedeného pole:",
|
||||||
|
"deletingOptionsWarning": "Mažete možnosti, pro které účastníci hlasovali. Jejich hlasy budou taktéž smazány.",
|
||||||
|
"demoPollNotice": "Demo ankety se po jednom dni automaticky odstraní",
|
||||||
|
"description": "Popis",
|
||||||
|
"descriptionPlaceholder": "Ahoj všichni, prosím, hlasujte pro termíny, které vám vyhovují!",
|
||||||
|
"donate": "Podpořit",
|
||||||
|
"edit": "Upravit",
|
||||||
|
"editDetails": "Upravit údaje",
|
||||||
|
"editOptions": "Upravit možnosti",
|
||||||
|
"email": "E-mail",
|
||||||
|
"emailPlaceholder": "karel.novak@email.com",
|
||||||
|
"endingGuestSessionNotice": "Jakmile relace hosta skončí, nelze ji obnovit. Nebudete moci upravovat žádné hlasy nebo komentáře, které jste v rámci relace zapracovali.",
|
||||||
|
"endSession": "Ukončit relaci",
|
||||||
|
"errorCreate": "Jejda! Při vytváření ankety došlo k chybě. Chyba byla zaznamenána a na její opravě pracujeme.",
|
||||||
|
"exportToCsv": "Exportovat do CSV",
|
||||||
|
"finish": "Dokončit",
|
||||||
|
"forgetMe": "Zapomenout mě",
|
||||||
|
"goToAdmin": "Přejít do administrace",
|
||||||
|
"guest": "Host",
|
||||||
|
"guestSessionNotice": "Používáte relaci hosta. Díky tomu Vás rozpoznáme, pokud se vrátíte později a budete moci upravit své hlasy.",
|
||||||
|
"guestSessionReadMore": "Přečtěte si o relaci hosta více.",
|
||||||
|
"hide": "Skrýt",
|
||||||
|
"ifNeedBe": "Pokud je to nutné",
|
||||||
|
"linkHasExpired": "Platnost tohoto odkazu vypršela nebo již není platný",
|
||||||
|
"loading": "Načítám…",
|
||||||
|
"loadingParticipants": "Načítám účastníky…",
|
||||||
|
"location": "Místo",
|
||||||
|
"locationPlaceholder": "Příjemná kavárna v centru",
|
||||||
|
"lockPoll": "Zamknout anketu",
|
||||||
|
"login": "Přihlásit",
|
||||||
|
"loginCheckInbox": "Zkontrolujte si prosím svou e-mailovou schránku.",
|
||||||
|
"loginMagicLinkSent": "Kouzelný odkaz byl zaslán na:",
|
||||||
|
"loginSendMagicLink": "Zaslat kouzelný odkaz",
|
||||||
|
"loginViaMagicLink": "Přihlásit se pomocí kouzelného odkazu",
|
||||||
|
"loginViaMagicLinkDescription": "Pošleme vám e-mail s kouzelným odkazem, kterým se můžete do aplikace přihlásit.",
|
||||||
|
"loginWithValidEmail": "Zadejte platnou e-mailovou adresu",
|
||||||
|
"logout": "Odhlásit se",
|
||||||
|
"manage": "Spravovat",
|
||||||
|
"menu": "Menu",
|
||||||
|
"mixedOptionsDescription": "Nemůžete mít ve stejné anketě souběžně datum i čas. Kterou volbu chcete zachovat?",
|
||||||
|
"mixedOptionsKeepDates": "Zachovat datum",
|
||||||
|
"mixedOptionsKeepTimes": "Zachovat čas",
|
||||||
|
"mixedOptionsTitle": "Vydržte chvilku…🤔",
|
||||||
|
"monday": "Pondělí",
|
||||||
|
"monthView": "Měsíční pohled",
|
||||||
|
"name": "Jméno",
|
||||||
|
"namePlaceholder": "Karel Novák",
|
||||||
|
"new": "Nový",
|
||||||
|
"newPoll": "Nová anketa",
|
||||||
|
"next": "Další",
|
||||||
|
"nextMonth": "Další měsíc",
|
||||||
|
"no": "Ne",
|
||||||
|
"noDatesSelected": "Nebyl vybrán žádný termín",
|
||||||
|
"notificationsDisabled": "Oznámení byla vypnuta",
|
||||||
|
"notificationsOff": "Oznámení jsou vypnuta",
|
||||||
|
"notificationsOn": "Oznámení jsou zapnuta",
|
||||||
|
"notificationsOnDescription": "Jakmile se v anketě něco změní, dostanete upozornění na adresu <b>{{email}}</b>.",
|
||||||
|
"notificationsVerifyEmail": "Pro zapnutí oznámení musíte ověřit svůj e-mail",
|
||||||
|
"noVotes": "Nikdo pro tuto možnost nehlasoval",
|
||||||
|
"ok": "Ok",
|
||||||
|
"options": "Možnosti",
|
||||||
|
"participant": "Účastník",
|
||||||
|
"participantCount_other": "{{count}} účastníků",
|
||||||
|
"participantCount": "{{count}} účastník",
|
||||||
|
"pollHasBeenLocked": "Anketa byla uzamčena",
|
||||||
|
"pollHasBeenVerified": "Vaše anketa byla ověřena",
|
||||||
|
"pollOwnerNotice": "Dobrý den, {{name}}, zdá se, že jste vlastníkem této ankety.",
|
||||||
|
"pollsEmpty": "Nebyly vytvořeny žádné ankety",
|
||||||
|
"possibleAnswers": "Možné odpovědi",
|
||||||
|
"preferences": "Předvolby",
|
||||||
|
"previousMonth": "Předchozí měsíc",
|
||||||
|
"profileLogin": "Profil - přihlášení",
|
||||||
|
"profileUser": "Profil - {{username}}",
|
||||||
|
"requiredNameError": "Jméno je vyžadováno",
|
||||||
|
"save": "Uložit",
|
||||||
|
"saveInstruction": "Vyberte svou dostupnost a klikněte na <b>{{save}}</b>",
|
||||||
|
"share": "Sdílet",
|
||||||
|
"shareDescription": "Tento odkaz zašlete vašim <b>účastníkům</b>, aby mohli v anketě hlasovat.",
|
||||||
|
"shareLink": "Odkaz ke sdílení",
|
||||||
|
"specifyTimes": "Určete časy",
|
||||||
|
"specifyTimesDescription": "Zahrnout počáteční a koncové časy pro každý termín",
|
||||||
|
"stepSummary": "Krok {{current}} z {{total}}",
|
||||||
|
"sunday": "Neděli",
|
||||||
|
"timeAndDate": "Čas & datum",
|
||||||
|
"timeFormat": "Formát času:",
|
||||||
|
"timeZone": "Časová zóna:",
|
||||||
|
"title": "Název",
|
||||||
|
"titlePlaceholder": "Měsíční setkání",
|
||||||
|
"today": "Dnes",
|
||||||
|
"unlockPoll": "Odemknout anketu",
|
||||||
|
"unverifiedMessage": "Na adresu <b>{{email}}</b> byl zaslán odkaz pro ověření e-mailové adresy.",
|
||||||
|
"user": "Uživatel",
|
||||||
|
"vote": "Hlasovat",
|
||||||
|
"voteCount_other": "{{count}} hlasů",
|
||||||
|
"voteCount": "{{count}} hlas",
|
||||||
|
"weekStartsOn": "Týden začíná v",
|
||||||
|
"weekView": "Týdenní pohled",
|
||||||
|
"whatsThis": "Co to znamená?",
|
||||||
|
"yes": "Ano",
|
||||||
|
"you": "Vy",
|
||||||
|
"yourDetails": "Vaše údaje",
|
||||||
|
"yourName": "Vaše jméno…",
|
||||||
|
"yourProfile": "Váš profil",
|
||||||
|
"yourPolls": "Vaše ankety"
|
||||||
|
}
|
15
public/locales/cs/common.json
Normal file
15
public/locales/cs/common.json
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"blog": "Blog",
|
||||||
|
"discussions": "Diskuze",
|
||||||
|
"donate": "Podpořit",
|
||||||
|
"footerCredit": "Vytvořil <a>@imlukevella</a>",
|
||||||
|
"footerSponsor": "Tento projekt je financován uživateli. Zvažte jeho podporu <a>příspěvkem</a>.",
|
||||||
|
"home": "Domů",
|
||||||
|
"language": "Jazyk",
|
||||||
|
"links": "Odkazy",
|
||||||
|
"poweredBy": "Poháněn",
|
||||||
|
"privacyPolicy": "Ochrana osobních údajů",
|
||||||
|
"starOnGithub": "Dejte nám hvězdu na Github",
|
||||||
|
"support": "Podpora",
|
||||||
|
"volunteerTranslator": "Pomozte přeložit tento web"
|
||||||
|
}
|
6
public/locales/cs/errors.json
Normal file
6
public/locales/cs/errors.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"notFoundTitle": "404 nenalezeno",
|
||||||
|
"notFoundDescription": "Nemohli jsme najít stránku, kterou hledáte.",
|
||||||
|
"goToHome": "Přejít domů",
|
||||||
|
"startChat": "Zahájit chat"
|
||||||
|
}
|
36
public/locales/cs/homepage.json
Normal file
36
public/locales/cs/homepage.json
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"3Ls": "Ano—se 3 <e>L</e>",
|
||||||
|
"adFree": "Bez reklam",
|
||||||
|
"adFreeDescription": "Nechte svůj blokátor reklam spát = tady nebude potřeba.",
|
||||||
|
"comments": "Komentáře",
|
||||||
|
"commentsDescription": "Účastníci se mohou vyjádřit k vašemu průzkumu a komentáře budou viditelné pro všechny.",
|
||||||
|
"features": "Funkce",
|
||||||
|
"featuresSubheading": "Plánování, chytřeji",
|
||||||
|
"follow": "Sledujte",
|
||||||
|
"getStarted": "Začněme",
|
||||||
|
"heroSubText": "Najděte správné datum bez běhání tam a zpět",
|
||||||
|
"heroText": "Plánujte<br/><s>setkání skupin</s><br />snadno",
|
||||||
|
"links": "Odkazy",
|
||||||
|
"liveDemo": "Demo",
|
||||||
|
"metaDescription": "Vytvořte ankety a hlasujte pro nalezení nejlepšího dne nebo času. Bezplatná alternativa k Doodle.",
|
||||||
|
"metaTitle": "Rallly - naplánovat setkání skupin",
|
||||||
|
"mobileFriendly": "Vhodné pro mobil",
|
||||||
|
"mobileFriendlyDescription": "Funguje skvěle na mobilních zařízeních, aby účastníci mohli odpovídat na ankety, ať jsou kdekoliv.",
|
||||||
|
"new": "Nové",
|
||||||
|
"noLoginRequired": "Bez přihlášení",
|
||||||
|
"noLoginRequiredDescription": "Pro vytvoření nebo účast v anketě se nemusíte přihlásit",
|
||||||
|
"notifications": "Oznámení",
|
||||||
|
"notificationsDescription": "Sledujte kdo odpověděl. Dostávejte upozornění, když účastníci hlasují nebo komentují Vaši anketu.",
|
||||||
|
"openSource": "Open-source",
|
||||||
|
"openSourceDescription": "Veškerý kód je plně open-source a <a>k dispozici na GitHub</a>.",
|
||||||
|
"participant": "Účastník",
|
||||||
|
"participantCount_other": "{{count}} účastníků",
|
||||||
|
"participantCount": "{{count}} účastník",
|
||||||
|
"perfect": "Skvěle!",
|
||||||
|
"principles": "Zásady",
|
||||||
|
"principlesSubheading": "Nejsme jako ostatní",
|
||||||
|
"selfHostable": "Vlastní hosting",
|
||||||
|
"selfHostableDescription": "Rozjeďte si vlastní server a získejte plnou kontrolu nad svými daty",
|
||||||
|
"timeSlots": "Časové sloty",
|
||||||
|
"timeSlotsDescription": "Nastavte počáteční a koncový čas pro každou možnost ve Vaší anketě. Časy mohou být automaticky upraveny podle časové zóny každého účastníka, nebo mohou být nastaveny tak, aby zcela časové zóny ignorovaly."
|
||||||
|
}
|
|
@ -19,19 +19,20 @@ export const LanguageSelect: React.VoidFunctionComponent<{
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<option value="en">English</option>
|
<option value="en">English</option>
|
||||||
|
<option value="cs">Česky</option>
|
||||||
|
<option value="zh">汉语</option>
|
||||||
<option value="da">Dansk</option>
|
<option value="da">Dansk</option>
|
||||||
<option value="de">Deutsch</option>
|
<option value="de">Deutsch</option>
|
||||||
<option value="es">Español</option>
|
<option value="es">Español</option>
|
||||||
<option value="fr">Français</option>
|
<option value="fr">Français</option>
|
||||||
<option value="hu">Magyar</option>
|
|
||||||
<option value="it">Italiano</option>
|
<option value="it">Italiano</option>
|
||||||
<option value="ko">한국어</option>
|
<option value="ko">한국어</option>
|
||||||
|
<option value="hu">Magyar</option>
|
||||||
<option value="nl">Nederlands</option>
|
<option value="nl">Nederlands</option>
|
||||||
<option value="pt">Português</option>
|
|
||||||
<option value="pl">Polski</option>
|
<option value="pl">Polski</option>
|
||||||
|
<option value="pt">Português</option>
|
||||||
<option value="pt-BR">Português - Brasil</option>
|
<option value="pt-BR">Português - Brasil</option>
|
||||||
<option value="sv">Svenska</option>
|
<option value="sv">Svenska</option>
|
||||||
<option value="zh">汉语</option>
|
|
||||||
</select>
|
</select>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,20 +2,21 @@ import languageParser from "accept-language-parser";
|
||||||
import { NextRequest, NextResponse } from "next/server";
|
import { NextRequest, NextResponse } from "next/server";
|
||||||
|
|
||||||
const supportedLocales = [
|
const supportedLocales = [
|
||||||
"en",
|
"cs",
|
||||||
"es",
|
|
||||||
"da",
|
"da",
|
||||||
"de",
|
"de",
|
||||||
|
"en",
|
||||||
|
"es",
|
||||||
"fr",
|
"fr",
|
||||||
|
"hu",
|
||||||
"it",
|
"it",
|
||||||
"ko",
|
"ko",
|
||||||
"nl",
|
"nl",
|
||||||
"sv",
|
|
||||||
"hu",
|
|
||||||
"zh",
|
|
||||||
"pt",
|
|
||||||
"pt-BR",
|
|
||||||
"pl",
|
"pl",
|
||||||
|
"pt-BR",
|
||||||
|
"pt",
|
||||||
|
"sv",
|
||||||
|
"zh",
|
||||||
];
|
];
|
||||||
|
|
||||||
export function middleware({ headers, cookies, nextUrl }: NextRequest) {
|
export function middleware({ headers, cookies, nextUrl }: NextRequest) {
|
||||||
|
|
|
@ -60,6 +60,11 @@ const dayjsLocales: Record<
|
||||||
timeFormat: "24h",
|
timeFormat: "24h",
|
||||||
import: () => import("dayjs/locale/sv"),
|
import: () => import("dayjs/locale/sv"),
|
||||||
},
|
},
|
||||||
|
cs: {
|
||||||
|
weekStartsOn: "monday",
|
||||||
|
timeFormat: "24h",
|
||||||
|
import: () => import("dayjs/locale/cs"),
|
||||||
|
},
|
||||||
pl: {
|
pl: {
|
||||||
weekStartsOn: "monday",
|
weekStartsOn: "monday",
|
||||||
timeFormat: "24h",
|
timeFormat: "24h",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue