about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/hooks/dates.ts2
-rw-r--r--src/locale/helpers.ts2
-rw-r--r--src/locale/i18n.ts9
-rw-r--r--src/locale/i18n.web.ts4
-rw-r--r--src/locale/languages.ts2
-rw-r--r--src/locale/locales/cy/messages.po13
6 files changed, 32 insertions, 0 deletions
diff --git a/src/components/hooks/dates.ts b/src/components/hooks/dates.ts
index 13eae86ac..766e4997a 100644
--- a/src/components/hooks/dates.ts
+++ b/src/components/hooks/dates.ts
@@ -11,6 +11,7 @@ import React from 'react'
 import {formatDistance, Locale} from 'date-fns'
 import {
   ca,
+  cy,
   da,
   de,
   el,
@@ -53,6 +54,7 @@ const locales: Record<AppLanguage, Locale | undefined> = {
   an: undefined,
   ast: undefined,
   ca,
+  cy,
   da,
   de,
   el,
diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts
index 8517bbcfb..0d1017b40 100644
--- a/src/locale/helpers.ts
+++ b/src/locale/helpers.ts
@@ -161,6 +161,8 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
         return AppLanguage.ast
       case 'ca':
         return AppLanguage.ca
+      case 'cy':
+        return AppLanguage.cy
       case 'da':
         return AppLanguage.da
       case 'de':
diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts
index b5b163fa2..2a12bcfaa 100644
--- a/src/locale/i18n.ts
+++ b/src/locale/i18n.ts
@@ -14,6 +14,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 messagesCy} from '#/locale/locales/cy/messages'
 import {messages as messagesDa} from '#/locale/locales/da/messages'
 import {messages as messagesDe} from '#/locale/locales/de/messages'
 import {messages as messagesEl} from '#/locale/locales/el/messages'
@@ -78,6 +79,14 @@ export async function dynamicActivate(locale: AppLanguage) {
       ])
       break
     }
+    case AppLanguage.cy: {
+      i18n.loadAndActivate({locale, messages: messagesCy})
+      await Promise.all([
+        import('@formatjs/intl-pluralrules/locale-data/cy'),
+        import('@formatjs/intl-numberformat/locale-data/cy'),
+      ])
+      break
+    }
     case AppLanguage.da: {
       i18n.loadAndActivate({locale, messages: messagesDa})
       await Promise.all([
diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts
index dcfe20dbd..3600d0533 100644
--- a/src/locale/i18n.web.ts
+++ b/src/locale/i18n.web.ts
@@ -24,6 +24,10 @@ export async function dynamicActivate(locale: AppLanguage) {
       mod = await import(`./locales/ca/messages`)
       break
     }
+    case AppLanguage.cy: {
+      mod = await import(`./locales/cy/messages`)
+      break
+    }
     case AppLanguage.da: {
       mod = await import(`./locales/da/messages`)
       break
diff --git a/src/locale/languages.ts b/src/locale/languages.ts
index 770a2fa6c..2ba34bf37 100644
--- a/src/locale/languages.ts
+++ b/src/locale/languages.ts
@@ -9,6 +9,7 @@ export enum AppLanguage {
   an = 'an',
   ast = 'ast',
   ca = 'ca',
+  cy = 'cy',
   da = 'da',
   de = 'de',
   el = 'el',
@@ -53,6 +54,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.cy, name: 'Cymraeg – Welsh'},
   {code2: AppLanguage.da, name: 'Dansk – Danish'},
   {code2: AppLanguage.de, name: 'Deutsch – German'},
   {code2: AppLanguage.el, name: 'Ελληνικά – Greek'},
diff --git a/src/locale/locales/cy/messages.po b/src/locale/locales/cy/messages.po
new file mode 100644
index 000000000..4e6c3afbf
--- /dev/null
+++ b/src/locale/locales/cy/messages.po
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2023-11-05 16:01-0800\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: cy\n"
+"Project-Id-Version: bluesky-social\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: Welsh\n"