Add Spanish localization (#2267)

* add french localization

* get dynamic import to work

* fix broken strings

* fix bug

* fix tests

* build files again

* add german locale

* Add german translated strings

* update file details

* fix plural case errors

* make german translations work

* add 'es' as a locale option

* enable spanish translations

* fix spelling mistake
zio/stable
Ansh 2023-12-22 23:30:39 +05:30 committed by GitHub
parent a5c151c041
commit c1d7d9a41b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 4952 additions and 1 deletions

View File

@ -1,6 +1,6 @@
/** @type {import('@lingui/conf').LinguiConfig} */
module.exports = {
locales: ['en', 'hi', 'ja', 'fr'],
locales: ['en', 'hi', 'ja', 'fr', 'de', 'es'],
catalogs: [
{
path: '<rootDir>/src/locale/locales/{locale}/messages',

View File

@ -116,6 +116,10 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
return AppLanguage.ja
case 'fr':
return AppLanguage.fr
case 'de':
return AppLanguage.de
case 'es':
return AppLanguage.es
default:
continue
}

View File

@ -6,6 +6,9 @@ import {messages as messagesEn} from '#/locale/locales/en/messages'
import {messages as messagesHi} from '#/locale/locales/hi/messages'
import {messages as messagesJa} from '#/locale/locales/ja/messages'
import {messages as messagesFr} from '#/locale/locales/fr/messages'
import {messages as messagesDe} from '#/locale/locales/de/messages'
import {messages as messagesEs} from '#/locale/locales/de/messages'
import {sanitizeAppLanguageSetting} from '#/locale/helpers'
import {AppLanguage} from '#/locale/languages'
@ -26,6 +29,14 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesFr})
break
}
case AppLanguage.de: {
i18n.loadAndActivate({locale, messages: messagesDe})
break
}
case AppLanguage.es: {
i18n.loadAndActivate({locale, messages: messagesEs})
break
}
default: {
i18n.loadAndActivate({locale, messages: messagesEn})
break

View File

@ -24,6 +24,14 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/fr/messages`)
break
}
case AppLanguage.de: {
mod = await import(`./locales/de/messages`)
break
}
case AppLanguage.es: {
mod = await import(`./locales/es/messages`)
break
}
default: {
mod = await import(`./locales/en/messages`)
break

View File

@ -9,6 +9,8 @@ export enum AppLanguage {
hi = 'hi',
ja = 'ja',
fr = 'fr',
de = 'de',
es = 'es',
}
interface AppLanguageConfig {
@ -21,6 +23,8 @@ export const APP_LANGUAGES: AppLanguageConfig[] = [
{code2: AppLanguage.hi, name: 'हिंदी'},
{code2: AppLanguage.ja, name: '日本語'},
{code2: AppLanguage.fr, name: 'Français'},
{code2: AppLanguage.de, name: 'Deutsch'},
{code2: AppLanguage.es, name: 'Español'},
]
export const LANGUAGES: Language[] = [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff