Back to list
dev_to 2026年3月15日

JavaScript のための軽量 i18n ライブラリを作成しました — globaly-i18n をご紹介

I Built a Lightweight i18n Library for JavaScript — Meet globaly-i18n

Translated: 2026/3/15 18:01:11
javascripti18ntypescriptinternationalizationnode-js

Japanese Translation

globaly-i18n フロントエンドとバックエンドアプリケーション(Node.js、React、Vue、Next.js、Express、NestJS など)でシームレスに動作するように設計されています。 ✨ 機能 ```typescript const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default); console.log(i18n.t("common:home.title", { name: "Rounak" })); // Welcome Rounak ``` locales ```typescript console.log(i18n.t("common:home.title", { name: "Rounak" })); // Willkommen Rounak // 英語:Welcome Rounak ``` ```typescript console.log(i18n.t("dashboard:stats.users")); // You have 5 items ``` ⚡ 翻訳キャッシュ 反復呼び出しの場合: ```typescript i18n.t("common:home.title"); ``` 💾 レージの永続化 ```typescript await i18n.setLanguage("de"); ``` 🧠 レージ検出 ブラウザの設定 ```typescript const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default) import { I18nProvider } from "globaly-i18n/react"; import { useTranslation } from "globaly-i18n/react"; function Home() { return ( {t("common:home.title")} ); } ``` Node.js の場合: ```typescript const app = express(); const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default) app.use(i18nMiddleware(i18n)); app.get("/", (req, res) => { app.listen(3000); // エクサンプルソースコード ``` ```bash npx globaly-i18n extract src npx globaly-i18n translate --from en --to de,fr,es ``` ```typescript // 有効 i18n.t("common:home.title"); ``` | オプション | タイプ | 説明 | | :--- | :--- | :--- | | ... | ... | ... | ```typescript const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default) console.log(i18n.t("common:home.title")); function Example() { return {t("common:home.title")} ; } ``` gLOBALY-I18N は以下に焦点を当てています: ⚡ ライトウェイトなアーキテクチャ ```bash npm test ``` 🔑 キーワード 📄 ライセンス ⭐ サポート ⭐ リポジトリをスター 📦 他の開発者と共有 🐛 バグ報告や改善提案

Original Content

globaly-i18n Designed to work seamlessly in frontend and backend applications, including Node.js, React, Vue, Next.js, Express, and NestJS. npm version weekly downloads total downloads bundle size license typescript ✨ Features npm install globaly-i18n yarn add globaly-i18n pnpm add globaly-i18n const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default), console.log(i18n.t("common:home.title", { name: "Rounak" })); Welcome Rounak locales console.log(i18n.t("common:home.title", { name: "Rounak" })); Willkommen Rounak You have 5 items Welcome Rounak await i18n.loadNamespace("dashboard"); console.log(i18n.t("dashboard:stats.users")); ⚡ Translation Caching Repeated calls like: i18n.t("common:home.title"); 💾 Language Persistence await i18n.setLanguage("de"); 🧠 Language Detection Browser settings const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default) import { I18nProvider } from "globaly-i18n/react"; import { useTranslation } from "globaly-i18n/react"; function Home() { return ( {t("common:home.title")} const app = express(); const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default) app.use(i18nMiddleware(i18n)); app.get("/", (req, res) => { app.listen(3000); Example source code t("common:home.title"); npx globaly-i18n extract src npx globaly-i18n translate --from en --to de,fr,es locales i18n.t("common:home.title"); // valid Option Type Description const i18n = await createI18n({ ./locales/${lang}/${ns}.json).then((m) => m.default) console.log(i18n.t("common:home.title")); function Example() { return {t("common:home.title")} ; } globaly-i18n focuses on: ⚡ lightweight architecture npm test 🔑 Keywords 📄 License ⭐ Support ⭐ Star the repository 📦 Share it with other developers 🐛 Report issues or suggest improvements