{"_id":"@atzentis/storage-locales","name":"@atzentis/storage-locales","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@atzentis/storage-locales","version":"0.2.0","description":"Language packs for @atzentis/storage-react and @atzentis/storage-expo","keywords":["atzentis","storage","locales","localization","i18n"],"license":"MIT","author":{"name":"Atzentis","email":"dev@atzentis.com","url":"https://atzentis.com"},"homepage":"https://github.com/atzentis/atzentis-storage-sdk/tree/main/packages/locales#readme","repository":{"type":"git","url":"git+https://github.com/atzentis/atzentis-storage-sdk.git","directory":"packages/locales"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./en":{"import":"./dist/en/index.js","types":"./dist/en/index.d.ts"},"./el":{"import":"./dist/el/index.js","types":"./dist/el/index.d.ts"},"./de":{"import":"./dist/de/index.js","types":"./dist/de/index.d.ts"}},"sideEffects":false,"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.0"},"scripts":{"build":"tsup","dev":"tsup --watch","type-check":"tsc --noEmit"},"_id":"@atzentis/storage-locales@0.2.0","bugs":{"url":"https://github.com/atzentis/atzentis-storage-sdk/issues"},"_integrity":"sha512-HmePW2ywvSWneT/BxI6YbMVkqXr9AS5xAZw+eO+5HqAP7e8kl+hh4Xum3RCKft0WwC8QNbZpEg7H4WZb+W3d/A==","_resolved":"/tmp/28bb4eefc8d12254ccab7448cba1f114/atzentis-storage-locales-0.2.0.tgz","_from":"file:atzentis-storage-locales-0.2.0.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-HmePW2ywvSWneT/BxI6YbMVkqXr9AS5xAZw+eO+5HqAP7e8kl+hh4Xum3RCKft0WwC8QNbZpEg7H4WZb+W3d/A==","shasum":"33e431fb9b36e8ae94551f387c72e72f254faa37","tarball":"https://registry.npmjs.org/@atzentis/storage-locales/-/storage-locales-0.2.0.tgz","fileCount":11,"unpackedSize":41781,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDnUkI9RYzhS+xclX2EMHOovcfMZRLFru6QLkRtFSz7/gIgfE/4+9O2Qd/5C9Lwj0Nf+ArlYCuQ2mPFoD2kdliANIk="}]},"_npmUser":{"name":"vassilibo","email":"vassilibo@outlook.com"},"directories":{},"maintainers":[{"name":"vassilibo","email":"vassilibo@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storage-locales_0.2.0_1781139275921_0.3841770745643105"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-11T00:54:35.706Z","0.2.0":"2026-06-11T00:54:36.058Z","modified":"2026-06-11T00:54:36.290Z"},"maintainers":[{"name":"vassilibo","email":"vassilibo@outlook.com"}],"description":"Language packs for @atzentis/storage-react and @atzentis/storage-expo","homepage":"https://github.com/atzentis/atzentis-storage-sdk/tree/main/packages/locales#readme","keywords":["atzentis","storage","locales","localization","i18n"],"repository":{"type":"git","url":"git+https://github.com/atzentis/atzentis-storage-sdk.git","directory":"packages/locales"},"author":{"name":"Atzentis","email":"dev@atzentis.com","url":"https://atzentis.com"},"bugs":{"url":"https://github.com/atzentis/atzentis-storage-sdk/issues"},"license":"MIT","readme":"# @atzentis/storage-locales\n\nZero-dependency, tree-shakeable locale packs for [`@atzentis/storage-react`](../react) and [`@atzentis/storage-expo`].\n\nThree languages (EN, DE, EL) across 7 domains: `common`, `errors`, `files`, `folders`, `search`, `annotations`, `uploads`.\n\n## Installation\n\n```bash\npnpm add @atzentis/storage-locales\n```\n\n## Usage\n\n```ts\nimport { en, de, el, type StorageLocalization } from \"@atzentis/storage-locales\";\n\n// Or import a single locale (tree-shake friendly):\nimport en from \"@atzentis/storage-locales/en\";\nimport de from \"@atzentis/storage-locales/de\";\nimport el from \"@atzentis/storage-locales/el\";\n```\n\nEvery pack implements the same `StorageLocalization` interface — a flat\nintersection of every domain's `*Keys` interface. Keys are\n`SCREAMING_SNAKE_CASE` and are domain-prefixed everywhere except `common`\n(e.g. `FILES_DELETE`, `FOLDERS_RENAME`, `SEARCH_PLACEHOLDER`,\n`ERROR_NETWORK`). Each locale composes its files via spread:\n\n```ts\nconst en: StorageLocalization = {\n  ...common,\n  ...errors,\n  ...files,\n  ...folders,\n  ...search,\n  ...annotations,\n  ...uploads,\n};\n```\n\nThe flat shape mirrors `@atzentis/auth-sdk/locales` so consumers can\nlook up keys with a single `t(key)` lookup without traversing nested\ngroups.\n\n## Adding a new key\n\n1. Add the key to the matching `src/types/{domain}.types.ts` interface.\n2. Run `tsc --noEmit` — every locale will fail until it provides a value.\n3. Add the translation to each `en/{domain}.ts`, `de/{domain}.ts`, `el/{domain}.ts`.\n4. Re-run completeness tests in `@atzentis/storage-react` (`tests/locales/completeness.test.ts`).\n\n## Default locale\n\n`DEFAULT_STORAGE_LOCALIZATION` re-exports the English pack and is the safe fallback when a consumer can't determine the user's preferred locale.\n\n```ts\nimport { DEFAULT_STORAGE_LOCALIZATION } from \"@atzentis/storage-locales\";\n```\n\n## License\n\nMIT — © Atzentis\n","readmeFilename":"README.md","_rev":"1-3c555714fd6d0f61c9eebef5ea4ded4e"}