1 Very easy way to use @aurorah/i18n
Wrap your text with t. The text itself is the key — there are no ID files to maintain. If a language has no translation yet, the original text is shown, so nothing ever breaks. t renders synchronously from the in-memory cache: on a miss it shows the source text immediately and fetches the translation in the background, and await i18n.load() on a later run downloads that language's whole cache in ONE request.
// "www.example.com" = your project's namespace // "ko_kr" = {language}_{country} (ISO 639-1 + ISO 3166-1) const i18n = new I18n({ namespace: "www.example.com", language: "ko_kr" }); const t = i18n.t; // `t` stays bound to the instance t("Hello~ world !!!"); // [1] t("menu/marketplace"); // [2]