diff --git a/app.config.js b/app.config.js index 790ae490eb..ca1536ae02 100644 --- a/app.config.js +++ b/app.config.js @@ -81,6 +81,7 @@ module.exports = function (_config) { 'an', 'ast', 'ca', + 'cs', 'cy', 'da', 'de', diff --git a/lingui.config.ts b/lingui.config.ts index 2d16659717..3a4d57a07c 100644 --- a/lingui.config.ts +++ b/lingui.config.ts @@ -7,6 +7,7 @@ export default defineConfig({ 'an', 'ast', 'ca', + 'cs', 'cy', 'da', 'de', diff --git a/src/components/ageAssurance/const.ts b/src/components/ageAssurance/const.ts index 35f96e8417..93ff0f4152 100644 --- a/src/components/ageAssurance/const.ts +++ b/src/components/ageAssurance/const.ts @@ -8,6 +8,7 @@ export const KWS_SUPPORTED_LANGS = [ {value: 'en', label: 'English'}, {value: 'ar', label: 'العربية'}, {value: 'zh-Hans', label: '简体中文'}, + {value: 'cs', label: 'Čeština'}, {value: 'nl', label: 'Nederlands'}, {value: 'tl', label: 'Filipino'}, {value: 'fr', label: 'Français'}, diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts index 18b378c263..63b09b3141 100644 --- a/src/locale/helpers.ts +++ b/src/locale/helpers.ts @@ -169,6 +169,8 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage { return AppLanguage.ast case 'ca': return AppLanguage.ca + case 'cs': + return AppLanguage.cs case 'cy': return AppLanguage.cy case 'da': diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts index 17445d99b2..42041ca9a4 100644 --- a/src/locale/i18n.ts +++ b/src/locale/i18n.ts @@ -17,6 +17,7 @@ import {AppLanguage} from '#/locale/languages' import {messages as messagesAn} from '#/locale/locales/an/messages' import {messages as messagesAst} from '#/locale/locales/ast/messages' import {messages as messagesCa} from '#/locale/locales/ca/messages' +import {messages as messagesCs} from '#/locale/locales/cs/messages' import {messages as messagesCy} from '#/locale/locales/cy/messages' import {messages as messagesDa} from '#/locale/locales/da/messages' import {messages as messagesDe} from '#/locale/locales/de/messages' @@ -92,6 +93,16 @@ export async function dynamicActivate(locale: AppLanguage) { ]) return dateLocale } + case AppLanguage.cs: { + i18n.loadAndActivate({locale, messages: messagesCs}) + const [dateLocale] = await Promise.all([ + import('date-fns/locale/cs').then(m => m.cs), + import('@formatjs/intl-pluralrules/locale-data/cs.js'), + import('@formatjs/intl-numberformat/locale-data/cs.js'), + import('@formatjs/intl-displaynames/locale-data/cs.js'), + ]) + return dateLocale + } case AppLanguage.cy: { i18n.loadAndActivate({locale, messages: messagesCy}) const [dateLocale] = await Promise.all([ diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts index 4d36ccb28b..6d76f9f400 100644 --- a/src/locale/i18n.web.ts +++ b/src/locale/i18n.web.ts @@ -36,6 +36,13 @@ export async function dynamicActivate(locale: AppLanguage) { ]) break } + case AppLanguage.cs: { + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/cs/messages`).then(m => m.messages), + import('date-fns/locale/cs').then(m => m.cs), + ]) + break + } case AppLanguage.cy: { ;[messages, dateLocale] = await Promise.all([ import(`./locales/cy/messages`).then(m => m.messages), diff --git a/src/locale/languages.ts b/src/locale/languages.ts index af7ae9e20b..bf6fd5f857 100644 --- a/src/locale/languages.ts +++ b/src/locale/languages.ts @@ -9,6 +9,7 @@ export enum AppLanguage { an = 'an', ast = 'ast', ca = 'ca', + cs = 'cs', cy = 'cy', da = 'da', de = 'de', @@ -58,6 +59,7 @@ export const APP_LANGUAGES: AppLanguageConfig[] = [ {code2: AppLanguage.an, name: 'aragonés – Aragonese'}, {code2: AppLanguage.ast, name: 'asturianu – Asturian'}, {code2: AppLanguage.ca, name: 'català – Catalan'}, + {code2: AppLanguage.cs, name: 'čeština – Czech'}, {code2: AppLanguage.cy, name: 'Cymraeg – Welsh'}, {code2: AppLanguage.da, name: 'dansk – Danish'}, {code2: AppLanguage.de, name: 'Deutsch – German'},