{"_id":"@atzentis/auth-locales","_rev":"3-0a92f4211d7f7b5e8908d4e8ae951a76","name":"@atzentis/auth-locales","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.15":{"name":"@atzentis/auth-locales","version":"0.0.15","keywords":["atzentis","auth","locales","localization","i18n"],"author":{"url":"https://atzentis.com","name":"Atzentis","email":"dev@atzentis.com"},"license":"MIT","_id":"@atzentis/auth-locales@0.0.15","maintainers":[{"name":"vassilibo","email":"vassilibo@outlook.com"}],"homepage":"https://github.com/atzentis/atzentis-auth-sdk/tree/main/packages/locales#readme","bugs":{"url":"https://github.com/atzentis/atzentis-auth-sdk/issues"},"dist":{"shasum":"292eb689ad8a6630203d356c2045a08654f761cf","tarball":"https://registry.npmjs.org/@atzentis/auth-locales/-/auth-locales-0.0.15.tgz","fileCount":15,"integrity":"sha512-RQ5V1K0jCBoGvsF7rq3yubtXSBp0c4h+hhmVL1jUFuNSv/7ZfkrjqVd++mvE/FjZgg4yQRu3C/gGO9i09c5AhA==","signatures":[{"sig":"MEUCIHCvwPCMYufZG1CgTypI3/LZInPz/Z+5EOO368zLpOliAiEAmWRfwClQ0larRo6l3MZnvE6svvJZ2lDBRPcQtjB8dxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402032},"main":"./dist/index.js","type":"module","_from":"file:atzentis-auth-locales-0.0.15.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./de":{"types":"./dist/de/index.d.ts","import":"./dist/de/index.js"},"./el":{"types":"./dist/el/index.d.ts","import":"./dist/el/index.js"},"./en":{"types":"./dist/en/index.d.ts","import":"./dist/en/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","type-check":"tsc --noEmit"},"_npmUser":{"name":"vassilibo","email":"vassilibo@outlook.com"},"_resolved":"/tmp/4ed70d6a83fcb152991209c02672f61a/atzentis-auth-locales-0.0.15.tgz","_integrity":"sha512-RQ5V1K0jCBoGvsF7rq3yubtXSBp0c4h+hhmVL1jUFuNSv/7ZfkrjqVd++mvE/FjZgg4yQRu3C/gGO9i09c5AhA==","repository":{"url":"git+https://github.com/atzentis/atzentis-auth-sdk.git","type":"git","directory":"packages/locales"},"_npmVersion":"10.9.4","description":"Language packs for @atzentis/auth-react and @atzentis/auth-expo","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/auth-locales_0.0.15_1772032555349_0.6231501585031303","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atzentis/auth-locales","version":"0.2.0","keywords":["atzentis","auth","locales","localization","i18n"],"author":{"url":"https://atzentis.com","name":"Atzentis","email":"dev@atzentis.com"},"license":"MIT","_id":"@atzentis/auth-locales@0.2.0","maintainers":[{"name":"vassilibo","email":"vassilibo@outlook.com"}],"homepage":"https://github.com/atzentis/atzentis-auth-sdk/tree/main/packages/locales#readme","bugs":{"url":"https://github.com/atzentis/atzentis-auth-sdk/issues"},"dist":{"shasum":"9e12243362fee060819121420e9eca764f1240d3","tarball":"https://registry.npmjs.org/@atzentis/auth-locales/-/auth-locales-0.2.0.tgz","fileCount":16,"integrity":"sha512-KqoGU+YGaW2laFCJ0O/xWDZSU3JE9LUjK0oAyD9isZ5c2hgYQDNFLCG5L+M4psaDIodPAG0ym1esE1styF8ddQ==","signatures":[{"sig":"MEYCIQCm2fY0CmGePbt8zwSMIjat5jIAE0Ev95kQq/TiewlvlAIhAIGoeSFy2VYv19QZF6hyjapE53IiBCfKHf6ADRJWNAfO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422474},"main":"./dist/index.js","type":"module","_from":"file:atzentis-auth-locales-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./de":{"types":"./dist/de/index.d.ts","import":"./dist/de/index.js"},"./el":{"types":"./dist/el/index.d.ts","import":"./dist/el/index.js"},"./en":{"types":"./dist/en/index.d.ts","import":"./dist/en/index.js"}},"scripts":{"dev":"tsup --watch","lint":"biome check src","test":"vitest run","build":"tsup","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"vassilibo","email":"vassilibo@outlook.com"},"_resolved":"/tmp/eb04657ad6148d3c164dc41b260b559d/atzentis-auth-locales-0.2.0.tgz","_integrity":"sha512-KqoGU+YGaW2laFCJ0O/xWDZSU3JE9LUjK0oAyD9isZ5c2hgYQDNFLCG5L+M4psaDIodPAG0ym1esE1styF8ddQ==","repository":{"url":"git+https://github.com/atzentis/atzentis-auth-sdk.git","type":"git","directory":"packages/locales"},"_npmVersion":"10.9.8","description":"Language packs for @atzentis/auth-react and @atzentis/auth-expo","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.9","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/auth-locales_0.2.0_1782005681397_0.17597596741429622","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@atzentis/auth-locales","version":"0.3.0","description":"Language packs for @atzentis/auth-react and @atzentis/auth-expo","keywords":["atzentis","auth","locales","localization","i18n"],"license":"MIT","author":{"name":"Atzentis","email":"dev@atzentis.com","url":"https://atzentis.com"},"homepage":"https://github.com/atzentis/atzentis-auth-sdk/tree/main/packages/locales#readme","repository":{"type":"git","url":"git+https://github.com/atzentis/atzentis-auth-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","vitest":"^2.1.9"},"scripts":{"build":"tsup","dev":"tsup --watch","type-check":"tsc --noEmit","test":"vitest run","test:watch":"vitest","lint":"biome check src"},"_id":"@atzentis/auth-locales@0.3.0","bugs":{"url":"https://github.com/atzentis/atzentis-auth-sdk/issues"},"_integrity":"sha512-0lkiGUja+kfFzLwvRVaG5IwDykuJDv2SEm2E020X6LqXaJvDdDzEwoK/MT6N4zxacr3pR7bRBCFdDIKQZ/45lA==","_resolved":"/tmp/4cdb2c56a80da1f28b9b773fc4df64f6/atzentis-auth-locales-0.3.0.tgz","_from":"file:atzentis-auth-locales-0.3.0.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-0lkiGUja+kfFzLwvRVaG5IwDykuJDv2SEm2E020X6LqXaJvDdDzEwoK/MT6N4zxacr3pR7bRBCFdDIKQZ/45lA==","shasum":"1b63b73407d7271676f43919ecec895e73158e9e","tarball":"https://registry.npmjs.org/@atzentis/auth-locales/-/auth-locales-0.3.0.tgz","fileCount":16,"unpackedSize":439243,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAhk6K9nkqmqYUd5kH9LDCU8Jl0mYvp0cjiPRVLYLHZaAiEA3p+R2r1hPnmilA63DqFBZSTKSnOS+oPHldPvwDVk4to="}]},"_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/auth-locales_0.3.0_1782073051659_0.16905668176356947"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-25T15:15:55.204Z","modified":"2026-06-21T20:17:31.951Z","0.0.15":"2026-02-25T15:15:55.543Z","0.2.0":"2026-06-21T01:34:41.572Z","0.3.0":"2026-06-21T20:17:31.811Z"},"bugs":{"url":"https://github.com/atzentis/atzentis-auth-sdk/issues"},"author":{"name":"Atzentis","email":"dev@atzentis.com","url":"https://atzentis.com"},"license":"MIT","homepage":"https://github.com/atzentis/atzentis-auth-sdk/tree/main/packages/locales#readme","keywords":["atzentis","auth","locales","localization","i18n"],"repository":{"type":"git","url":"git+https://github.com/atzentis/atzentis-auth-sdk.git","directory":"packages/locales"},"description":"Language packs for @atzentis/auth-react and @atzentis/auth-expo","maintainers":[{"name":"vassilibo","email":"vassilibo@outlook.com"}],"readme":"# @atzentis/auth-locales\n\nLanguage packs for `@atzentis/auth-react` and `@atzentis/auth-expo`.\n\nProvides type-safe localized strings for all authentication, account, organization, and security flows across three languages: English, German, and Greek.\n\n## Installation\n\n```sh\npnpm add @atzentis/auth-locales\n```\n\n## Usage\n\n### Import a locale pack\n\n```ts\nimport en from \"@atzentis/auth-locales/en\";\nimport de from \"@atzentis/auth-locales/de\";\nimport el from \"@atzentis/auth-locales/el\";\n\n// Use with AuthProvider\n<AuthProvider localization={en}>\n  {children}\n</AuthProvider>\n```\n\n### Import the aggregate type\n\n```ts\nimport type { AuthLocalization } from \"@atzentis/auth-locales\";\n\nconst myLocale: AuthLocalization = {\n  SIGN_IN: \"Sign in\",\n  // ... all required keys\n};\n```\n\n### Access locale keys\n\nAll locale objects are flat key-value maps. Keys are `UPPER_SNAKE_CASE` strings:\n\n```ts\nimport en from \"@atzentis/auth-locales/en\";\n\nconsole.log(en.SIGN_IN);         // \"Sign in\"\nconsole.log(en.INVALID_EMAIL);   // \"Invalid email address\"\nconsole.log(en.CHANGE_PASSWORD); // \"Change Password\"\n```\n\n## Supported Languages\n\n| Code | Language | Native Name |\n|------|----------|-------------|\n| `en` | English  | English     |\n| `de` | German   | Deutsch     |\n| `el` | Greek    | Ελληνικά    |\n\n## Package Structure\n\nThe locale is organized into 10 domains, all merged into a single flat object per language:\n\n| Domain        | Keys | Description                                       |\n|---------------|------|---------------------------------------------------|\n| `account`     | ~62  | Profile, email, avatar, API keys, OAuth providers |\n| `auth`        | ~54  | Sign in, sign up, magic link, OTP, OAuth          |\n| `common`      | ~19  | Buttons, labels, generic messages                 |\n| `errors`      | ~46  | Validation, auth, network, and state errors       |\n| `organization`| ~77  | Create, invite, members, roles, invitations       |\n| `passkey`     | ~15  | WebAuthn passkey registration and management      |\n| `password`    | ~33  | Change, reset, recovery flows                     |\n| `session`     | ~61  | Sessions, devices, login activity                 |\n| `twoFactor`   | ~30  | TOTP setup, backup codes, verification            |\n| `verification`| ~10  | Email and phone verification                      |\n\n## Type Safety\n\nImport `AuthLocalization` for full TypeScript autocomplete and compile-time key validation:\n\n```ts\nimport type { AuthLocalization } from \"@atzentis/auth-locales\";\n\n// TypeScript will catch missing or misspelled keys\nconst customLocale: AuthLocalization = { ... };\n```\n\nDomain-specific key types are also available:\n\n```ts\nimport type {\n  AccountKeys,\n  AuthKeys,\n  CommonKeys,\n  ErrorKeys,\n  OrganizationKeys,\n  PasskeyKeys,\n  PasswordKeys,\n  SessionKeys,\n  TwoFactorKeys,\n  VerificationKeys,\n} from \"@atzentis/auth-locales\";\n```\n\n## Features\n\n- Type-safe with full TypeScript interfaces for all 10 domains\n- Zero runtime dependencies\n- ESM-only (tree-shakeable)\n- UTF-8 with proper diacritics for all languages (ä, ö, ü, ά, ό, ώ)\n- Consistent key naming across all three language packs\n- Automated parity tests ensure structural alignment\n\n## Contributing a New Language\n\n1. Copy the `src/en/` directory structure as a template\n2. Create `src/{lang}/` with translated versions of all 10 domain files\n3. Create `src/{lang}/index.ts` that spreads all domains into a single `AuthLocalization` object\n4. Add the new locale to `src/index.ts` as a named export\n5. Update `tsup.config.ts` to include the new locale entry point\n6. Update `package.json` exports to add `\"./{lang}\"` entry\n7. Add tests verifying parity against the English reference locale\n8. All 10 domain files must be present with no missing keys\n\n## License\n\nMIT\n","readmeFilename":"README.md"}