{"_id":"@byjohann/vue-i18n","_rev":"13-1a1cb31ed7c76609483769eb9fff4bf5","name":"@byjohann/vue-i18n","dist-tags":{"latest":"1.3.2"},"versions":{"1.0.1":{"name":"@byjohann/vue-i18n","version":"1.0.1","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.0.1","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"6d4735ad5ae1c70fd50da148208fe9804b241203","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.0.1.tgz","fileCount":6,"integrity":"sha512-Hb2sHKypZ5hDl2LbJnzZbGhDShct+0FEMI98pWHNWaOKr+JoJw0I8TzbbkBxX+KtJbPtGXVuqlZo9Gt9h14e4w==","signatures":[{"sig":"MEUCIQDQu0Aby/cv2r471O7rISK2RupAtgiwg1yA8iCUkNph7wIgV5NLQzhrG2GjAfAEMr6Jlw4wDDb1EdMx2PztGvW+s50=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11779},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"986704dc1c05d8605d0e73ca03410ab5f4f74589","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"klona":"^2.0.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.0.1_1694152097412_0.28544405449544397","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@byjohann/vue-i18n","version":"1.0.2","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.0.2","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"6165f3e16b332b457730a5f9c6f9ffd79173623a","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.0.2.tgz","fileCount":6,"integrity":"sha512-6D22w1apf0q81a7H5jK8AqzsNDl5VxI3J9dhhzFAXQuPootH2pBXIwiom+lGbZQH4z0RSQuNFsowNRwAlpRG1A==","signatures":[{"sig":"MEQCIGZlR89mZm01Eqwm8t0nihc72hYQ8PPfb9WrArafpkdHAiAju08LRrpAHs8fjAyhf7xgD2vuLco87MulezJD2RH2iQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12605},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"392d2aff507fc0229817cc29741f0c58b4e94240","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.0.2_1694189778367_0.0735498057201891","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@byjohann/vue-i18n","version":"1.1.0","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.1.0","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"b0a73e42673ae4bb4d7aff4db5bdb95f7063fa09","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.1.0.tgz","fileCount":6,"integrity":"sha512-C7UEQLGV8uJKz5TKJH9Hwa+IvdjQTeFosvzKlsguxAOCTvJteA8Hzx3GjI62mockq7K3zMfE+2fA3Um5YhNLHw==","signatures":[{"sig":"MEUCIQD0HGMEKrbxGNVHjWCmZGJnINNKD8dB4oDAMhnYrBn2TAIgVvdVSBYNhAPPUmlzf4dL4a22fIYa0DpFS7ZJVEncDic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14261},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"605d952a6b2ef53e31c5cf9df0371c16546dd893","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.1.0_1694535720583_0.3045986285282025","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@byjohann/vue-i18n","version":"1.1.1","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.1.1","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"b555dc9ab5e203a3f1c4f66f6c8580a6f105c4de","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.1.1.tgz","fileCount":6,"integrity":"sha512-bP6eZHtBcWklwmKeBgaI0M7h0auTfjcmluHpI2W715i03e2rHA20rB+pzIXn7hBFfOLK/aj/pwzNEsu4OLb17Q==","signatures":[{"sig":"MEQCIGjC63HTxsZgosdMyrlj2/1vcIIpqzl25LcPPQqwimHEAiB8h134QBIh+40hrodDRkqbjHu18Q+e6KJQeUsd0yTf7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14233},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"2cfa4d4eeaf876085f4ce440c021425e44ae5a10","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.1.1_1694542275325_0.5088041613099228","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@byjohann/vue-i18n","version":"1.1.2","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.1.2","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"9b4f70521444edc980ba0e6b8987306fdcec5a1a","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.1.2.tgz","fileCount":6,"integrity":"sha512-/Jfj0DSjpG/vuO98XpzkpVY967naorRm+oiD9Awe8AeaetaS8yUd7GmG8WUijlkhHGYxSmOBTYn4QMPouvEnqQ==","signatures":[{"sig":"MEUCIH4j/9T0TLpHRChRwxTbQQ1hCzT/eUNSqNv9o9uB0/LyAiEAikl95GkMukTWBnGoThHVcMaxiqwFZXj2ngtIu/6bRdo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15386},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"1a25bdbdead0f1bd38ff5851eaff6b9932d69093","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.1.2_1694584019305_0.08024929700733852","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@byjohann/vue-i18n","version":"1.1.3","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.1.3","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"6ac7c1fd5ecd2d4771fd4334ccb159ea7830c291","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.1.3.tgz","fileCount":6,"integrity":"sha512-n4IuAv2mph23NlgQJJBqo7F7KrzKboz2vSNCt8NN5v3vhdtFVeHzBb1msxOaKL+FHQOSickAj0LozFDyKcHEpw==","signatures":[{"sig":"MEYCIQCmg7k/XytDa3FMe5M/OwY+kg7vtiJnZ6nIMvwTMqJAKwIhAOjug2p/25FmUljUB2EF4/YnmvbrZHmcYRM7mxQlUbKG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15714},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"7772d60ab557993b95c2d0ab05bf88c716f171ae","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.1.3_1694780767769_0.5523951603292963","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@byjohann/vue-i18n","version":"1.1.4","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.1.4","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"ebb0a992d7e49bde97fcb2cad92f10322212b1eb","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.1.4.tgz","fileCount":6,"integrity":"sha512-U7ZUNUBR2xB4UjtnybUsgFm/oEIPLzD7K/yqOi2IwZsbuMUFfiiTVppyp3M333jTJwM+Sn7yOSqi8y2OExzGMw==","signatures":[{"sig":"MEUCIQDQOa/fqxLXipW7oE3E8SlJpLWTlkSa9cDyUwB7OyKq7wIgAoMjEHwuh0PSRmUK65vR0M5+pJwOrCENgsFCBiLJLqw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15776},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"30fafe48ea752220876b7ca8f07e58ee426e5a45","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.1.4_1695032163800_0.9014391602908742","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@byjohann/vue-i18n","version":"1.1.5","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.1.5","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"15db0f99b98b4a0837397c3aab843a19cc1c5210","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.1.5.tgz","fileCount":6,"integrity":"sha512-bmaEXhUB412Dv7PCs3vNck9tCxsEtPX23WP+6gPVeaoGL3wzFd4v7p3jA1BBYe0rg7rOBoxQJjIIG4rO2Mvbww==","signatures":[{"sig":"MEUCIQCyzWdSEk51+l7W9zFispzcqhwXcR/T6ayOii1hMb9YKgIgBueRVF1yrRTNMs2oMKtzTzZ+TMOE2nRbAJHJtBEf+eY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15980},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"b76a6294a6b988711acdbb1b3903f2786750fabe","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.6.7","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.7.4","devDependencies":{"vue":"^3.3.4","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.48.0","vitest":"^0.34.3","unbuild":"^2.0.0","vue-tsc":"^1.8.10","typescript":"^5.2.2","@types/node":"^20.5.9","@vitejs/plugin-vue":"^4.3.4","@antfu/eslint-config":"^0.41.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.1.5_1695131173494_0.7444978572830638","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@byjohann/vue-i18n","version":"1.2.0","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.2.0","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"692bdcd8df0a0db27a1c5de83f02b454de34517f","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.2.0.tgz","fileCount":6,"integrity":"sha512-9ktfeZrma07h7ZvRQHwaco2F2oLL0z9wNsQL10cb6oJlh8sCnlyTWITkcg7NmkDHaQq5+6gkHYxFDLIWWQJJSA==","signatures":[{"sig":"MEQCIAn15ljztPU4wHk2QQ/Rcms+iGkGyCoKv6oJMwSOiRWWAiBX7zcMF3PUVJPWNOZlL+C7eYqyfhuqNDBv4z4bwouuxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16320},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"8f871eaa748f16598c67beab7930f89702d07026","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.8.1","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.9.2","devDependencies":{"vue":"^3.3.5","vite":"^4.5.0","bumpp":"^9.2.0","eslint":"^8.51.0","vitest":"^0.34.6","unbuild":"^2.0.0","vue-tsc":"^1.8.19","typescript":"^5.2.2","@types/node":"^20.8.7","@vitejs/plugin-vue":"^4.4.0","@antfu/eslint-config":"^1.0.0-beta.27"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.2.0_1697808180771_0.8874454414575792","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@byjohann/vue-i18n","version":"1.2.1","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"pkg@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.2.1","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"6733d32e0ef08f2142af6e93539ea7cb7f025cea","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.2.1.tgz","fileCount":6,"integrity":"sha512-JZoq7N8QrW1NVqKNLvhqjLudj5WZ5pvRkccRPywjazaKkLLosVclRTLRk1n3mdlv8+bHOQfSVEqm8y3xwI99sw==","signatures":[{"sig":"MEUCIAyPXmLfGDYlWQxxfTjJpLvzhliszU8it+HBQav0B/vBAiEA5m4xJ22fQuIwWZrsgDIH5psGCHwZD6vWbGEElnZZWZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16362},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"b96053ff2f1730f48f02db6f6c37ffb331c48b77","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp --commit --push --tag","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"9.8.1","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","dependencies":{"ohash":"^1.1.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.9.2","devDependencies":{"vue":"^3.3.5","vite":"^4.5.0","bumpp":"^9.2.0","eslint":"^8.51.0","vitest":"^0.34.6","unbuild":"^2.0.0","vue-tsc":"^1.8.19","typescript":"^5.2.2","@types/node":"^20.8.7","@vitejs/plugin-vue":"^4.4.0","@antfu/eslint-config":"^1.0.0-beta.27"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.2.1_1697810107709_0.9227289439050117","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@byjohann/vue-i18n","version":"1.3.0","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"hello@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.3.0","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"22a3ba3f0b354f99dfb71bb01fb28938769033cc","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.3.0.tgz","fileCount":6,"integrity":"sha512-MzLx6VMmym75a8s24mrYWjsYZMfYg1BzTy/bqFzsYfddacEutt+qLaxlO+IqVMF94J51fWoSXw00AdCUvjlv0A==","signatures":[{"sig":"MEYCIQDOX5fEZy37fVr4/2QbePAI/OBYwQSCKNnyyLlpIH2YfAIhALSa8Kn08Nv6su+lNq4vZ84OPeqqT/pa6clT20M9AKkm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16043},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"8a45b31d79173db161d34d07f5abdbcc2a1ae345","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"10.7.0","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.1.4","devDependencies":{"vue":"^3.4.27","vite":"^5.2.12","bumpp":"^9.4.1","eslint":"^9.4.0","vitest":"^1.6.0","unbuild":"^3.0.0-rc.1","vue-tsc":"^2.0.19","typescript":"^5.4.5","@types/node":"^20.13.0","@vitejs/plugin-vue":"^5.0.5","@antfu/eslint-config":"^2.19.2"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.3.0_1717704366413_0.9846632937623219","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@byjohann/vue-i18n","version":"1.3.1","keywords":["vue","i18n","translation","localization"],"author":{"name":"Johann Schopplich","email":"hello@johannschopplich.com"},"license":"MIT","_id":"@byjohann/vue-i18n@1.3.1","maintainers":[{"name":"johannschopplich","email":"mail@johannschopplich.com"}],"homepage":"https://github.com/johannschopplich/vue-i18n#readme","bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"dist":{"shasum":"2c9466426fe4a291f1f9798c4af7c50bf267a8c6","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.3.1.tgz","fileCount":6,"integrity":"sha512-0dpkETc5NeWgeppHZ+cxNY2wwIm5JUvl3vyVp4g5qlf9FXzohhSK9B+1Cv76S7pBHFjFfLaTPeeis7CGYYPlEQ==","signatures":[{"sig":"MEUCIQDPKUp26/8hBBxnaIIn9VT3vcsEsaTte/FkLefzJELZPwIgOpNNHVwrhoefE6qORz4uxtQN+97CKvwCKBAjXiTWxlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15854},"type":"module","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"gitHead":"4ad502c59832388092c5b0e150089bf9236c090d","scripts":{"dev":"unbuild --stub","lint":"eslint .","test":"vitest","build":"unbuild","release":"bumpp","lint:fix":"eslint . --fix","test:types":"vue-tsc --noEmit"},"_npmUser":{"name":"johannschopplich","email":"mail@johannschopplich.com"},"repository":{"url":"git+https://github.com/johannschopplich/vue-i18n.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight internationalization plugin for Vue","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.7.1","devDependencies":{"vue":"^3.5.13","vite":"^6.2.4","bumpp":"^10.1.0","eslint":"^9.23.0","vitest":"^3.1.1","unbuild":"^3.5.0","vue-tsc":"^2.2.8","typescript":"^5.8.2","@types/node":"^22.13.17","@vitejs/plugin-vue":"^5.2.3","@antfu/eslint-config":"^4.11.0"},"peerDependencies":{"vue":"^3"},"_npmOperationalInternal":{"tmp":"tmp/vue-i18n_1.3.1_1743574257670_0.8018883096007396","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@byjohann/vue-i18n","type":"module","version":"1.3.2","packageManager":"pnpm@10.32.1","description":"Lightweight internationalization plugin for Vue","author":{"name":"Johann Schopplich","email":"hello@johannschopplich.com"},"license":"MIT","homepage":"https://github.com/johannschopplich/vue-i18n#readme","repository":{"type":"git","url":"git+https://github.com/johannschopplich/vue-i18n.git"},"bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"keywords":["vue","i18n","translation","localization"],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"types":"./dist/index.d.mts","scripts":{"build":"tsdown","lint":"eslint .","lint:fix":"eslint . --fix","test":"vitest","test:types":"vue-tsc --noEmit","release":"bumpp"},"peerDependencies":{"vue":"^3"},"devDependencies":{"@antfu/eslint-config":"^7.7.2","@types/node":"^24.12.0","@vitejs/plugin-vue":"^6.0.5","bumpp":"^10.4.1","eslint":"^10.0.3","eslint-flat-config-utils":"^3.0.2","tsdown":"^0.21.2","typescript":"^5.9.3","vite":"^8.0.0","vitest":"^4.1.0","vue":"^3.5.30","vue-tsc":"^3.2.5"},"gitHead":"c50d4c2e7deb88f8473206befe015fe8e7007aef","_id":"@byjohann/vue-i18n@1.3.2","_nodeVersion":"22.22.1","_npmVersion":"11.11.1","dist":{"integrity":"sha512-BU1Bqc2Rl4vLCkLNoDOtwrhcrxKeXFlvs7qh7Q3LzzDdGOPQFPDN1zlJvL+FIpQaLRlzn245qbvjleP1FTzQ6w==","shasum":"2a95f8f255067a331a1719c00c819c0ea69cd1ed","tarball":"https://registry.npmjs.org/@byjohann/vue-i18n/-/vue-i18n-1.3.2.tgz","fileCount":5,"unpackedSize":14285,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@byjohann%2fvue-i18n@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDumdZ17+e9urRur1gPaw4wglJtfDbXmb/TYEwBs9EBmQIgDZ8FdrLcH+POpQNQndT0GkcMAjFyBqkczzzifeQIgjY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ec9398c7-af73-4876-b1f1-83c7db689eea"}},"directories":{},"maintainers":[{"name":"johannschopplich","email":"johann@schopplich.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue-i18n_1.3.2_1773487516156_0.4684428720921243"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-08T05:48:17.221Z","modified":"2026-03-14T11:25:16.613Z","1.0.1":"2023-09-08T05:48:17.642Z","1.0.2":"2023-09-08T16:16:18.495Z","1.1.0":"2023-09-12T16:22:00.779Z","1.1.1":"2023-09-12T18:11:15.665Z","1.1.2":"2023-09-13T05:46:59.522Z","1.1.3":"2023-09-15T12:26:07.988Z","1.1.4":"2023-09-18T10:16:04.040Z","1.1.5":"2023-09-19T13:46:13.707Z","1.2.0":"2023-10-20T13:23:00.940Z","1.2.1":"2023-10-20T13:55:07.887Z","1.3.0":"2024-06-06T20:06:06.561Z","1.3.1":"2025-04-02T06:10:57.836Z","1.3.2":"2026-03-14T11:25:16.297Z"},"bugs":{"url":"https://github.com/johannschopplich/vue-i18n/issues"},"author":{"name":"Johann Schopplich","email":"hello@johannschopplich.com"},"license":"MIT","homepage":"https://github.com/johannschopplich/vue-i18n#readme","keywords":["vue","i18n","translation","localization"],"repository":{"type":"git","url":"git+https://github.com/johannschopplich/vue-i18n.git"},"description":"Lightweight internationalization plugin for Vue","maintainers":[{"name":"johannschopplich","email":"johann@schopplich.com"}],"readme":"# @byjohann/vue-i18n\n\nLightweight internationalization plugin for Vue.\n\nWhy bother creating another i18n library if [Vue I18n](https://vue-i18n.intlify.dev) seems to be the de-facto standard? Well, I was looking for a lightweight solution that solely covers the most basic use cases. I also wanted to learn, what a minimalistic i18n library would look like. So I built it.\n\n## Key Features\n\n- 🗜 [`useI18n`](#usei18n) composable\n- 🔃 Lazily add translations at runtime\n- 📯 Global properties [`$t`](#t--i18n) and [`$i18n`](#t--i18n) accessible in templates\n- 🦾 [Strongly typed locales](#strict-locale-and-messages-types) and messages\n- 🌬️ Zero dependencies\n\n## Setup\n\n```bash\n# pnpm\npnpm add @byjohann/vue-i18n\n\n# npm\nnpm i @byjohann/vue-i18n\n\n# yarn\nyarn add @byjohann/vue-i18n\n```\n\n## Usage\n\n> [!TIP]\n> [📖 Check out the playground](./playground/)\n\nBefore you can use `@byjohann/vue-i18n`, you need to initialize the `i18n` instance:\n\n```ts\n// plugins/i18n.ts\nimport { createI18n } from '@byjohann/vue-i18n'\n\nconst i18n = createI18n({\n  defaultLocale: 'en',\n  locales: ['en', 'de'],\n  messages: {\n    en: {\n      intro: 'Welcome, {name}',\n    },\n    de: {\n      intro: 'Willkommen, {name}',\n    },\n  },\n})\n\nexport default i18n\n```\n\nInside your app's entry point, import the `i18n` instance and add it to Vue:\n\n```ts\n// main.ts\nimport { createApp } from 'vue'\nimport i18n from './i18n'\n\nconst app = createApp(App)\napp.use(i18n)\napp.mount('#app')\n```\n\nDone! Now you can retrieve translated keys in your components:\n\n```ts\nconst { locale, t, setLocale } = useI18n()\n\nlocale.value // `en`\nt('intro', { name: 'World' }) // `Welcome, World`\n\n// Set new locale\nsetLocale('de')\n\nlocale.value // `de`\nt('intro', { name: 'World' }) // `Willkommen, World`\n```\n\n## Strict Locale and Messages Types\n\nTyped locales and messages will help you to avoid typos and make your code more robust. To narrow the type of your locales, you can create a `Locale` type and pass it to the `useI18n` composable.\n\nProperties like `locale`, `locales` and `messages` will be typed accordingly.\n\n```ts\nimport type enMessages from './locales/en.json'\n\ntype Messages = typeof enMessages\ntype Locale = 'en' | 'de'\n\nconst { locale, messages } = useI18n<Locale, Messages>()\n\nmessages.fr = { // The property \"fr\" is not assignable to type \"LocaleMessages<Locale>\".\n  // ...\n}\n```\n\n## Message Formatting\n\n<table><tr><td width=\"500px\" valign=\"top\">\n\n### General Formatting\n\n```ts\nconst messages = {\n  en: {\n    intro: 'Hello World'\n  }\n}\n```\n\n</td><td width=\"500px\"><br>\n\n**Template**\n\n```html\n<p>{{ t('intro') }}</p>\n```\n\n**Output**\n\n```html\n<p>Hello World</p>\n```\n\n</td></tr><tr><td width=\"500px\" valign=\"top\">\n\n### Named Formatting\n\n```ts\nconst messages = {\n  en: {\n    intro: '{msg} World'\n  }\n}\n```\n\n</td><td width=\"500px\"><br>\n\n**Template**\n\n```html\n<p>{{ t('intro', { msg: 'My' }) }}</p>\n```\n\n**Output**\n\n```html\n<p>My World</p>\n```\n\n</td></tr><tr><td width=\"500px\" valign=\"top\">\n\n### List Formatting\n\n```ts\nconst messages = {\n  en: {\n    intro: '{0} World'\n  }\n}\n```\n\n</td><td width=\"500px\"><br>\n\n**Template**\n\n```html\n<p>{{ t('intro', ['My']) }}</p>\n```\n\n**Output**\n\n```html\n<p>My World</p>\n```\n\n---\n\nList formatting also accepts array-like objects:\n\n**Template**\n\n```html\n<p>{{ t('intro', {'0': 'My'}) }}</p>\n```\n\n**Output**\n\n```html\n<p>My World</p>\n```\n\n</td></tr></table>\n\n### Auto-Load Translations\n\nTo automatically load translations, you can use [the glob import from Vite](https://vitejs.dev/guide/features.html#glob-import) to load all translation files from a directory.\n\n```ts\nimport type { LocaleMessages } from '@byjohann/vue-i18n'\nimport { createI18n } from '@byjohann/vue-i18n'\n\n// Auto-load translations\nconst messages = Object.fromEntries(\n  Object.entries(\n    import.meta.glob<LocaleMessages>('./locales/*.json', { eager: true })\n  ).map(([key, value]) => [key.slice(10, -5), value])\n)\n\nconst i18n = createI18n({\n  defaultLocale: 'en',\n  locales: Object.keys(messages),\n  messages\n})\n\nexport { i18n }\n```\n\n## API\n\n### `$t` & `$i18n`\n\nThe properties `$t` as well as `$i18n` are available globally in your templates.\n\nExample:\n\n```html\n<p>{{ $t('intro') }}</p>\n```\n\n### `useI18n`\n\nTo access the current i18n instance, you can import the `useI18n` composable from `@byjohann/vue-i18n`. The `useI18n` composable is available in your `<script setup>` blocks or the `setup` function of your components.\n\n**Example**\n\n```ts\nimport { useI18n } from '@byjohann/vue-i18n'\n\nconst {\n  defaultLocale,\n  locale,\n  locales,\n  messages,\n  t,\n  setLocale,\n  getLocale\n} = useI18n()\n\nconsole.log(locales) // `['en', 'de']`\nconsole.log(t('foo')) // `bar`\n```\n\n**Type Declaration**\n\n```ts\nfunction useI18n<\n  Locale extends string = string,\n  Messages extends Record<string, unknown> = Record<string, unknown>\n>(): I18nInstance<Locale, Messages>\n\ninterface I18nInstance<\n  Locale extends string = string,\n  Messages extends Record<string, unknown> = Record<string, unknown>\n> {\n  defaultLocale: Locale\n  locale: ComputedRef<Locale>\n  locales: readonly Locale[]\n  messages: LocaleMessages<Locale, Messages>\n  t: <const T extends string>(key: T, params?: MessageParameters) => string\n  setLocale: (locale: Locale) => void\n  getLocale: () => string\n}\n```\n\n## 💻 Development\n\n1. Clone this repository\n2. Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`\n3. Install dependencies using `pnpm install`\n4. Start development server using `pnpm run dev` inside `playground`\n\n## License\n\n[MIT](./LICENSE) License © 2022-PRESENT [Johann Schopplich](https://github.com/johannschopplich)\n\n[MIT](./LICENSE) License © 2020 [webkong](https://github.com/webkong)\n","readmeFilename":"README.md"}