From ee25d646cf8b068cc30c82a58540c3044d0438ec Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Wed, 4 Feb 2026 16:25:18 +0100 Subject: [PATCH] feat(i18n): add icons support --- app/utils/icons.ts | 8 ++++++++ i18n/i18n.config.ts | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 app/utils/icons.ts create mode 100644 i18n/i18n.config.ts diff --git a/app/utils/icons.ts b/app/utils/icons.ts new file mode 100644 index 0000000..e548c6e --- /dev/null +++ b/app/utils/icons.ts @@ -0,0 +1,8 @@ +export const ICONS = { + A: "Α", + B: "Β", + X: "Χ", + Y: "Υ", + HEART: "Γ", + SAD: "Δ", +} as const; diff --git a/i18n/i18n.config.ts b/i18n/i18n.config.ts new file mode 100644 index 0000000..109cd46 --- /dev/null +++ b/i18n/i18n.config.ts @@ -0,0 +1,24 @@ +import { ICONS } from "~/utils/icons"; + +const i18nIcons = { + icon_a: ICONS.A, + icon_b: ICONS.B, + icon_x: ICONS.X, + icon_y: ICONS.Y, + icon_heart: ICONS.HEART, + icon_sad: ICONS.SAD, +} as const; + +export default defineI18nConfig(() => ({ + // resolve icons + postTranslation: (translated) => { + if (typeof translated !== "string") return translated; + + let result = translated; + for (const [key, value] of Object.entries(i18nIcons)) { + result = result.replaceAll(key, value); + } + + return result; + }, +}));