about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsurfdude29 <149612116+surfdude29@users.noreply.github.com>2025-03-05 23:57:09 +0000
committerGitHub <noreply@github.com>2025-03-05 15:57:09 -0800
commitdae152da85d74f68e637d5867cdba46a20d79251 (patch)
treec2c040c117d6596d271aad7d5c20220be92e9d8e
parenta42efd15d781f5bd7225589bbc0dd753aff44166 (diff)
downloadvoidsky-dae152da85d74f68e637d5867cdba46a20d79251.tar.zst
Add language: Esperanto (#7863)
* Create messages.po

* Update app.config.js

* Update lingui.config.js

* Update dates.ts

* Update helpers.ts

* Update i18n.ts

* Update i18n.web.ts

* Update languages.ts
-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/eo/messages.po13
8 files changed, 34 insertions, 0 deletions
diff --git a/app.config.js b/app.config.js
index c6f219e92..97e416f03 100644
--- a/app.config.js
+++ b/app.config.js
@@ -79,6 +79,7 @@ module.exports = function (config) {
             'da',
             'de',
             'el',
+            'eo',
             'es',
             'eu',
             'fi',
diff --git a/lingui.config.js b/lingui.config.js
index 38e194eb2..b786bea25 100644
--- a/lingui.config.js
+++ b/lingui.config.js
@@ -10,6 +10,7 @@ module.exports = {
     'de',
     'el',
     'en-GB',
+    'eo',
     'es',
     'eu',
     'fi',
diff --git a/src/components/hooks/dates.ts b/src/components/hooks/dates.ts
index 6b4b5f8fd..e4b0800c4 100644
--- a/src/components/hooks/dates.ts
+++ b/src/components/hooks/dates.ts
@@ -16,6 +16,7 @@ import {
   de,
   el,
   enGB,
+  eo,
   es,
   eu,
   fi,
@@ -60,6 +61,7 @@ const locales: Record<AppLanguage, Locale | undefined> = {
   de,
   el,
   ['en-GB']: enGB,
+  eo,
   es,
   eu,
   fi,
diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts
index e570224b1..5bd790e8e 100644
--- a/src/locale/helpers.ts
+++ b/src/locale/helpers.ts
@@ -171,6 +171,8 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
         return AppLanguage.el
       case 'en-GB':
         return AppLanguage.en_GB
+      case 'eo':
+        return AppLanguage.eo
       case 'es':
         return AppLanguage.es
       case 'eu':
diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts
index 312904c22..1fe89c635 100644
--- a/src/locale/i18n.ts
+++ b/src/locale/i18n.ts
@@ -20,6 +20,7 @@ import {messages as messagesDe} from '#/locale/locales/de/messages'
 import {messages as messagesEl} from '#/locale/locales/el/messages'
 import {messages as messagesEn} from '#/locale/locales/en/messages'
 import {messages as messagesEn_GB} from '#/locale/locales/en-GB/messages'
+import {messages as messagesEo} from '#/locale/locales/eo/messages'
 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'
@@ -120,6 +121,14 @@ export async function dynamicActivate(locale: AppLanguage) {
       ])
       break
     }
+    case AppLanguage.eo: {
+      i18n.loadAndActivate({locale, messages: messagesEo})
+      await Promise.all([
+        import('@formatjs/intl-pluralrules/locale-data/eo'),
+        import('@formatjs/intl-numberformat/locale-data/eo'),
+      ])
+      break
+    }
     case AppLanguage.es: {
       i18n.loadAndActivate({locale, messages: messagesEs})
       await Promise.all([
diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts
index 25458ed38..6fba7dc7b 100644
--- a/src/locale/i18n.web.ts
+++ b/src/locale/i18n.web.ts
@@ -44,6 +44,10 @@ export async function dynamicActivate(locale: AppLanguage) {
       mod = await import(`./locales/en-GB/messages`)
       break
     }
+    case AppLanguage.eo: {
+      mod = await import(`./locales/eo/messages`)
+      break
+    }
     case AppLanguage.es: {
       mod = await import(`./locales/es/messages`)
       break
diff --git a/src/locale/languages.ts b/src/locale/languages.ts
index 43f1626b6..e014ea88b 100644
--- a/src/locale/languages.ts
+++ b/src/locale/languages.ts
@@ -14,6 +14,7 @@ export enum AppLanguage {
   de = 'de',
   el = 'el',
   en_GB = 'en-GB',
+  eo = 'eo',
   es = 'es',
   eu = 'eu',
   fi = 'fi',
@@ -60,6 +61,7 @@ export const APP_LANGUAGES: AppLanguageConfig[] = [
   {code2: AppLanguage.de, name: 'Deutsch – German'},
   {code2: AppLanguage.el, name: 'Ελληνικά – Greek'},
   {code2: AppLanguage.en_GB, name: 'English (UK)'},
+  {code2: AppLanguage.eo, name: 'Esperanto'},
   {code2: AppLanguage.es, name: 'Español – Spanish'},
   {code2: AppLanguage.eu, name: 'Euskera – Basque'},
   {code2: AppLanguage.fi, name: 'Suomi – Finnish'},
diff --git a/src/locale/locales/eo/messages.po b/src/locale/locales/eo/messages.po
new file mode 100644
index 000000000..f1cb62dd2
--- /dev/null
+++ b/src/locale/locales/eo/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: eo\n"
+"Project-Id-Version: bluesky-social\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: Esperanto\n"