about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsurfdude29 <149612116+surfdude29@users.noreply.github.com>2025-05-10 03:14:42 +0100
committerGitHub <noreply@github.com>2025-05-09 19:14:42 -0700
commita2365e08b48fed049be562ec5aedd2db2fb6d633 (patch)
tree5f3141d59c4d07d66be6c345ff863f9335ce0230
parenta0bd8042621e108f47e09dd096cf0d73fe1cee53 (diff)
downloadvoidsky-a2365e08b48fed049be562ec5aedd2db2fb6d633.tar.zst
Add language: Frisian (#8214)
* Update app.config.js

* Update lingui.config.js

* Update dates.ts

* Update helpers.ts

* Update i18n.ts

* Update i18n.web.ts

* Update languages.ts

* Create messages.po
-rw-r--r--app.config.js1
-rw-r--r--lingui.config.js1
-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/fy/messages.po13
8 files changed, 34 insertions, 0 deletions
diff --git a/app.config.js b/app.config.js
index dae8ca38c..bb81bb8b0 100644
--- a/app.config.js
+++ b/app.config.js
@@ -79,6 +79,7 @@ module.exports = function (_config) {
             'eu',
             'fi',
             'fr',
+            'fy',
             'ga',
             'gd',
             'gl',
diff --git a/lingui.config.js b/lingui.config.js
index b786bea25..79d069613 100644
--- a/lingui.config.js
+++ b/lingui.config.js
@@ -15,6 +15,7 @@ module.exports = {
     'eu',
     'fi',
     'fr',
+    'fy',
     'ga',
     'gd',
     'gl',
diff --git a/src/components/hooks/dates.ts b/src/components/hooks/dates.ts
index e4b0800c4..24895b434 100644
--- a/src/components/hooks/dates.ts
+++ b/src/components/hooks/dates.ts
@@ -21,6 +21,7 @@ import {
   eu,
   fi,
   fr,
+  fy,
   gd,
   gl,
   hi,
@@ -66,6 +67,7 @@ const locales: Record<AppLanguage, Locale | undefined> = {
   eu,
   fi,
   fr,
+  fy,
   ga: undefined,
   gd,
   gl,
diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts
index 5bd790e8e..eb91d2e7c 100644
--- a/src/locale/helpers.ts
+++ b/src/locale/helpers.ts
@@ -181,6 +181,8 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
         return AppLanguage.fi
       case 'fr':
         return AppLanguage.fr
+      case 'fy':
+        return AppLanguage.fy
       case 'ga':
         return AppLanguage.ga
       case 'gd':
diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts
index 1fe89c635..a79368d17 100644
--- a/src/locale/i18n.ts
+++ b/src/locale/i18n.ts
@@ -25,6 +25,7 @@ import {messages as messagesEs} from '#/locale/locales/es/messages'
 import {messages as messagesEu} from '#/locale/locales/eu/messages'
 import {messages as messagesFi} from '#/locale/locales/fi/messages'
 import {messages as messagesFr} from '#/locale/locales/fr/messages'
+import {messages as messagesFy} from '#/locale/locales/fy/messages'
 import {messages as messagesGa} from '#/locale/locales/ga/messages'
 import {messages as messagesGd} from '#/locale/locales/gd/messages'
 import {messages as messagesGl} from '#/locale/locales/gl/messages'
@@ -161,6 +162,14 @@ export async function dynamicActivate(locale: AppLanguage) {
       ])
       break
     }
+    case AppLanguage.fy: {
+      i18n.loadAndActivate({locale, messages: messagesFy})
+      await Promise.all([
+        import('@formatjs/intl-pluralrules/locale-data/fy'),
+        import('@formatjs/intl-numberformat/locale-data/fy'),
+      ])
+      break
+    }
     case AppLanguage.ga: {
       i18n.loadAndActivate({locale, messages: messagesGa})
       await Promise.all([
diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts
index 6fba7dc7b..d721d34ba 100644
--- a/src/locale/i18n.web.ts
+++ b/src/locale/i18n.web.ts
@@ -64,6 +64,10 @@ export async function dynamicActivate(locale: AppLanguage) {
       mod = await import(`./locales/fr/messages`)
       break
     }
+    case AppLanguage.fy: {
+      mod = await import(`./locales/fy/messages`)
+      break
+    }
     case AppLanguage.ga: {
       mod = await import(`./locales/ga/messages`)
       break
diff --git a/src/locale/languages.ts b/src/locale/languages.ts
index 8238d4d20..35adea1ea 100644
--- a/src/locale/languages.ts
+++ b/src/locale/languages.ts
@@ -19,6 +19,7 @@ export enum AppLanguage {
   eu = 'eu',
   fi = 'fi',
   fr = 'fr',
+  fy = 'fy',
   ga = 'ga',
   gd = 'gd',
   gl = 'gl',
@@ -66,6 +67,7 @@ export const APP_LANGUAGES: AppLanguageConfig[] = [
   {code2: AppLanguage.eu, name: 'Euskera – Basque'},
   {code2: AppLanguage.fi, name: 'Suomi – Finnish'},
   {code2: AppLanguage.fr, name: 'Français – French'},
+  {code2: AppLanguage.fy, name: 'Frysk – Frisian'},
   {code2: AppLanguage.ga, name: 'Gaeilge – Irish'},
   {code2: AppLanguage.gd, name: 'Gàidhlig – Scottish Gaelic'},
   {code2: AppLanguage.gl, name: 'Galego – Galician'},
diff --git a/src/locale/locales/fy/messages.po b/src/locale/locales/fy/messages.po
new file mode 100644
index 000000000..b84459e24
--- /dev/null
+++ b/src/locale/locales/fy/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: fy\n"
+"Project-Id-Version: 49a8cb746fbc2ae5707392ee41ddec4c\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2025-04-17 20:00\n"
+"Last-Translator: \n"
+"Language-Team: Frisian\n"