From 599b81934ed69a234f0267fbb87728c85743c772 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 29 Dec 2024 20:19:51 -0600 Subject: [PATCH] feat: simplification --- .../core/localization/strings/constants.ts | 16 +++++++-- packages/core/lang/en.json | 10 ++++++ .../core/src/blitzkit/supportedLocales.ts | 22 +++++++------ .../website/src/pages/[...locale]/index.astro | 33 +++++++++++++++++-- 4 files changed, 66 insertions(+), 15 deletions(-) diff --git a/packages/bot/src/core/localization/strings/constants.ts b/packages/bot/src/core/localization/strings/constants.ts index 15078968d..8f750cb64 100644 --- a/packages/bot/src/core/localization/strings/constants.ts +++ b/packages/bot/src/core/localization/strings/constants.ts @@ -1,6 +1,16 @@ -import { LOCALE_FILES } from '@blitzkit/core'; +import { SupportedLocale } from '@blitzkit/core'; import { Locale } from 'discord.js'; +const DISCORD_SUPPORTED_LOCALES: Record = { + en: Locale.EnglishUS, + es: Locale.SpanishES, + hr: Locale.Croatian, + pt: Locale.PortugueseBR, + ru: Locale.Russian, + uk: Locale.Ukrainian, + zh: Locale.ChineseCN, +}; + export const SUPPORTED_DISCORD_LOCALES = Object.values( - LOCALE_FILES, -) as Locale[]; + DISCORD_SUPPORTED_LOCALES, +); diff --git a/packages/core/lang/en.json b/packages/core/lang/en.json index 804560ee6..0439d8d0e 100644 --- a/packages/core/lang/en.json +++ b/packages/core/lang/en.json @@ -1,5 +1,15 @@ { "common": { + "locales": { + "en": "English", + "es": "Spanish", + "hr": "Croatian", + "pt": "Portuguese", + "ru": "Russian", + "uk": "Ukrainian", + "zh": "Chinese" + }, + "wn8_percentile": { "0": "Very bad", "1": "Bad", diff --git a/packages/core/src/blitzkit/supportedLocales.ts b/packages/core/src/blitzkit/supportedLocales.ts index 9c3ca86f4..864646de8 100644 --- a/packages/core/src/blitzkit/supportedLocales.ts +++ b/packages/core/src/blitzkit/supportedLocales.ts @@ -1,11 +1,13 @@ -export const SUPPORTED_LOCALES = ['en', 'es', 'hr', 'ru', 'uk', 'cn']; +export const SUPPORTED_LOCALES = [ + 'en', + 'es', + 'hr', + 'pt', + 'ru', + 'uk', + 'zh', +] as const; + export const DEFAULT_LOCALE = SUPPORTED_LOCALES[0]; -export const LOCALE_FILES: Record<(typeof SUPPORTED_LOCALES)[number], string> = - { - en: 'en-US', - es: 'es-ES', - hr: 'hr', - ru: 'ru', - uk: 'uk', - cn: 'zh-CN', - }; + +export type SupportedLocale = (typeof SUPPORTED_LOCALES)[number]; diff --git a/packages/website/src/pages/[...locale]/index.astro b/packages/website/src/pages/[...locale]/index.astro index 2d099b323..d43e87439 100644 --- a/packages/website/src/pages/[...locale]/index.astro +++ b/packages/website/src/pages/[...locale]/index.astro @@ -1,6 +1,11 @@ --- -import { assertSecret, SUPPORTED_LOCALES } from '@blitzkit/core'; -import { Box, Flex, Heading } from '@radix-ui/themes'; +import { + assertSecret, + DEFAULT_LOCALE, + SUPPORTED_LOCALES, +} from '@blitzkit/core'; +import strings from '@blitzkit/core/lang/en.json'; +import { Box, Flex, Heading, Link, Text } from '@radix-ui/themes'; import type { GetStaticPaths } from 'astro'; import { AesonPlug } from '../../components/AesonPlug'; import HomeHero from '../../components/HomeHero.astro'; @@ -34,6 +39,30 @@ export const getStaticPaths = (() => { + + { + SUPPORTED_LOCALES.map((thisLocale, index) => { + const selected = + thisLocale === locale || + (locale === undefined && thisLocale === DEFAULT_LOCALE); + + return ( + <> + {index > 0 && |} + + + {strings.common.locales[thisLocale]} + + + ); + }) + } + + {