{"_id":"@ariaskit/astro-i18n","_rev":"10-e35966d769fc2fbffc2adfdd607966c7","name":"@ariaskit/astro-i18n","dist-tags":{"latest":"1.0.1"},"versions":{"0.0.1":{"name":"@ariaskit/astro-i18n","version":"0.0.1","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.1","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"dist":{"shasum":"6dd31a4c556dec3d2a9b56f07d55ce800986ff65","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.1.tgz","fileCount":5,"integrity":"sha512-moH0DogNFL3SWhdGSfQTsd1Oz0yfIYBATaX9JCWjH/Catcmqou+prQCkaOtrdGDse7iij4elP/OgzJ7sEkU9GA==","signatures":[{"sig":"MEUCICW6p7SE83gODL3CfoSoyu4qWTuNOUw6X+Z1MhlZhZawAiEAw+6lYQVqgPY14r0rETSdAu6RwWBibuWahkjicQ4wI+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6603},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"a455a35c419328b4489bc89814ea085d1a1a39eb","scripts":{"push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.5.2","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write"]},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","vitest":"3.2.4","prettier":"3.6.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.1_1767642349914_0.524802534893273","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@ariaskit/astro-i18n","version":"0.0.2","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.2","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"dist":{"shasum":"890e9c6e0347d37995e86626b1549b12dc22fbfd","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.2.tgz","fileCount":5,"integrity":"sha512-FgCNLA5nFyPztE3b88cv9WB3+o/1QJt7/qTMBREyZga8bm/XRKPHZVBaPLBc0p8Wv9V9jCpleMAXPtqM62PKWw==","signatures":[{"sig":"MEQCIHIVt/0RjNxrGYTrlbX1iggspbLNfkwvMc1SNkHmLlXhAiAryXZs3evp/gCOlyTR31tuM+Ywx3jRAq5UklDlUU0k2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7576},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"9d0c8626fce30ef8a831b425172ca6601a773b46","scripts":{"push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.7.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write"]},"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","vitest":"3.2.4","prettier":"3.6.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.2_1767700599857_0.8379367301541141","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@ariaskit/astro-i18n","version":"0.0.3","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.3","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"dist":{"shasum":"5109fb2ac1f42890a8b3f3d68601e0a75ba5e849","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.3.tgz","fileCount":6,"integrity":"sha512-Bbs3iPOozbuh4btlFDixq6m/75gdXYdKLsruai65bwSnXbV4ya/9RQrrTfgJ+50IsJgXYXH4fOOc1XQzbT7ItA==","signatures":[{"sig":"MEQCICVY3XAMkefgxmxd9QL5XO4zNeJ5ARJ5m+b2QOJH/naGAiArhKoR682lTDr6Qjko1ei+7mbX61pgRglYXR/5A8vG2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9538},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"150d4b002b48bea55c3b65ee8c66c997e55df280","scripts":{"push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.8.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write"]},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","vitest":"3.2.4","prettier":"3.6.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.3_1769791843998_0.9772825298454877","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@ariaskit/astro-i18n","version":"0.0.4","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.4","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"bin":{"astro-i18n-check":"dist/cli.mjs"},"dist":{"shasum":"7aa43319ed931ef34cdc7091ea5c5c9a006a0231","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.4.tgz","fileCount":8,"integrity":"sha512-Zo8uuHXxQX++wzYuMp/GPlXuM5W2CiqDZvw+9ZyEzaRuNPtJHxRyr5RjEyhhigY/dMea3NIWVLDNZ74b8XcY5w==","signatures":[{"sig":"MEYCIQDOuhp91dRaiFSX8VOmpEbqAr4Di937OBIjqPBg1Hdg4wIhAJjWBStX9PKHXsMl1UrQsHSM1ZesfoevKDC0jhDr+sK9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7249},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"32ed648fcc7119a663b00b882b4275367c5bd7d3","scripts":{"push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.8.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write"]},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","vitest":"3.2.4","prettier":"3.6.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.4_1769897735581_0.5570330533885766","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@ariaskit/astro-i18n","version":"0.0.5","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.5","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"bin":{"astro-i18n-check":"dist/cli.mjs"},"dist":{"shasum":"4e6aea8eb4a2fd1557f5a4514f57ca86b18f337f","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.5.tgz","fileCount":8,"integrity":"sha512-wKxyKjvLUUb3QtJSjp3CK/3KeBICQLu2ziGfBJW18qPfQ/2z22xjNywsaN98bFx5ZiZcgADVUW3UmMSJwRevHQ==","signatures":[{"sig":"MEUCIQDsG3W39d5TS45FC/wDXrZBXwKHVvaLHloKJrSdfmJZWwIgD0TEDigKqpYZszzW8Cmdaf/dV8UFugcGLdZV3BWjSpw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8899},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"4a63e28780cfa1da5f18bca60ee48c59c96a0514","scripts":{"push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.8.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write"]},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","vitest":"3.2.4","prettier":"3.6.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.5_1769942738977_0.9434885418931087","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@ariaskit/astro-i18n","version":"0.0.6","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.6","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"bin":{"astro-i18n-check":"dist/cli.mjs"},"dist":{"shasum":"6089e3857de210bad56d9213f6ff2e1686f3d100","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.6.tgz","fileCount":9,"integrity":"sha512-10z/7Ukyrm0fpRCulGLVOr+qAg+vxXVd7xZ/h0Nlv5Sl567cjIotSyk20XU5HZ7tyXCf/UnRG00hUdPbU/B84Q==","signatures":[{"sig":"MEQCIEwUwcbjYm0UopTWpSFLiLJIC5/ciAVFcpmoCjiGl3TvAiBWIfdNi1md2TIBc8/s6pX8SiJ6od/3gQQN29JfBkMMEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11868},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"},"./I18NDebug.astro":"./dist/I18NDebug.astro"},"gitHead":"59833e6669534b061c6febce97d98f0d4e8cb593","scripts":{"lint":"eslint . --ext .ts,.js","push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.8.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write","eslint"]},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","eslint":"^9.39.2","vitest":"3.2.4","globals":"^17.1.0","prettier":"3.6.2","@eslint/js":"^9.39.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","typescript-eslint":"^8.53.1","@eslint/create-config":"1.11.0","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.6_1769981462840_0.8165916161490898","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@ariaskit/astro-i18n","version":"0.0.7","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.7","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"bin":{"astro-i18n-check":"dist/cli.mjs"},"dist":{"shasum":"927c68dfdebc5222fce3418dd295568dfabfa13b","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.7.tgz","fileCount":9,"integrity":"sha512-EZNY22JyUuLUGtzV7isQrO1iF+wFRLYkdhe/OAFjc6oGN+/AbYqkkZT0dFnz+Kph9oCVdO1KZg3kMo77n6guZg==","signatures":[{"sig":"MEUCIFh/baxgl+GBsOn9Szknae8PP3gsMFztGa6+3SjjWYigAiEA8BhRbt7LCSENLgx7oXapetjxInUOqJihfUx5u9wn7Y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13342},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"},"./I18NDebug.astro":"./dist/I18NDebug.astro"},"gitHead":"88a570e9977d618a807e358d7fb8eb60da89221c","scripts":{"lint":"eslint . --ext .ts,.js","push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.8.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write","eslint"]},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","eslint":"^9.39.2","vitest":"3.2.4","globals":"^17.1.0","prettier":"3.6.2","@eslint/js":"^9.39.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","typescript-eslint":"^8.53.1","@eslint/create-config":"1.11.0","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.7_1770038482468_0.36895393316027203","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@ariaskit/astro-i18n","version":"0.0.8","keywords":["astro","i18n","internationalization","localization"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@0.0.8","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"bin":{"astro-i18n-check":"dist/cli.mjs"},"dist":{"shasum":"b4172fbe9a3a50ebca7b738f1f1c37b97be78802","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-0.0.8.tgz","fileCount":9,"integrity":"sha512-7sWEioWdtCofnZZWJtdYndtkRiBIrLUO8Z1Ezo8qxY5dG+mPWzdqDipL3b0BMBF/duKI5lRwT0X5/tj+QyPfiQ==","signatures":[{"sig":"MEUCIQDiWfwebsdng4uQ7WCv1W7XPqlsAj2pTqHJc2fYE60U7AIgLApxEHnRrmwLcDYKXLDEITfuM9YNBGU/Du6jwLPCOYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13593},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"},"./I18NDebug.astro":"./dist/I18NDebug.astro"},"gitHead":"91fcae4d0538e0b41404fa99d3d7be19c2a1cae2","scripts":{"lint":"eslint . --ext .ts,.js","push":"git add . && gitzen commit -y && git push && pnpm run build:dev","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts}\"","test:v":"vitest --reporter verbose","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","publish:npm":"npm publish --access public","test:coverage":"vitest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"11.8.0","description":"An internationalization (i18n) library for Astro framework, providing easy localization and translation management for your Astro projects.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write","eslint"]},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"5.16.6","husky":"9.1.7","eslint":"^9.39.2","vitest":"3.2.4","globals":"^17.1.0","prettier":"3.6.2","@eslint/js":"^9.39.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","typescript-eslint":"^8.53.1","@eslint/create-config":"1.11.0","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0"},"lint-staged:options":{"allowEmpty":true},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_0.0.8_1770046478249_0.851863960910372","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ariaskit/astro-i18n","version":"1.0.0","keywords":["astro","astro-integration","astro-component","i18n","internationalization","localization","l10n","translation","typescript","intl","pluralization","hreflang"],"author":{"name":"JorgeRosbel"},"license":"MIT","_id":"@ariaskit/astro-i18n@1.0.0","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"bin":{"astro-i18n":"dist/cli.mjs","astro-i18n-check":"dist/cli.mjs"},"dist":{"shasum":"9c489f568132adcaf0a39e8df55cc6dc56e3c8ec","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-1.0.0.tgz","fileCount":54,"integrity":"sha512-37YV9QHtnbLRa4m/k5XBI/BtQtO3tOxVDLBm5xVXeVrLNhSKlu6lFR0UiW6ORtzTVmGIYDF1ycz4msEhoLrgkA==","signatures":[{"sig":"MEYCIQDUrznHbEyA9vP9xcMFp8JZFmIsn5auYk8N2cC+y/g+VQIhAPSsmLfXnTPbyFUFl9fTDvIEmbvuvYyw7eX2cvfbu2kX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":506201},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.20.8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./url":{"types":"./dist/url.d.ts","import":"./dist/url.mjs","default":"./dist/url.mjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","default":"./dist/client.mjs"},"./legacy":{"types":"./dist/legacy.d.ts","import":"./dist/legacy.mjs","default":"./dist/legacy.mjs"},"./content":{"types":"./dist/content.d.ts","import":"./dist/content.mjs","default":"./dist/content.mjs"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.mjs","default":"./dist/middleware.mjs"},"./integration":{"types":"./dist/integration.d.ts","import":"./dist/integration.mjs","default":"./dist/integration.mjs"},"./package.json":"./package.json","./I18NDebug.astro":"./dist/I18NDebug.astro","./components/*.astro":"./dist/components/*.astro"},"gitHead":"1689f54b181f1f2c1ad874d785b41a690acc5330","scripts":{"lint":"eslint .","test":"vitest","build":"tsup","check":"prettier --check \"**/*.{js,ts,mjs}\"","watch":"tsup --watch","format":"prettier --write \"**/*.{js,ts,mjs,json,md}\"","verify":"pnpm run lint && pnpm run typecheck && pnpm run test:run && pnpm run build","prepare":"husky","test:run":"vitest run","build:dev":"pnpm run build && pnpm link --global","typecheck":"tsc --noEmit","test:types":"vitest run --typecheck","publish:npm":"npm publish --access public","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"repository":{"url":"git+https://github.com/JorgeRosbel/astro-i18n.git","type":"git"},"_npmVersion":"12.0.1","description":"Type-safe internationalization for Astro: server and client rendering, translated URLs, content-collection blogs, plurals and Intl formatting.","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write","eslint --fix"]},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.3","tsup":"8.5.0","astro":"7.1.1","husky":"9.1.7","eslint":"^9.39.2","vitest":"3.2.4","globals":"^17.1.0","prettier":"3.6.2","@eslint/js":"^9.39.2","typescript":"5.8.3","@types/node":"24.0.15","lint-staged":"16.1.2","typescript-eslint":"^8.53.1","@vitest/coverage-v8":"3.2.4","@esbuild-plugins/tsconfig-paths":"0.1.2"},"peerDependencies":{"astro":">=5.0.0 <8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-i18n_1.0.0_1784983858417_0.5431817974185627","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ariaskit/astro-i18n","version":"1.0.1","description":"Type-safe internationalization for Astro: server and client rendering, translated URLs, content-collection blogs, plurals and Intl formatting.","type":"module","license":"MIT","author":{"name":"JorgeRosbel"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./integration":{"types":"./dist/integration.d.ts","import":"./dist/integration.mjs","default":"./dist/integration.mjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","default":"./dist/client.mjs"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.mjs","default":"./dist/middleware.mjs"},"./content":{"types":"./dist/content.d.ts","import":"./dist/content.mjs","default":"./dist/content.mjs"},"./url":{"types":"./dist/url.d.ts","import":"./dist/url.mjs","default":"./dist/url.mjs"},"./legacy":{"types":"./dist/legacy.d.ts","import":"./dist/legacy.mjs","default":"./dist/legacy.mjs"},"./components/*.astro":"./dist/components/*.astro","./I18NDebug.astro":"./dist/I18NDebug.astro","./package.json":"./package.json"},"main":"./dist/index.mjs","types":"./dist/index.d.ts","bin":{"astro-i18n":"dist/cli.mjs","astro-i18n-check":"dist/cli.mjs"},"engines":{"node":">=18.20.8"},"peerDependencies":{"astro":">=5.0.0 <8.0.0"},"scripts":{"build":"tsup","build:dev":"pnpm run build && pnpm add -g .","dev:example":"pnpm run build && pnpm --filter kitchen-sink dev","build:example":"pnpm run build && pnpm --filter kitchen-sink build","dev:website":"pnpm --filter astro-i18n-docs dev","build:website":"pnpm --filter astro-i18n-docs build","preview:website":"pnpm --filter astro-i18n-docs preview","watch":"tsup --watch","typecheck":"tsc --noEmit","format":"prettier --write \"**/*.{js,ts,mjs,json,md}\"","check":"prettier --check \"**/*.{js,ts,mjs}\"","lint":"eslint .","test":"vitest","test:run":"vitest run","test:types":"vitest run --typecheck","test:coverage":"vitest run --coverage","test:v":"vitest --reporter verbose","verify":"pnpm run lint && pnpm run typecheck && pnpm run test:run && pnpm run build","push":"git add . && gitzen commit -y && git push","prepare":"husky","prepublishOnly":"pnpm run verify","publish:npm":"npm publish --access public"},"lint-staged":{"*.{js,ts}":["prettier --write","eslint --fix"]},"keywords":["astro","astro-integration","astro-component","i18n","internationalization","localization","l10n","translation","typescript","intl","pluralization","hreflang"],"repository":{"type":"git","url":"git+https://github.com/JorgeRosbel/astro-i18n.git"},"bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","devDependencies":{"@esbuild-plugins/tsconfig-paths":"0.1.2","@eslint/js":"^9.39.2","@types/node":"24.0.15","@vitest/coverage-v8":"3.2.4","astro":"7.1.1","eslint":"^9.39.2","globals":"^17.1.0","husky":"9.1.7","lint-staged":"16.1.2","prettier":"3.6.2","tsup":"8.5.0","tsx":"4.20.3","typescript":"5.8.3","typescript-eslint":"^8.53.1","vitest":"3.2.4"},"gitHead":"cbd632ee3072a9f5f13ac98cc3a0a2cabae5221c","_id":"@ariaskit/astro-i18n@1.0.1","_nodeVersion":"22.23.1","_npmVersion":"12.0.1","dist":{"integrity":"sha512-i2rBZMmdKxhcEB4F0G/eNK7JN1R4sLpPa6D40FNUfWySHYC9cRPeDRtj4b1svGekBOg/EL6z7K7HB3bqv33ajw==","shasum":"e8adb5cb2662cf8c8b46423bbdb285ca8eb4e235","tarball":"https://registry.npmjs.org/@ariaskit/astro-i18n/-/astro-i18n-1.0.1.tgz","fileCount":54,"unpackedSize":563069,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariaskit%2fastro-i18n@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBZBVzUwapmUoFsJK0qZsdhM5kJJASIFZyDiWWNoNtV/AiEAl7s4mlzmfqHWAwMEl0/ydSHUl3e16b2XX9J6DrJ8s68="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5efb0596-8370-492e-a6e3-264c4063190d"}},"directories":{},"maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro-i18n_1.0.1_1784994441194_0.12801786580200436"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-05T19:45:49.786Z","modified":"2026-07-25T15:47:21.690Z","0.0.1":"2026-01-05T19:45:50.045Z","0.0.2":"2026-01-06T11:56:39.989Z","0.0.3":"2026-01-30T16:50:44.161Z","0.0.4":"2026-01-31T22:15:35.717Z","0.0.5":"2026-02-01T10:45:39.131Z","0.0.6":"2026-02-01T21:31:02.991Z","0.0.7":"2026-02-02T13:21:22.651Z","0.0.8":"2026-02-02T15:34:38.383Z","1.0.0":"2026-07-25T12:50:58.572Z","1.0.1":"2026-07-25T15:47:21.379Z"},"bugs":{"url":"https://github.com/JorgeRosbel/astro-i18n/issues"},"author":{"name":"JorgeRosbel"},"license":"MIT","homepage":"https://github.com/JorgeRosbel/astro-i18n#readme","keywords":["astro","astro-integration","astro-component","i18n","internationalization","localization","l10n","translation","typescript","intl","pluralization","hreflang"],"repository":{"type":"git","url":"git+https://github.com/JorgeRosbel/astro-i18n.git"},"description":"Type-safe internationalization for Astro: server and client rendering, translated URLs, content-collection blogs, plurals and Intl formatting.","maintainers":[{"name":"jorgerosbel","email":"jorgerosbelcruzarias@gmail.com"}],"readme":"# @ariaskit/astro-i18n\n\n<div align=\"center\">\n\n[![NPM Version](https://img.shields.io/npm/v/@ariaskit/astro-i18n?style=flat-square&color=BC443E)](https://www.npmjs.com/package/@ariaskit/astro-i18n)\n[![NPM Downloads](https://img.shields.io/npm/dm/@ariaskit/astro-i18n?style=flat-square&color=5D9948)](https://www.npmjs.com/package/@ariaskit/astro-i18n)\n[![CI Status](https://img.shields.io/github/actions/workflow/status/JorgeRosbel/astro-i18n/tests.yml?style=flat-square&label=Tests)](https://github.com/JorgeRosbel/astro-i18n/actions)\n[![License](https://img.shields.io/github/license/JorgeRosbel/astro-i18n?style=flat-square)](LICENSE)\n\n**Type-safe internationalization for Astro.** Server *and* client rendering, translated URLs, multilingual blogs, plurals and `Intl` formatting.\n\n[Getting started](docs/src/content/docs/getting-started.mdx) · [API reference](docs/src/content/docs/api-reference.md) · [Migrating from 0.x](docs/src/content/docs/migration.md) · [Report a bug](https://github.com/JorgeRosbel/astro-i18n/issues)\n\n</div>\n\n---\n\n> *A community project, not affiliated with or endorsed by the Astro team.*\n\n## Why\n\nTranslations are read **at build time** and bundled into your output. There is no filesystem access at runtime, which is what lets the same code run on Node, Vercel, Netlify, Cloudflare Workers, Deno — and in the browser, inside a client island.\n\n```astro\n---\nimport { useI18n } from '@ariaskit/astro-i18n';\n\nconst { t, plural, path, n, d, locale } = useI18n(Astro);\n---\n\n<a href={path('/about')}>{t('nav.about')}</a>   <!-- /es/acerca-de -->\n<h1>{t('home.greeting', { name: 'Ada' })}</h1>   <!-- name is required by the type -->\n<p>{plural('cart.items', 3)}</p>                 <!-- Intl.PluralRules -->\n<p>{n(1234.5)} · {d(post.date, { dateStyle: 'long' })}</p>\n```\n\n## Features\n\n| | |\n|---|---|\n| 🔒 **Generated types** | Keys come from your JSON via codegen — no manual generics, no depth limit, and `{{placeholders}}` become **required arguments** of `t()` |\n| 🌐 **Server and client** | One API for `.astro` pages and for React/Vue/Svelte islands, with per-island key subsets so you never ship the whole dictionary |\n| 🔗 **Translated URLs** | `/es/acerca-de` and `/fr/a-propos` render the same page, and the language switcher maps between them correctly |\n| 📝 **Blog-ready** | Content-collection helpers: locale detection, linked translations, fallback for untranslated posts, coverage stats |\n| 🔢 **Plurals & Intl** | `Intl.PluralRules` (Russian, Arabic, Polish included) plus number, currency, date, relative-time and list formatting |\n| ⚡ **Edge-safe** | Zero `node:*` imports in the runtime entry points — verified in CI |\n| 🩺 **Real CLI** | `check`, `doctor`, `stats`, `diff`, `search`, `params`, `tree`, `sync`, `export` and more, with colour, tables and coverage bars |\n| 🔍 **Visual inspector** | Hover any translated element in dev to see its key, expected params and locale |\n\n## Requirements\n\n| Astro | Node |\n|---|---|\n| 7.x | **≥ 22.12** |\n| 6.x | ≥ 20.3 |\n| 5.x | ≥ 18.20.8 |\n\n`peerDependencies: astro >=5.0.0 <8.0.0`. CI builds a real project against all three majors.\n\n## Install\n\n```bash\npnpm add @ariaskit/astro-i18n\n```\n\n## Setup\n\n**1.** Put your dictionaries in `i18n/` at the project root — or let `npx astro-i18n init` create them along with everything in step 2:\n\n```jsonc\n// i18n/en.json\n{\n  \"nav\": { \"home\": \"Home\", \"about\": \"About\" },\n  \"home\": { \"greeting\": \"Hello {{name}}\" },\n  \"cart\": {\n    \"items\": { \"=0\": \"Your cart is empty\", \"one\": \"1 item\", \"other\": \"{{count}} items\" }\n  }\n}\n```\n\n**2.** Add the integration:\n\n```js\n// astro.config.mjs\nimport { defineConfig } from 'astro/config';\nimport i18n from '@ariaskit/astro-i18n/integration';\n\nexport default defineConfig({\n  i18n: {\n    defaultLocale: 'en',\n    locales: ['en', 'es', 'fr'],\n    routing: { prefixDefaultLocale: false },\n  },\n\n  integrations: [\n    i18n({\n      fallback: { fr: 'en' },\n      routes: {\n        '/': { es: '', fr: '' },\n        about: { es: 'acerca-de', fr: 'a-propos' },\n      },\n    }),\n  ],\n});\n```\n\n**3.** Use it. That's the whole setup — types are generated on the next `astro dev` or `astro build`.\n\n```astro\n---\nimport { useI18n } from '@ariaskit/astro-i18n';\nconst { t } = useI18n(Astro);\n---\n<h1>{t('nav.home')}</h1>\n```\n\n## Type safety without generics\n\nThe integration writes `.astro/…/types.d.ts` describing your real keys, so `t()` is typed with no annotation from you:\n\n```ts\nt('nav.home')                          // ✅\nt('nav')                               // ✗ a group, not a translatable value\nt('nav.hoem')                          // ✗ no such key\nt('home.greeting')                     // ✗ missing required parameter \"name\"\nt('home.greeting', { name: 'Ada' })    // ✅\n```\n\nPlaceholder inference reads the literal text of each string, so forgetting a parameter is a compile error instead of a `{{name}}` leaking into your page.\n\n## Client islands\n\nImport from `/client` — that entry point contains no Node built-ins:\n\n```astro\n---\nimport { useI18n } from '@ariaskit/astro-i18n';\nimport I18nProvider from '@ariaskit/astro-i18n/components/I18nProvider.astro';\nimport Cart from '../components/Cart.tsx';\n\nconst i18n = useI18n(Astro);\n---\n<!-- Ships only the keys the island needs -->\n<I18nProvider i18n={i18n} include={['cart.*']} />\n<Cart client:load />\n```\n\n```tsx\nimport { createClientI18n } from '@ariaskit/astro-i18n/client';\n\nconst { t, plural, n } = createClientI18n();\nexport default () => <button>{plural('cart.items', 3)}</button>;\n```\n\n## Multilingual blog\n\n```astro\n---\nimport { getCollection } from 'astro:content';\nimport { useI18n } from '@ariaskit/astro-i18n';\nimport { filterByLocale, entrySlug } from '@ariaskit/astro-i18n/content';\n\nconst { locale, path, d } = useI18n(Astro);\nconst config = { locales: ['en', 'es', 'fr'], defaultLocale: 'en', fallback: { fr: 'en' } };\n\n// `fallback: true` keeps untranslated posts visible instead of leaving gaps\nconst posts = filterByLocale(await getCollection('blog'), locale, config, { fallback: true });\n---\n{posts.map(post => (\n  <a href={path(`/blog/${entrySlug(post, config)}`)}>{post.data.title}</a>\n))}\n```\n\nLocales are detected from `es/post.md`, `post.es.md` or a `lang` frontmatter field. Add `translationKey` to link translations whose slugs differ.\n\n## SEO\n\n```astro\n---\nimport SeoTags from '@ariaskit/astro-i18n/components/SeoTags.astro';\n---\n<head>\n  <SeoTags />\n</head>\n```\n\nEmits canonical, `hreflang` alternates for every locale plus `x-default`, and Open Graph locale tags — using the translated URLs, so `/es/acerca-de` points at `/fr/a-propos`.\n\n> Astro does **not** generate `hreflang` tags on its own; this component does.\n\n## CLI\n\n```bash\nnpx astro-i18n init       # scaffold translations, config and scripts\nnpx astro-i18n            # validate every locale (default command)\nnpx astro-i18n doctor     # health check with fixes\nnpx astro-i18n stats      # coverage bars\nnpx astro-i18n --help     # every command and flag\n```\n\n`init` does the repetitive per-project setup and never overwrites anything: it\nreports what is already configured, backs up your Astro config before touching\nit, syntax-checks the result, and restores the backup if that check fails.\n\n`check` catches what a missing/extra-key diff cannot: **mismatched `{{placeholders}}` between locales**, which render nothing at runtime and no test catches. See [CLI usage](docs/src/content/docs/cli-usage.md).\n\n## Visual inspector\n\nSpread the attributes onto **your own** element and drop the devtools in your layout once:\n\n```astro\n---\nimport I18nDevtools from '@ariaskit/astro-i18n/components/I18nDevtools.astro';\nconst i18n = useI18n(Astro);\n---\n<h1 {...i18n.debugAttrs('home.title')}>{i18n.t('home.title')}</h1>\n<I18nDevtools />\n```\n\nHover to see the key, the expected params and the locale; missing keys are outlined in red. Both disappear from production output — the check is `import.meta.env.DEV`, which the bundler resolves statically.\n\n## Documentation\n\n**[Read the documentation site →](https://astro-i18n.vercel.app)**\n\nThe site is an Astro project in [`docs/`](docs/); the pages below link to their\nsource, which is what you get offline or on GitHub.\n\n- [Getting started](docs/src/content/docs/getting-started.mdx)\n- [API reference](docs/src/content/docs/api-reference.md)\n- [Translated URLs](docs/src/content/docs/translated-urls.md)\n- [Client islands](docs/src/content/docs/client-islands.md)\n- [Blogs and content collections](docs/src/content/docs/blog.md)\n- [Plurals and Intl formatting](docs/src/content/docs/plurals-and-formatting.md)\n- [Deployment: static, SSR and edge](docs/src/content/docs/deployment.md)\n- [CLI usage](docs/src/content/docs/cli-usage.md)\n- [Migrating from 0.x](docs/src/content/docs/migration.md)\n- [Routing strategies](docs/src/content/docs/routing.mdx)\n\n## Documentation site\n\nThe site in [`docs/`](docs/) is a separate Astro project in the same pnpm\nworkspace, built as static output.\n\n```bash\npnpm run dev:website       # dev server\npnpm run build:website     # static build -> docs/dist\npnpm run preview:website   # serve the build\n```\n\n### Deploying to Vercel\n\nCreate a Vercel project pointing at this repository and set **Root Directory** to\n`docs`. Everything else comes from [`docs/vercel.json`](docs/vercel.json):\n\n| Setting | Value | Why |\n|---|---|---|\n| Root Directory | `docs` | Vercel's monorepo entry point |\n| Install Command | `cd .. && pnpm install --frozen-lockfile` | Installs the whole workspace from the root, where `pnpm-workspace.yaml` lives |\n| Build Command | `cd .. && pnpm run build:website` | Runs the root script |\n| Output Directory | `dist` | Relative to the Root Directory, so `docs/dist` |\n\n`--frozen-lockfile` keeps deploys reproducible and satisfies the workspace's\n`minimumReleaseAge` policy without re-resolving anything.\n\nLeave \"Include files outside the root directory\" enabled — pnpm needs the\nworkspace root to resolve the lockfile.\n\nTo deploy from the repository root instead, set Root Directory to `.` and\noverride Build Command to `pnpm run build:website` and Output Directory to\n`docs/dist`.\n\n\n## License\n\nMIT\n","readmeFilename":"readme.md"}