{"_id":"@bota-apps/translations","_rev":"8-a7dbc58c869f9e26f78abe5d75002c5f","name":"@bota-apps/translations","dist-tags":{"latest":"0.3.5"},"versions":{"0.1.0":{"name":"@bota-apps/translations","version":"0.1.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/translations@0.1.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"068d660662fa8af8d8487d259b5d0734e619b1b0","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.1.0.tgz","fileCount":43,"integrity":"sha512-UD+5gwhjsWVDh0DR485wKCVWZtohAVOvDgq3V3hB5rQv3zTA7+uD/aWbVP2gdcexGwnj5ERu1NH7F8b1XKo7CA==","signatures":[{"sig":"MEUCIARHaq3r8TYT3dYci8Li0FZ4a0XWoWKffJh2+KxmX7Y+AiEAvco0x8ZWMTGPoe3iLl7o/2bDgaUMa4gdh1p6NRMuNgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27242},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/57d3b1b858a320f6751d037009d31c81/bota-apps-translations-0.1.0.tgz","_integrity":"sha512-UD+5gwhjsWVDh0DR485wKCVWZtohAVOvDgq3V3hB5rQv3zTA7+uD/aWbVP2gdcexGwnj5ERu1NH7F8b1XKo7CA==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"10.9.8","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.1.0_1783219529846_0.29456833806889726","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bota-apps/translations","version":"0.2.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/translations@0.2.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"dist":{"shasum":"85ad6577ce9bc79836d829ffebd571853f831f29","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.2.0.tgz","fileCount":55,"integrity":"sha512-eTwuWzUFqyfDphIpxgGwKlRYWr2Qskogv6c7E8f3hlnVFDWhCt63rgIQ4hq+H3LTi/5vLZ8e8T0vnzcBRt5+CQ==","signatures":[{"sig":"MEQCIFD+DSHgvdL9F8LCRbehHIkmR0t3LvaDFZWh0OH+gmfIAiAwI3KFqMKnF8QPMSBqENLpH86gcWWInfM849RXCO0XkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41426},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/36d7ed56ba2496321b3e5d5cd3626672/bota-apps-translations-0.2.0.tgz","_integrity":"sha512-eTwuWzUFqyfDphIpxgGwKlRYWr2Qskogv6c7E8f3hlnVFDWhCt63rgIQ4hq+H3LTi/5vLZ8e8T0vnzcBRt5+CQ==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"10.9.8","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","@bota-apps/types":"^0.9.0","@bota-apps/schema-utils":"^0.6.0","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.2.0_1783230890287_0.9044746586524084","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bota-apps/translations","version":"0.3.0","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/translations@0.3.0","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"bin":{"bota-translation-review":"dist/review/cli.js"},"dist":{"shasum":"83fd9860987f01fe496ca38ca930e88bbd58c7d6","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.3.0.tgz","fileCount":67,"integrity":"sha512-PRWZVvYmePk6HcKBT0NmGmZm5oPzVIzF3e0eUxyI6Xy1KBei1IZ9tcwCOltKKtwGSXGR/Qa5H/ftzX1I7IQbmA==","signatures":[{"sig":"MEUCIQDRjrIIZOAgBJ46bRbw17zDLND8tFRHUFk2Vg8mr5Ju4QIgTqKNoBXtao3IQq1fxsLWFuIYN4uSausR2cKPgZQs6Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81322},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./review":{"types":"./dist/review/index.d.ts","default":"./dist/review/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bota-apps","email":"imusema.hassen@icloud.com"},"_resolved":"/private/var/folders/wp/6cc4gkfd481b73439xdrv4wm0000gn/T/189b9685c10ea35be50c9f13e6d19c4e/bota-apps-translations-0.3.0.tgz","_integrity":"sha512-PRWZVvYmePk6HcKBT0NmGmZm5oPzVIzF3e0eUxyI6Xy1KBei1IZ9tcwCOltKKtwGSXGR/Qa5H/ftzX1I7IQbmA==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"10.9.8","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","@bota-apps/types":"^0.9.0","@bota-apps/schema-utils":"^0.7.0","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/node":"^22.10.1","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.3.0_1783240834057_0.0314565810042049","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bota-apps/translations","version":"0.3.1","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/translations@0.3.1","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"bin":{"bota-translation-review":"dist/review/cli.js"},"dist":{"shasum":"416f97f1c61a1911711985ca9cae9729ecaa60b2","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.3.1.tgz","fileCount":67,"integrity":"sha512-F++hFbHynHLVJItgsqAC0FIGI7Iwb2EzqS4RP4d0L5G70A3kuWy7SqkR0xvk8fYw6nBDdPwWGhXjQsu5xU4d1w==","signatures":[{"sig":"MEUCIQCuuqAfeqkUqlE6BpalItiFWt1FRObdk0W9Ka7KycXITgIgCypM1Ch/XyVMjnDaxtEBc6OW4ziNq5J2G98SeqtnEZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81363},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./review":{"types":"./dist/review/index.d.ts","default":"./dist/review/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1ba76177-a296-460d-b76f-861f031e297a"}},"_resolved":"/tmp/47a4c04ecc5adb51a73a8bcd2e13dea1/bota-apps-translations-0.3.1.tgz","_integrity":"sha512-F++hFbHynHLVJItgsqAC0FIGI7Iwb2EzqS4RP4d0L5G70A3kuWy7SqkR0xvk8fYw6nBDdPwWGhXjQsu5xU4d1w==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"11.18.0","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","@bota-apps/types":"^0.9.1","@bota-apps/schema-utils":"^0.8.0","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/node":"^22.10.1","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.3.1_1783303526145_0.317699464562996","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bota-apps/translations","version":"0.3.2","author":{"name":"bota-apps"},"license":"MIT","_id":"@bota-apps/translations@0.3.2","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"bin":{"bota-translation-review":"dist/review/cli.js"},"dist":{"shasum":"ee657ba9192598a8d7e554a80380ee66055641f3","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.3.2.tgz","fileCount":67,"integrity":"sha512-rq7VtKoRVPJQCljMwaKvxyezPkZ6ilD4ujNK9DTBRx+Hjc3ieOdEtNEh3SYW1T4jtXIcAf8rsdYFR6PyaHpSmQ==","signatures":[{"sig":"MEQCIHRw+/sP8d+hSTKs51GzOs+VUUGBA/6hyOWdP9FY+U3kAiAdjaJDZaI2rURHofpnB64SHKdz5YoOL034njSORC5log==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81364},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./review":{"types":"./dist/review/index.d.ts","default":"./dist/review/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1ba76177-a296-460d-b76f-861f031e297a"}},"_resolved":"/tmp/6832d60f9861c0939281afd8830ef8e1/bota-apps-translations-0.3.2.tgz","_integrity":"sha512-rq7VtKoRVPJQCljMwaKvxyezPkZ6ilD4ujNK9DTBRx+Hjc3ieOdEtNEh3SYW1T4jtXIcAf8rsdYFR6PyaHpSmQ==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"11.18.0","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","@bota-apps/types":"^0.10.0","@bota-apps/schema-utils":"^0.9.0","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/node":"^22.10.1","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.3.2_1783306215264_0.6609931119836014","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@bota-apps/translations","version":"0.3.3","keywords":["bota-apps","typescript","i18n","translations","i18next","localization","react"],"author":{"url":"https://github.com/bota-apps","name":"Bota Apps"},"license":"MIT","_id":"@bota-apps/translations@0.3.3","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"bin":{"bota-translation-review":"dist/review/cli.js"},"dist":{"shasum":"5de51219e86cfc8691f043bbcfc699736586610b","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.3.3.tgz","fileCount":67,"integrity":"sha512-W4s8pCTmOzDXAM9lTQmhpa7dbQSQTjrb1RUKA41nmHOFRgav91BnR0lgd++ZhRckncxHcB0OkBU0JJrTBKgTZg==","signatures":[{"sig":"MEQCIB6EWA1LDmXc12BMAU05JTDP8hWL49ixaxCeNZZapZmhAiACakOIwjgXmXyB5gcxurfdD9H1w30MeV4A0mY+Uc14gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83766},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./review":{"types":"./dist/review/index.d.ts","default":"./dist/review/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90f901dc-a8d8-4a87-b423-db32dba95f33"}},"_resolved":"/tmp/02d96c14649cc5c8995b21da430ba8a0/bota-apps-translations-0.3.3.tgz","_integrity":"sha512-W4s8pCTmOzDXAM9lTQmhpa7dbQSQTjrb1RUKA41nmHOFRgav91BnR0lgd++ZhRckncxHcB0OkBU0JJrTBKgTZg==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"11.18.0","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","@bota-apps/types":"^0.10.1","@bota-apps/schema-utils":"^0.9.1","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/node":"^22.10.1","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.3.3_1783319746672_0.7174890387504633","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@bota-apps/translations","version":"0.3.4","keywords":["bota-apps","typescript","i18n","translations","i18next","localization","react"],"author":{"url":"https://github.com/bota-apps","name":"Bota Apps"},"license":"MIT","_id":"@bota-apps/translations@0.3.4","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"bin":{"bota-translation-review":"dist/review/cli.js"},"dist":{"shasum":"ec4b113b86a692edeb53d0ede03768196f22830e","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.3.4.tgz","fileCount":67,"integrity":"sha512-reBm36ARfPK9S2yy9+IBb1YF1XlUQi0h78tQuKvqYLyLHvnKwsPCVuAzYQcdaHhKCyxxruosq7yj2x1vqV11Og==","signatures":[{"sig":"MEQCIHnawiLhB6shA6K4Ckc/2J1uQKRFokL6OJXX0fxVZ+9iAiBFZmLr3cw4YZbJdX+sHikmJb+QwqS7A+usD0ftYnP9Wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bota-apps%2ftranslations@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83766},"main":"./dist/index.js","type":"module","_from":"file:bota-apps-translations-0.3.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./review":{"types":"./dist/review/index.d.ts","default":"./dist/review/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"}},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90f901dc-a8d8-4a87-b423-db32dba95f33"}},"_resolved":"/tmp/f556eb74c6e8eab2bc019e898fdac5c0/bota-apps-translations-0.3.4.tgz","_integrity":"sha512-reBm36ARfPK9S2yy9+IBb1YF1XlUQi0h78tQuKvqYLyLHvnKwsPCVuAzYQcdaHhKCyxxruosq7yj2x1vqV11Og==","repository":{"url":"git+https://github.com/bota-apps/packages.git","type":"git","directory":"packages/translations"},"_npmVersion":"11.18.0","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"i18next":"^23.16.0","react-i18next":"^15.1.0","@bota-apps/types":"^0.10.3","@bota-apps/schema-utils":"^0.9.2","i18next-browser-languagedetector":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.8.3","@types/node":"^22.10.1","@types/react":"^19.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translations_0.3.4_1783672708401_0.7035860791681579","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@bota-apps/translations","version":"0.3.5","description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","keywords":["bota-apps","typescript","i18n","translations","i18next","localization","react"],"license":"MIT","author":{"name":"Bota Apps","url":"https://github.com/bota-apps"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./coverage":{"types":"./dist/coverage/index.d.ts","default":"./dist/coverage/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./review":{"types":"./dist/review/index.d.ts","default":"./dist/review/index.js"}},"bin":{"bota-translation-review":"dist/review/cli.js"},"repository":{"type":"git","url":"git+https://github.com/bota-apps/packages.git","directory":"packages/translations"},"homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","bugs":{"url":"https://github.com/bota-apps/packages/issues"},"publishConfig":{"access":"public"},"dependencies":{"i18next":"^23.16.0","i18next-browser-languagedetector":"^8.0.0","react-i18next":"^15.1.0","@bota-apps/schema-utils":"^0.9.4","@bota-apps/types":"^0.11.0"},"peerDependencies":{"react":"^19.0.0"},"devDependencies":{"@types/node":"^22.10.1","@types/react":"^19.0.0","react":"^19.0.0","typescript":"^5.8.3"},"sideEffects":false,"engines":{"node":">=20"},"scripts":{"build":"rm -rf dist && tsc && node ../../scripts/fixExtensions.mjs","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"_id":"@bota-apps/translations@0.3.5","_integrity":"sha512-4tAcAON80JyjQ9NxKfpX2+9Le2PxHht3jPmIH0LiFSjBb4IWbANHzVwIvljiqmsHZMMjNcdV4PjHHgZzD3uM3Q==","_resolved":"/tmp/b34a5b844d534b314b8e4023539fbcd5/bota-apps-translations-0.3.5.tgz","_from":"file:bota-apps-translations-0.3.5.tgz","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-4tAcAON80JyjQ9NxKfpX2+9Le2PxHht3jPmIH0LiFSjBb4IWbANHzVwIvljiqmsHZMMjNcdV4PjHHgZzD3uM3Q==","shasum":"323d01dd6bb63b76195852677cade214b7257c5c","tarball":"https://registry.npmjs.org/@bota-apps/translations/-/translations-0.3.5.tgz","fileCount":67,"unpackedSize":83766,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bota-apps%2ftranslations@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDojpbwz8oqwALG32HbDbhx8WpcURNRluGjldwnBP6nzwIgBJloi0qVr1sslKpdTp6syCEtJf/PlkSRH4St5FZRtbU="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90f901dc-a8d8-4a87-b423-db32dba95f33"}},"directories":{},"maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/translations_0.3.5_1784780386113_0.3964092565591526"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-05T02:45:29.698Z","modified":"2026-07-23T04:19:46.603Z","0.1.0":"2026-07-05T02:45:29.971Z","0.2.0":"2026-07-05T05:54:50.412Z","0.3.0":"2026-07-05T08:40:34.200Z","0.3.1":"2026-07-06T02:05:26.278Z","0.3.2":"2026-07-06T02:50:15.398Z","0.3.3":"2026-07-06T06:35:46.829Z","0.3.4":"2026-07-10T08:38:28.534Z","0.3.5":"2026-07-23T04:19:46.290Z"},"bugs":{"url":"https://github.com/bota-apps/packages/issues"},"author":{"name":"Bota Apps","url":"https://github.com/bota-apps"},"license":"MIT","homepage":"https://github.com/bota-apps/packages/tree/main/packages/translations#readme","keywords":["bota-apps","typescript","i18n","translations","i18next","localization","react"],"repository":{"type":"git","url":"git+https://github.com/bota-apps/packages.git","directory":"packages/translations"},"description":"Shared translation runtime: preconfigured singleton + TranslationProvider, createAppTranslations for registering app-local locale bundles with a typed hook, useTranslations, translateEnum, a scoped translator context, imperative language helpers, and a se","maintainers":[{"name":"bota-apps","email":"imusema.hassen@icloud.com"}],"readme":"# @bota-apps/translations\n\nShared translation runtime for `@bota-apps` apps: a preconfigured process-wide\nsingleton (`en` fallback, `bota:locale` localStorage persistence, browser\nlanguage detection), a `TranslationProvider`, and `createAppTranslations` — the\nfactory apps use to register their app-local locale bundles and get a\nnamespace-typed translation hook. Locale bundles themselves stay in the app\n(under `src/translations/locales`); this package is only the runtime.\n\nThe name is deliberately engine-neutral: it currently wraps i18next, but that is\nan implementation detail. Consumers depend on `@bota-apps/translations` alone —\nnever on `i18next` / `react-i18next` directly — so the engine can change without\ntouching a single call site. This is the sole package permitted to own the\ni18next dependency; no other `@bota-apps` package may depend on it.\n\n## Install\n\n```bash\npnpm add @bota-apps/translations\n# peer: react\n```\n\n## Usage\n\nRegister the app's bundles once at module scope and re-export the typed hook:\n\n```ts\n// app: src/translations/index.ts\nimport { createAppTranslations, TranslationProvider } from \"@bota-apps/translations\";\nimport { en } from \"./locales/en\";\nimport { am } from \"./locales/am\";\n\n// The app path already scopes the hook — no need to re-prefix\n// (`@tasks/translations` → `useAppTranslations`, not `useTasksAppTranslations`).\nexport const { useAppTranslations } = createAppTranslations({ resources: { en, am } });\nexport { TranslationProvider };\n```\n\nMount the provider once at the app root:\n\n```tsx\nimport { TranslationProvider } from \"@tasks/translations\";\n\n<TranslationProvider>\n  <App />\n</TranslationProvider>;\n```\n\nRead translations anywhere — the namespace union is typed from the `en` bundle:\n\n```tsx\nimport { useAppTranslations } from \"@tasks/translations\";\n\nconst { t } = useAppTranslations(\"common\");\n```\n\nThe first `createAppTranslations` call initializes the singleton (pass\n`initOptions` there to replace `defaultInitOptions` wholesale); later calls —\ne.g. from embedded extensions — only add their bundles. The i18next\n`CustomTypeOptions` augmentation ships with the package, so importing anything\nfrom `@bota-apps/translations` pulls it in — apps do not declare their own.\n\n## API\n\n| Export                                             | What                                                                                        |\n| -------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| `createAppTranslations`                            | Registers app-local locale bundles and returns a namespace-typed `useAppTranslations` hook. |\n| `TranslationProvider`                              | Mounts the translation runtime for the React tree.                                          |\n| `useTranslations(ns)`                              | Lower-level namespace hook (prefer the typed hook from `createAppTranslations`).            |\n| `changeLanguage(lng)` / `getLanguage()`            | Imperative, engine-agnostic language control (switches every mounted surface at once).      |\n| `defaultInitOptions`                               | The default init options the singleton boots with.                                          |\n| `translateEnum(values, t, prefix)`                 | Enum values → translated `{ value, label }` options, looked up as `${prefix}.${value}`.     |\n| `ScopedTranslatorProvider` / `useScopedTranslator` | Share a pre-bound translator through layout layers without prop-drilling.                   |\n| `getServerTranslation(lng, ns?)` / `serverI18n`    | SSR / Node-side translation — switches the singleton and returns a bound `t`.               |\n\nTypes re-exported so consumers never import `i18next` directly:\n`SupportedLanguage`, `ToStringLeaves`, `TFunction`, `Namespace`.\n\n## Subpaths\n\n| Import                             | What                                                                                                                              |\n| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| `@bota-apps/translations`          | The React runtime: provider, `createAppTranslations`, hooks, translator, enum/server helpers.                                     |\n| `@bota-apps/translations/coverage` | React-free coverage utilities (`flattenBundleKeys`, `findMissingKeys`, `expectedKeysFromSchemas`) — compare bundles in a test.    |\n| `@bota-apps/translations/testing`  | Drive the pure localize transforms against a nested bundle (`bundleLocalizeContext`, `resolveBundleKey`) without booting i18next. |\n| `@bota-apps/translations/review`   | Node-only translation-review worksheet generator (`runTranslationReview`, `TranslationReviewError`).                              |\n| `bota-translation-review` (bin)    | CLI wrapper over the `review` module for generating/approving/checking review worksheets.                                         |\n\nPart of the [`@bota-apps` packages monorepo](https://github.com/bota-apps/packages).\n","readmeFilename":"README.md"}