{"_id":"@arckit/i18n","_rev":"4-bc764e8ac891253db674cfebc840afef","name":"@arckit/i18n","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@arckit/i18n","version":"1.0.0","keywords":["arckit","i18n","i18next","internationalization","language-detection","react"],"author":{"name":"Marc Gavanier","email":"marc@gavanier.com"},"license":"MIT","_id":"@arckit/i18n@1.0.0","maintainers":[{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"}],"homepage":"https://github.com/arckit-dev/i18n#readme","bugs":{"url":"https://github.com/arckit-dev/i18n/issues"},"dist":{"shasum":"4c1deb19db05b62d7b355f5c513d444912349b42","tarball":"https://registry.npmjs.org/@arckit/i18n/-/i18n-1.0.0.tgz","fileCount":35,"integrity":"sha512-1um5TRkD4zRxTiapr18x3NQ+FIHWq1jvLacrOJI7PN2h8HfjwbHMNWItNCU+X0vK1FVqvuijn2b4WpSy+FTKsQ==","signatures":[{"sig":"MEUCIQCJzgetaGzH46duOqefQ62dRxQ6kZjZPOwgb0mdFuaFPAIgMXrXgflKY/G+KQmPPtz/Bw0JRWDuH6npGKscwJFD1vI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arckit%2fi18n@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94798},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./detectors":{"import":{"types":"./dist/detectors.d.ts","default":"./dist/detectors.js"},"require":{"types":"./dist/detectors.d.cts","default":"./dist/detectors.cjs"}},"./resource-loader/node":{"import":"./dist/resource-loader.node.js","require":"./dist/resource-loader.node.cjs"},"./resource-loader/fetch":{"import":"./dist/resource-loader.fetch.js","require":"./dist/resource-loader.fetch.cjs"}},"gitHead":"4ea1b7d8bc3f1dfa6d03dc9513b8e4b9e66c9b37","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepare":"husky","release":"semantic-release","lint:code":"biome check --write","typecheck":"tsc --noEmit","check:attw":"attw --pack .","check:size":"size-limit","test:watch":"vitest","lint:commit":"commitlint --from origin/main","lint:unused":"knip","lint:code:ci":"biome ci","check:publint":"publint","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"},"repository":{"url":"git+https://github.com/arckit-dev/i18n.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"3 kB"}],"_npmVersion":"11.12.1","description":"Internationalization with i18next, language detection, and React provider support","directories":{},"sideEffects":["./dist/resource-loader.node.*","./dist/resource-loader.fetch.*"],"_nodeVersion":"25.9.0","dependencies":{"@arckit/injection":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"typesVersions":{"*":{"client":["dist/client.d.ts"],"detectors":["dist/detectors.d.ts"],"resource-loader/node":["dist/resource-loader.node.d.ts"],"resource-loader/fetch":["dist/resource-loader.fetch.d.ts"]}},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"knip":"^5.0.0","tsup":"^8.4.0","husky":"^9.0.0","react":"^19.0.0","piqure":"^2.2.0","vitest":"^4.0.0","i18next":"^25.0.0","publint":"^0.3.0","size-limit":"^11.0.0","typescript":"^5.9.0","@types/node":"^25.0.0","lint-staged":"^16.0.0","@types/react":"^19.0.0","react-i18next":"^16.0.0","@biomejs/biome":"^2.4.0","@commitlint/cli":"^20.0.0","@size-limit/file":"^11.0.0","semantic-release":"^24.0.0","@vitest/coverage-v8":"^4.0.0","@arethetypeswrong/cli":"^0.17.0","@semantic-release/git":"^10.0.0","@semantic-release/exec":"^7.0.0","@semantic-release/changelog":"^6.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"react":">=19","i18next":">=25","react-i18next":">=16"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.0_1776639893702_0.3934471538544593","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arckit/i18n","version":"1.0.1","keywords":["arckit","i18n","i18next","internationalization","language-detection","react"],"author":{"name":"Marc Gavanier","email":"marc@gavanier.com"},"license":"MIT","_id":"@arckit/i18n@1.0.1","maintainers":[{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"}],"homepage":"https://github.com/arckit-dev/i18n#readme","bugs":{"url":"https://github.com/arckit-dev/i18n/issues"},"dist":{"shasum":"99323191b6435243981ca273e6a9bda0ebf1c55e","tarball":"https://registry.npmjs.org/@arckit/i18n/-/i18n-1.0.1.tgz","fileCount":35,"integrity":"sha512-IufJegLHDHVEq6eC5t2bKzasLHE2jjPQH1kvpaYLsD9cBD9jWNaeoliTmlgHYYuEBi9mVuqed+q/qHRnOo1+XQ==","signatures":[{"sig":"MEYCIQCj861gUApW23o/dBV8K0W8PtUEt1jx8z/W/5IKtyJCbgIhAM/De/NS9TZSSWJlL62BiJg9EBmi56J4LufX7ohi0qVK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arckit%2fi18n@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94806},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./detectors":{"import":{"types":"./dist/detectors.d.ts","default":"./dist/detectors.js"},"require":{"types":"./dist/detectors.d.cts","default":"./dist/detectors.cjs"}},"./resource-loader/node":{"import":"./dist/resource-loader.node.js","require":"./dist/resource-loader.node.cjs"},"./resource-loader/fetch":{"import":"./dist/resource-loader.fetch.js","require":"./dist/resource-loader.fetch.cjs"}},"gitHead":"a9f4b2d3b96419833b6813c0970e5f14dcf0cf09","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepare":"husky","release":"semantic-release","lint:code":"biome check --write","typecheck":"tsc --noEmit","check:attw":"attw --pack .","check:size":"size-limit","test:watch":"vitest","lint:commit":"commitlint --from origin/main","lint:unused":"knip","lint:code:ci":"biome ci","check:publint":"publint","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"},"repository":{"url":"git+https://github.com/arckit-dev/i18n.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"3 kB"}],"_npmVersion":"11.12.1","description":"Internationalization with i18next, language detection, and React provider support","directories":{},"sideEffects":["./dist/resource-loader.node.*","./dist/resource-loader.fetch.*"],"_nodeVersion":"25.9.0","publishConfig":{"access":"public","provenance":true},"typesVersions":{"*":{"client":["dist/client.d.ts"],"detectors":["dist/detectors.d.ts"],"resource-loader/node":["dist/resource-loader.node.d.ts"],"resource-loader/fetch":["dist/resource-loader.fetch.d.ts"]}},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"knip":"^5.0.0","tsup":"^8.4.0","husky":"^9.0.0","react":"^19.0.0","piqure":"^2.2.0","vitest":"^4.0.0","i18next":"^25.0.0","publint":"^0.3.0","size-limit":"^11.0.0","typescript":"^5.9.0","@types/node":"^25.0.0","lint-staged":"^16.0.0","@types/react":"^19.0.0","react-i18next":"^16.0.0","@biomejs/biome":"^2.4.0","@commitlint/cli":"^20.0.0","@size-limit/file":"^11.0.0","semantic-release":"^24.0.0","@arckit/injection":"^1.0.0","@vitest/coverage-v8":"^4.0.0","@arethetypeswrong/cli":"^0.17.0","@semantic-release/git":"^10.0.0","@semantic-release/exec":"^7.0.0","@semantic-release/changelog":"^6.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"react":">=19","i18next":">=25","react-i18next":">=16","@arckit/injection":">=1"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.1_1776641806482_0.4103823496288197","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arckit/i18n","version":"1.1.0","keywords":["arckit","i18n","i18next","internationalization","language-detection","react"],"author":{"name":"Marc Gavanier","email":"marc@gavanier.com"},"license":"MIT","_id":"@arckit/i18n@1.1.0","maintainers":[{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"}],"homepage":"https://github.com/arckit-dev/i18n#readme","bugs":{"url":"https://github.com/arckit-dev/i18n/issues"},"dist":{"shasum":"9006989fd2a96adcdddc1f6e666c887aa3a939e9","tarball":"https://registry.npmjs.org/@arckit/i18n/-/i18n-1.1.0.tgz","fileCount":35,"integrity":"sha512-/+PkyZFuEgbqlfApY0Wn9Xv+B0CZ0N2vbj4DN0NyRGx+nzZCtccdReBnn29R+Y1HkjAwHIhzSYbA+MLdfbQzPQ==","signatures":[{"sig":"MEQCIGBQjuStvIRt2lxrCcYvQ5D/jsIQrrOcFrAm1BwXiP6XAiBdyLr1rEcMQRj71y5Vcz25WQjsmOb/0i5alxpt6uatww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arckit%2fi18n@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98614},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./detectors":{"import":{"types":"./dist/detectors.d.ts","default":"./dist/detectors.js"},"require":{"types":"./dist/detectors.d.cts","default":"./dist/detectors.cjs"}},"./resource-loader/node":{"import":"./dist/resource-loader.node.js","require":"./dist/resource-loader.node.cjs"},"./resource-loader/fetch":{"import":"./dist/resource-loader.fetch.js","require":"./dist/resource-loader.fetch.cjs"}},"gitHead":"acbf1d2683896c0b9e196fdae9d255547239daab","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepare":"husky","release":"semantic-release","lint:code":"biome check --write","typecheck":"tsc --noEmit","check:attw":"attw --pack .","check:size":"size-limit","test:watch":"vitest","lint:commit":"commitlint --from origin/main","lint:unused":"knip","lint:code:ci":"biome ci","check:publint":"publint","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"},"repository":{"url":"git+https://github.com/arckit-dev/i18n.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"3 kB"}],"_npmVersion":"11.12.1","description":"Internationalization with i18next, language detection, and React provider support","directories":{},"sideEffects":["./dist/resource-loader.node.*","./dist/resource-loader.fetch.*"],"_nodeVersion":"25.9.0","publishConfig":{"access":"public","provenance":true},"typesVersions":{"*":{"client":["dist/client.d.ts"],"detectors":["dist/detectors.d.ts"],"resource-loader/node":["dist/resource-loader.node.d.ts"],"resource-loader/fetch":["dist/resource-loader.fetch.d.ts"]}},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"knip":"^5.0.0","tsup":"^8.4.0","husky":"^9.0.0","react":"^19.0.0","piqure":"^2.2.0","vitest":"^4.0.0","i18next":"^25.0.0","publint":"^0.3.0","size-limit":"^11.0.0","typescript":"^5.9.0","@types/node":"^25.0.0","lint-staged":"^16.0.0","@types/react":"^19.0.0","react-i18next":"^16.0.0","@biomejs/biome":"^2.4.0","@commitlint/cli":"^20.0.0","@size-limit/file":"^11.0.0","semantic-release":"^24.0.0","@vitest/coverage-v8":"^4.0.0","@arethetypeswrong/cli":"^0.17.0","@semantic-release/git":"^10.0.0","@semantic-release/exec":"^7.0.0","@semantic-release/changelog":"^6.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"react":">=19","i18next":">=25","react-i18next":">=16"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.1.0_1776711220033_0.22001169899454665","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@arckit/i18n","version":"1.1.1","description":"Internationalization with i18next, language detection, and React provider support","packageManager":"pnpm@10.33.0","license":"MIT","author":{"name":"Marc Gavanier","email":"marc@gavanier.com"},"repository":{"type":"git","url":"git+https://github.com/arckit-dev/i18n.git"},"homepage":"https://github.com/arckit-dev/i18n#readme","bugs":{"url":"https://github.com/arckit-dev/i18n/issues"},"keywords":["arckit","i18n","i18next","internationalization","language-detection","react"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./detectors":{"import":{"types":"./dist/detectors.d.ts","default":"./dist/detectors.js"},"require":{"types":"./dist/detectors.d.cts","default":"./dist/detectors.cjs"}},"./resource-loader/node":{"import":"./dist/resource-loader.node.js","require":"./dist/resource-loader.node.cjs"},"./resource-loader/fetch":{"import":"./dist/resource-loader.fetch.js","require":"./dist/resource-loader.fetch.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","typesVersions":{"*":{"client":["dist/client.d.ts"],"detectors":["dist/detectors.d.ts"],"resource-loader/node":["dist/resource-loader.node.d.ts"],"resource-loader/fetch":["dist/resource-loader.fetch.d.ts"]}},"sideEffects":["./dist/resource-loader.node.*","./dist/resource-loader.fetch.*"],"engines":{"node":">=22"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","lint:code":"biome check --write","lint:code:ci":"biome ci","lint:commit":"commitlint --from origin/main","lint:unused":"knip","check:publint":"publint","check:attw":"attw --pack .","check:size":"size-limit","release":"semantic-release","prepare":"husky"},"peerDependencies":{"i18next":">=25","react":">=19","react-i18next":">=16"},"devDependencies":{"@arethetypeswrong/cli":"^0.17.0","@biomejs/biome":"^2.4.0","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@semantic-release/changelog":"^6.0.0","@semantic-release/exec":"^7.0.0","@semantic-release/git":"^10.0.0","@size-limit/file":"^11.0.0","@types/node":"^25.0.0","@types/react":"^19.0.0","@vitest/coverage-v8":"^4.0.0","husky":"^9.0.0","i18next":"^25.0.0","knip":"^5.0.0","lint-staged":"^16.0.0","piqure":"^2.2.0","publint":"^0.3.0","react":"^19.0.0","react-i18next":"^16.0.0","semantic-release":"^24.0.0","size-limit":"^11.0.0","tsup":"^8.4.0","typescript":"^5.9.0","vitest":"^4.0.0"},"size-limit":[{"path":"dist/index.js","limit":"3 kB"}],"publishConfig":{"access":"public","provenance":true},"gitHead":"39138f2388a6ae357b467a74989be21f77c183cc","_id":"@arckit/i18n@1.1.1","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-GDMPMsvx0whqBLo+DdSk/C99VLmHqENP8hMjHoKNuyEiK/iQLcNwar+A5+dOPbXx5UXqRCTR2vtWXn+42trfhQ==","shasum":"e0e2aa8c2f32f3253071a2acc7d230a78722fd26","tarball":"https://registry.npmjs.org/@arckit/i18n/-/i18n-1.1.1.tgz","fileCount":35,"unpackedSize":98712,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arckit%2fi18n@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoxYRJgKzDnokBiBll1dS5AF8AyJXfauj2UtT6r0PgTAIgZZurjP85Xrq9l8WUgm9KoZhSNlrhDdnNA3w7osregks="}]},"_npmUser":{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"},"directories":{},"maintainers":[{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/i18n_1.1.1_1777071756752_0.7317238404915083"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-19T23:04:53.589Z","modified":"2026-04-24T23:02:37.182Z","1.0.0":"2026-04-19T23:04:53.837Z","1.0.1":"2026-04-19T23:36:46.631Z","1.1.0":"2026-04-20T18:53:40.188Z","1.1.1":"2026-04-24T23:02:36.913Z"},"bugs":{"url":"https://github.com/arckit-dev/i18n/issues"},"author":{"name":"Marc Gavanier","email":"marc@gavanier.com"},"license":"MIT","homepage":"https://github.com/arckit-dev/i18n#readme","keywords":["arckit","i18n","i18next","internationalization","language-detection","react"],"repository":{"type":"git","url":"git+https://github.com/arckit-dev/i18n.git"},"description":"Internationalization with i18next, language detection, and React provider support","maintainers":[{"name":"marc.gavanier","email":"marc.gavanier@gmail.com"}],"readme":"# @arckit/i18n\n\nInternationalization with i18next, language detection, and React provider support.\n\n[![npm version](https://img.shields.io/npm/v/@arckit/i18n)](https://www.npmjs.com/package/@arckit/i18n)\n[![npm downloads](https://img.shields.io/npm/dm/@arckit/i18n)](https://www.npmjs.com/package/@arckit/i18n)\n[![bundle size](https://img.shields.io/bundlephobia/minzip/@arckit/i18n)](https://bundlephobia.com/package/@arckit/i18n)\n[![codecov](https://codecov.io/gh/arckit-dev/i18n/graph/badge.svg)](https://codecov.io/gh/arckit-dev/i18n)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n\n## 📑 Table of Contents\n\n- 🪧 [About](#about)\n- 📦 [Installation](#installation)\n- 🚀 [Usage](#usage)\n- 📖 [API](#api)\n- 🤗 [Contributing](#contributing)\n- 📝 [License](#license)\n\n<h2 id=\"about\">🪧 About</h2>\n\nFramework-agnostic i18n library built on [i18next](https://www.i18next.com/) with pluggable language detectors, resource loaders, and React provider support. Includes a Next.js subpath for server-side language detection and metadata translation.\n\n<h2 id=\"installation\">📦 Installation</h2>\n\n```bash\npnpm add @arckit/i18n\n```\n\n<h2 id=\"usage\">🚀 Usage</h2>\n\n### Core — language detection\n\n```typescript\nimport { detectLng } from '@arckit/i18n';\nimport { fromCookie, fromHeader } from '@arckit/i18n/detectors';\n\nconst lng = await detectLng(request, {\n  detectors: [fromCookie({ cookieName: 'locale', supportedLngs }), fromHeader({ supportedLngs })],\n  fallbackLng: 'en-US'\n});\n```\n\n### Client — React provider\n\n```typescript\nimport { I18nProvider } from '@arckit/i18n/client';\n\n<I18nProvider locale={locale} namespaces={namespaces} resources={resources}>\n  {children}\n</I18nProvider>\n```\n\n<h2 id=\"api\">📖 API</h2>\n\n### Core (`@arckit/i18n`)\n\n| Export | Description |\n|--------|-------------|\n| `detectLng(request, options)` | Detect language from request using pluggable detectors |\n| `RESOURCE_LOADER` | Injection key for the resource loader function |\n| `TRANSLATION` | Injection key for the translation function |\n| `withTranslation(Component)` | HOC that injects the `t` function as prop |\n\n### Client (`@arckit/i18n/client`)\n\n| Export | Description |\n|--------|-------------|\n| `I18nProvider` | React provider for client-side i18n context |\n\n### Detectors (`@arckit/i18n/detectors`)\n\n| Export | Description |\n|--------|-------------|\n| `fromCookie(options)` | Detect language from a cookie |\n| `fromHeader(options)` | Detect language from Accept-Language header |\n| `fromUrl(options)` | Detect language from URL path |\n\n<h2 id=\"contributing\">🤗 Contributing</h2>\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n<h2 id=\"license\">📝 License</h2>\n\n[MIT](LICENSE) &copy; Marc Gavanier\n","readmeFilename":"README.md"}