diff --git a/frontend/apps/remark42/app/locales/cs.json b/frontend/apps/remark42/app/locales/cs.json
new file mode 100644
index 00000000..9881334c
--- /dev/null
+++ b/frontend/apps/remark42/app/locales/cs.json
@@ -0,0 +1,174 @@
+{
+ "auth.back": "Zpět",
+ "auth.email-address": "Emailová adresa",
+ "auth.loading": "Načítání...",
+ "auth.oauth-button": "Přihlásit se pomocí {provider}",
+ "auth.oauth-source": "Použít sociální sítě",
+ "auth.open-profile": "Otevřít můj profil",
+ "auth.or": "nebo",
+ "auth.signin": "Přihlásit se",
+ "auth.signout": "Odhlásit se",
+ "auth.submit": "Odesalt",
+ "auth.symbols-restriction": "Uživatelské jméno musí obsahovat pouze písmena, čísla, podtržítka nebo mezery",
+ "auth.telegram-check": "Zkontrolovat",
+ "auth.telegram-link": "pomocí odkazu",
+ "auth.telegram-message-1": "Otevřít Telegram",
+ "auth.telegram-message-2": "a zde klepněte na tlačítko “Start”",
+ "auth.telegram-message-3": "Poté klepněte na tlačítko “Zkontrolovat”",
+ "auth.telegram-optional-qr": "nebo naskenujte QR kód",
+ "auth.telegram-qr": "Telegram QR kód",
+ "auth.user-not-found": "Nebyl nalezen žádný uživatel",
+ "auth.username": "Uživatelské jméno",
+ "authPanel.disable-comments": "Zakázat komentáře",
+ "authPanel.disabled-cookies": "Zakázat blokování souborů cookie třetích stran pro přihlášení nebo otevření komentářů",
+ "authPanel.enable-comments": "Povolit komentáře",
+ "authPanel.enable-cookies": "Povolit soubory cookie pro přihlášení a komentáře",
+ "authPanel.hide-settings": "Skrýt nastavení",
+ "authPanel.new-page": "nová stránka",
+ "authPanel.read-only": "Pouze pro čtení",
+ "authPanel.show-settings": "Zobrazit nastavení",
+ "blockingDuration.day": "Na den",
+ "blockingDuration.month": "Na měsíc",
+ "blockingDuration.permanently": "Trvale",
+ "blockingDuration.week": "Na týden",
+ "comment.block": "Blokovat",
+ "comment.block-user": "Chcete zablokovat uživatele {userName} na {duration}?",
+ "comment.blocked-user": "Uživatel zablokován",
+ "comment.blocking-period": "Doba blokování",
+ "comment.cancel": "Zrušit",
+ "comment.copied": "Zkopírováno!",
+ "comment.copy": "Kopírovat",
+ "comment.delete": "Smazat",
+ "comment.delete-message": "Opravdu chccete smazat tento komentář?",
+ "comment.deleted-comment": "Komentář byl smazán",
+ "comment.deleted-user": "Odstraněný uživatel",
+ "comment.edit": "Upravit",
+ "comment.edit-countdown": "Editace bude zakázána",
+ "comment.expired-time": "Čas pro editaci komentáře vypršel",
+ "comment.go-to-parent": "Přejít na nadřazený komentář",
+ "comment.hide": "Skrýt",
+ "comment.hide-user-comment": "Opravdu chcete skrýt komentář uživatele {userName}?",
+ "comment.paid-patreon": "Placený odběratel na Patreonu",
+ "comment.pin": "Připnout",
+ "comment.pin-comment": "Opravdu chcete připnout tento komentář?",
+ "comment.reply": "Odpovědět",
+ "comment.time": "{day} v {time}",
+ "comment.toggle-verification": "Přepnout ověření",
+ "comment.unblock": "Odblokovat",
+ "comment.unblock-user": "Opravdu chcete odblokovat uživatele?",
+ "comment.unpin": "Odepnout",
+ "comment.unpin-comment": "Opravdu chete odepnout komentář?",
+ "comment.unverified-user": "Neověřený uživatel",
+ "comment.unverify-user": "Opravdu chcete odebrat ověření uživateli {userName}?",
+ "comment.verified-user": "Ověřený uživatel",
+ "comment.verify-user": "Opravdu chcete uživatele {userName} ověřit?",
+ "commentForm.anonymous-uploading-disabled": "Nahrávání obrázků je pro anonymní uživatele zakázáno. Abyste mohli přikládat obrázky, nepřihlašujte se jako anonymní uživatelé.",
+ "commentForm.exceeded-size": "{fileName} překračuje limit velikosti souborů (max. {maxImageSize})",
+ "commentForm.input-placeholder": "Zde napište Váš komentář",
+ "commentForm.new-comment": "Nový komentář",
+ "commentForm.notice-about-styling": "Pole podporuje Markdown syntax",
+ "commentForm.preview": "Náhled",
+ "commentForm.reply": "Odpovědět",
+ "commentForm.save": "Uložit",
+ "commentForm.send": "Odeslat",
+ "commentForm.subscribe-by": "Přihlásit se k odběru",
+ "commentForm.subscribe-or": "nebo",
+ "commentForm.unauthorized-uploading-disabled": "Nahrávání obrázků je pro neautorizované uživatele zakázáno. Před nahráváním byste se měli přihlásit.",
+ "commentForm.unexpected-error": "Něco se pokazilo. Zkuste to prosím později.",
+ "commentForm.upload-file-fail": "{fileName} se nepodařilo nahrát z důvodu \"{errorMessage}\"",
+ "commentForm.uploading": "Nahrávání...",
+ "commentForm.uploading-file": "nahrávání {fileName}...",
+ "commentsSort.best": "Nejlepší",
+ "commentsSort.least-controversial": "Nejméně kontroverzní",
+ "commentsSort.least-recently-updated": "Nejméně aktualizované",
+ "commentsSort.most-controversial": "Nejvíce kontroverzní",
+ "commentsSort.newest": "Nejnovější",
+ "commentsSort.oldest": "Nejstarší",
+ "commentsSort.recently-updated": "Nedávno aktualizované",
+ "commentsSort.worst": "Nejhorší",
+ "empty-state": "Zatím zde nejsou žádné komentáře.",
+ "errors.0": "Něco se pokazilo. Zkuste provést akci pozdějin",
+ "errors.1": "Komentář nelze nalézt. Obnovte prosím stránku a zkuste to znovu.",
+ "errors.10": "Vypršel čas pro editaci komentáře",
+ "errors.11": "Komentář již obsahuje odpověď, editace není možná.",
+ "errors.12": "Nelze hlasovat pro tento komentář. Zkuste to prosím později.",
+ "errors.13": "Nemůžete hlasovat pro svůj vlastní komentář",
+ "errors.14": "Pro tento komentář jste již hlasoval",
+ "errors.15": "Tento komentář již obsahuje příliš mnoho hlasů",
+ "errors.16": "U tohoto komentáře bylo dosaženo minimálního skóre.",
+ "errors.17": "Akce zamítnuta. Zkuste to prosím znovu o něco později.",
+ "errors.18": "Requested file cannot be found.",
+ "errors.19": "Požadovaný soubor nelze nalézt.",
+ "errors.2": "Nepodařilo se zrušit příchozí požadavek.",
+ "errors.20": "Odeslaný obrázek nebyl nalezen. Zkuste jej nahrát znovu.",
+ "errors.3": "K této operaci nemáte oprávnění.",
+ "errors.4": "Komentář obsahuje neplatná data",
+ "errors.5": "Komentář nenalezen. Obnovte stránku a zkuste to znovu",
+ "errors.6": "Stránku nelze nalézt. Obnovte prosím stránku a zkuste to znovu.",
+ "errors.7": "Uživatel byl zablokován..",
+ "errors.8": "Nelze přidávat komentáře, protože jsou pouze pro čtení",
+ "errors.9": "Editace komentáře se nezdařila. Zkuste to prosím později.",
+ "errors.failed-fetch": "Nepodařilo se načíst. Zkontrolujte prosím své internetové připojení nebo to zkuste později.",
+ "errors.forbidden": "Zakázáno.",
+ "errors.not-authorized": "Nejste přihlášen.",
+ "errors.to-many-request": "Dosáhli jste maximálního limitu požadavků.",
+ "errors.unexpected-error": "Něco se pokazilo.",
+ "profile.close": "Zavřít profil",
+ "profile.request-to-delete-data": "Žádost o odstranění mých údajů",
+ "retry": "Zkusit znovu",
+ "root.pinned-comments": "Připnuté komentáře",
+ "root.powered-by": "Běží na Remark42",
+ "root.show-more": "Zobrazit více",
+ "settings.block": "Blokovat",
+ "settings.block-time": "do {day}, {time}",
+ "settings.block-user": "Opravdu chcete zablokovat uživatele {userName}?",
+ "settings.blocked-users-header": "Blokovaní uživatelé:",
+ "settings.blocked-users-title": "Blokovaní uživatelé",
+ "settings.hidden-user-header": "Skrytí uživatelé:",
+ "settings.hidden-users-title": "Skrytí uživatelé",
+ "settings.hide": "skrýt",
+ "settings.no-blocked-users": "Nejsou zde žádní blokovaní uživatelé",
+ "settings.no-hidden-users": "Nejsou zde žádní skrytí uživatelé",
+ "settings.permanently": "trvale",
+ "settings.show": "zobrazit",
+ "settings.unblock": "odblokovat",
+ "settings.unblock-user": "Chcete odblokovat uživatele {userName}?",
+ "settings.unknown": "neznámý",
+ "sort-by": "Řadit podle",
+ "subscribeByEmail.back": "Zpět",
+ "subscribeByEmail.close": "Zavřít",
+ "subscribeByEmail.email": "Email",
+ "subscribeByEmail.have-been-subscribed": "Byli jste přihlášeni k odběru aktualizací e-mailem",
+ "subscribeByEmail.have-been-unsubscribed": "Byli jste odhlášeni z odběru aktualizací e-mailem",
+ "subscribeByEmail.only-registered-users": "Dostupné pouze pro registrované uživatele",
+ "subscribeByEmail.submit": "Odeslat",
+ "subscribeByEmail.subscribe": "Přihlásit se k odběru",
+ "subscribeByEmail.subscribe-by-email": "Přihlášení k odběru e-mailem",
+ "subscribeByEmail.subscribe-to-replies": "Přihlásit se k odběru odpovědí",
+ "subscribeByEmail.subscribed": "Jste přihlášeni k odběru aktualizací e-mailem",
+ "subscribeByEmail.unsubscribe": "Odhlásit se",
+ "subscribeByRSS.button-title": "Odebírat pomocí RSS",
+ "subscribeByRSS.replies": "Odpovědi",
+ "subscribeByRSS.site": "Web",
+ "subscribeByRSS.thread": "Vlákno",
+ "subscribeByRSS.title": "RSS",
+ "token": "Token",
+ "token.expired": "Token expiroval",
+ "token.invalid": "Token je neplatný",
+ "toolbar.attach-image": "Obrázek",
+ "toolbar.bold": "Tučný text {shortcut}",
+ "toolbar.code": "Kód",
+ "toolbar.header": "Nadpis",
+ "toolbar.italic": "Kurzíva {shortcut}",
+ "toolbar.link": "Odkaz {shortcut}",
+ "toolbar.ordered-list": "Číslovaný seznam",
+ "toolbar.quote": "Citace",
+ "toolbar.unordered-list": "Nečíslovaný seznam",
+ "user.comments": "Komentáře",
+ "user.load-more": "Načíst více",
+ "user.my-comments": "Moje komentáře",
+ "vote.controversy": "Kontroverznost: {value}",
+ "vote.downvote": "Udělit negativní hlas",
+ "vote.score": "Výsledek hlasování",
+ "vote.upvote": "Udělit pozitivní hlas"
+}
diff --git a/frontend/apps/remark42/app/utils/loadLocale.ts b/frontend/apps/remark42/app/utils/loadLocale.ts
index e7170b32..f2e8b375 100644
--- a/frontend/apps/remark42/app/utils/loadLocale.ts
+++ b/frontend/apps/remark42/app/utils/loadLocale.ts
@@ -55,9 +55,10 @@ export async function loadLocale(locale: string): Promise
return import(/* webpackChunkName: "ar" */ '../locales/ar.json').then((res) => res.default).catch(() => enMessages);
}
if (locale === 'zh-tw') {
- return import(/* webpackChunkName: "zh-tw" */ '../locales/zh-tw.json')
- .then((res) => res.default)
- .catch(() => enMessages);
+ return import(/* webpackChunkName: "zh-tw" */ '../locales/zh-tw.json').then((res) => res.default).catch(() => enMessages);
+ }
+ if (locale === 'cs') {
+ return import(/* webpackChunkName: "cs" */ '../locales/cs.json').then((res) => res.default).catch(() => enMessages);
}
return enMessages;
diff --git a/frontend/apps/remark42/tasks/supportedLocales.json b/frontend/apps/remark42/tasks/supportedLocales.json
index 0ee14bfc..c57b8278 100644
--- a/frontend/apps/remark42/tasks/supportedLocales.json
+++ b/frontend/apps/remark42/tasks/supportedLocales.json
@@ -1 +1 @@
-["en", "ru", "de", "fi", "es", "zh", "tr", "bg", "ua", "pl", "vi", "be", "fr", "ja", "ko", "bp", "it", "ar", "zh-tw", "th"]
+["en", "ru", "de", "fi", "es", "zh", "tr", "bg", "ua", "pl", "vi", "be", "fr", "ja", "ko", "bp", "it", "ar", "zh-tw", "th", "cs"]