Add language: Welsh (#7866)

* 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
This commit is contained in:
surfdude29
2025-03-05 23:55:29 +00:00
committed by GitHub
parent 1cfdd2a7a0
commit d0c2003cc7
8 changed files with 34 additions and 0 deletions
+2
View File
@@ -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,
+2
View File
@@ -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':
+9
View File
@@ -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([
+4
View File
@@ -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
+2
View File
@@ -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'},
+13
View File
@@ -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"