{"_id":"@alrevele/translator","_rev":"8-56a23b2953ad24c290017557645dff23","name":"@alrevele/translator","dist-tags":{"latest":"19.2.8"},"versions":{"19.2.0":{"name":"@alrevele/translator","version":"19.2.0","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.0","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"95a4c4d869a245b9b55d4f9a041b850bb7c323bb","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.0.tgz","fileCount":11,"integrity":"sha512-1iuJ2IK0zIL5N/Sn0lx5VnDQ6TzxZKV7pzwcVFnzqMcOm+JdvOFb3CAA6QAFBdDk9BNK+9Vz/iqfwTPwaDFaTg==","signatures":[{"sig":"MEUCIBW4H+aDLVsHzjR1bwoVtXGxB0CvDSmSNFQDbPjP3Y1JAiEA01wZRzftcMlp3MehfK4cdrq9gWO5hMiqyD0EaRwRUEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5122},"main":"index.js","type":"commonjs","gitHead":"d8695420981d90d5c55438f824b71d2451414d3f","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.2.0","@angular/common":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.0_1756070113391_0.7976284694729521","host":"s3://npm-registry-packages-npm-production"}},"19.2.1":{"name":"@alrevele/translator","version":"19.2.1","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.1","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"a5d510eb0ed978ae92979191a2ea545f7fdc210a","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.1.tgz","fileCount":8,"integrity":"sha512-cCqQHXP8hBELaioKelHpzpvS+/uHomF9tm3IgKiNDPCJZNhV0BgcL1I4cZSP2e/SZzYrOWZxXmiCd5eWWHkfcg==","signatures":[{"sig":"MEUCIBEunGhKZZpIuU5YUpiLZX8lVDi05xBxMTXH4GDioapwAiEAtJHXhWO8FrFWiSG5dW6KthzTur9UNfTatO4KLK7yibg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6792},"main":"index.js","type":"commonjs","module":"fesm2022/alrevele-translator.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/alrevele-translator.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"c94ad805df088edf82f637d6815be502b6773bbc","typings":"index.d.ts","_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.0.0","@angular/common":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.1_1764767476182_0.8204996595339573","host":"s3://npm-registry-packages-npm-production"}},"19.2.2":{"name":"@alrevele/translator","version":"19.2.2","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.2","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"1c9c1113717abefb6bf238e77a6c2ffb1a383e15","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.2.tgz","fileCount":16,"integrity":"sha512-ZXEvzr1lGDdYEpxTKPtL0n15otiSCYbX2kfD8yiIsymF2nrh/Jwh+oZ5UI1U+CDQwdb+v/pnoboJGyTyF2hF1g==","signatures":[{"sig":"MEQCIG9be7HTWEd0cYCd0n5ewqrKIcDdW5EPMTLg2pqNSk9SAiBZTobso2qJ4zKiTLKXgy/dgs3yo3xU5o+Ky5wk2Cctcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9096},"main":"index.js","type":"commonjs","gitHead":"c94ad805df088edf82f637d6815be502b6773bbc","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.0.0","@angular/common":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.2_1764774826148_0.9488005488638755","host":"s3://npm-registry-packages-npm-production"}},"19.2.3":{"name":"@alrevele/translator","version":"19.2.3","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.3","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"001a69e2912be90b070a90bd8fb6bd81441e1a0c","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.3.tgz","fileCount":11,"integrity":"sha512-2+jXPbH7WJ+LlavoNrQkNzhrd42cPx/o+nIN8Os8g0AsPCqP/VYxRoLevNPnWvNynVLic2TtD0q6/lZspI+VyA==","signatures":[{"sig":"MEYCIQDAkkr3cbkivr5P0otWNC9x4+i4Op18BXouwEQbs+3zTgIhAOkv+xtS2auHlMTWxBwiwWF63yhx/RpeS8SlF6pnpzCu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22043},"main":"index.js","type":"commonjs","module":"fesm2022/alrevele-translator.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/alrevele-translator.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"c94ad805df088edf82f637d6815be502b6773bbc","typings":"index.d.ts","_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.0.0","@angular/common":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.3_1764778182927_0.2484895501717308","host":"s3://npm-registry-packages-npm-production"}},"19.2.4":{"name":"@alrevele/translator","version":"19.2.4","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.4","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"ffefdadae146c6a6219afde776fb9549a1a17597","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.4.tgz","fileCount":11,"integrity":"sha512-JORxsXPYzbiZL7Nsq34/ipRHqaU5meTx5/UiD/U7w+wHZZOJamRLlZ7LdCSpU3F0lSMWomfbYIdr+m5fj2K+gw==","signatures":[{"sig":"MEYCIQDkiy1IWfngyu+7POxrzr5e43P+2Z3taVh8V6of9FbcEAIhAJ9IIh6WyYuc/5O+u78jmGwBotNskNprGIrJ7Dhgl4w8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22043},"main":"index.js","type":"commonjs","module":"fesm2022/alrevele-translator.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/alrevele-translator.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"c94ad805df088edf82f637d6815be502b6773bbc","typings":"index.d.ts","_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.0.0","@angular/common":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.4_1764778439473_0.9319090623949806","host":"s3://npm-registry-packages-npm-production"}},"19.2.5":{"name":"@alrevele/translator","version":"19.2.5","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.5","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"5ca6cd0096ce5364871439a00f274eedfe86a811","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.5.tgz","fileCount":11,"integrity":"sha512-+6tJodgd8cjFH4q+T5wojzMHR0/GWqdu6SYbsWaXvQyRWCZMmUWdSVKIflNBacqzYVuNyVAlRz9ht5plv3UH0A==","signatures":[{"sig":"MEUCIGu/HboAJj/cREVQC35KOyACrg3m6ZPP309C1Z8nRP6rAiEA5uxV0wad+LFlCdcwC9KO2lheX7zyn/JuTb6MaZ5gAMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22022},"main":"index.js","type":"commonjs","module":"fesm2022/alrevele-translator.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/alrevele-translator.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"c94ad805df088edf82f637d6815be502b6773bbc","typings":"index.d.ts","_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.0.0","@angular/common":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.5_1764785613762_0.6158390968797982","host":"s3://npm-registry-packages-npm-production"}},"19.2.6":{"name":"@alrevele/translator","version":"19.2.6","keywords":[],"author":"","license":"ISC","_id":"@alrevele/translator@19.2.6","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"dist":{"shasum":"4a28f521fbd43d82e1858b9be86aeafc1350f16b","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.6.tgz","fileCount":12,"integrity":"sha512-AdUAl19t2oGEqjtAQUAvakpoAYZmELGhziYGWF5eMSN0lkNcm+LKMmGm+CeMG3pzu5TgKzIOXmnSsyRhRaIgRQ==","signatures":[{"sig":"MEQCIC8twhDYOiic25FkkR+Gcyaj6A/alcw3XE4agfz+lMyoAiBL2kmtEig6IBYhZAu14IN+4l6zgFd8ueRVX/s4MDcUUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38267},"main":"index.js","type":"commonjs","module":"fesm2022/alrevele-translator.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/alrevele-translator.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"80facaf70d2050ad96375538f9dfd3b4e11ff1a7","typings":"index.d.ts","_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"_npmVersion":"11.5.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"^19.0.0","@angular/common":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/translator_19.2.6_1765022782109_0.3073399576872424","host":"s3://npm-registry-packages-npm-production"}},"19.2.8":{"name":"@alrevele/translator","version":"19.2.8","peerDependencies":{"@angular/common":"^19.0.0","@angular/core":"^19.0.0"},"dependencies":{"tslib":"^2.3.0"},"sideEffects":false,"description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","main":"index.js","keywords":[],"author":"","license":"ISC","type":"commonjs","module":"fesm2022/alrevele-translator.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","default":"./fesm2022/alrevele-translator.mjs"}},"_id":"@alrevele/translator@19.2.8","gitHead":"1a4ffce4d0f8d87059f1341911a31211108600df","_nodeVersion":"22.13.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-WKYX6/ttk20uJ5zmC0Syt/z9oX9ZUf4v7Gv00zCByL56wWZzVmAsN8aGr9o+gQaWI89iqRjRZzPY98GEsIif4A==","shasum":"21f6a9ff93be5daa24415ef01ad642d559d12b3c","tarball":"https://registry.npmjs.org/@alrevele/translator/-/translator-19.2.8.tgz","fileCount":12,"unpackedSize":38174,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCyexkoml8A+jlO6Q7lFte2LV26Dy1mN9MO3xn0b0qYPwIhAP5xG9SCHcfSMzOmojSbN16vGOQNaNEiIQj1EKah5cTY"}]},"_npmUser":{"name":"alrevele","email":"alrevele@gmail.com"},"directories":{},"maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/translator_19.2.8_1773338278355_0.5349111390657133"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-24T21:15:13.329Z","modified":"2026-03-12T17:57:58.652Z","19.2.0":"2025-08-24T21:15:13.584Z","19.2.1":"2025-12-03T13:11:16.423Z","19.2.2":"2025-12-03T15:13:46.329Z","19.2.3":"2025-12-03T16:09:43.165Z","19.2.4":"2025-12-03T16:13:59.658Z","19.2.5":"2025-12-03T18:13:33.930Z","19.2.6":"2025-12-06T12:06:22.270Z","19.2.8":"2026-03-12T17:57:58.512Z"},"license":"ISC","keywords":[],"description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.","maintainers":[{"name":"alrevele","email":"alrevele@gmail.com"}],"readme":"# @alrevele/translator\n\nUne librairie Angular pour gérer les traductions dynamiques de votre application avec support multi-langues.\n\n## Installation\n\n```bash\nnpm install @alrevele/translator\n```\n\n## Configuration Rapide\n\n### 1. Importer le Module\n\nDans votre `app.module.ts` ou composant standalone :\n\n```typescript\nimport { AlreveleTranslatorModule } from '@alrevele/translator';\n\n@NgModule({\n  imports: [\n    AlreveleTranslatorModule\n  ]\n})\nexport class AppModule { }\n```\n\n### 2. Initialiser les Traductions\n\nDans votre template principal (ex: `app.component.html`) :\n\n```html\n<lib-alreveleTranslator \n  [language]=\"'fr'\" \n  [software_key]=\"'votre-cle-logiciel'\"\n  [env]=\"'production'\">\n</lib-alreveleTranslator>\n```\n\n## Utilisation\n\n### Méthode 1 : Avec le Composant\n\n```html\n<lib-trl [key]=\"'HOME'\"></lib-trl>\n<lib-trl [key]=\"'WELCOME_MESSAGE'\"></lib-trl>\n```\n\n### Méthode 2 : Avec le Pipe (Recommandé)\n\n```html\n<h1>{{ 'HOME' | trl }}</h1>\n<p>{{ 'WELCOME_MESSAGE' | trl }}</p>\n<button [title]=\"'TOOLTIP_TEXT' | trl\">\n  {{ 'BUTTON_LABEL' | trl }}\n</button>\n```\n\n## Paramètres\n\n### `lib-alreveleTranslator`\n\n| Paramètre | Type | Requis | Défaut | Description |\n|-----------|------|--------|--------|-------------|\n| `language` | `string` | ✅ | - | Code de la langue (ex: 'fr', 'en') |\n| `software_key` | `string` | ✅ | - | Clé unique de votre logiciel |\n| `env` | `'local' \\| 'production'` | ❌ | `'production'` | Environnement d'exécution |\n\n### Paramètre `env`\n\nLe paramètre `env` contrôle le comportement d'affichage des traductions manquantes :\n\n- **`'local'`** : Affiche le nom de la clé si la traduction n'existe pas (utile en développement)\n- **`'production'`** : Affiche une chaîne vide si la traduction n'existe pas\n\n#### Exemple en Développement\n\n```html\n<lib-alreveleTranslator \n  [language]=\"'fr'\" \n  [software_key]=\"'xxx'\"\n  [env]=\"'local'\">\n</lib-alreveleTranslator>\n\n{{ 'CLE_INEXISTANTE' | trl }}\n<!-- Affiche: CLE_INEXISTANTE -->\n```\n\n#### Exemple en Production\n\n```html\n<lib-alreveleTranslator \n  [language]=\"'fr'\" \n  [software_key]=\"'xxx'\"\n  [env]=\"'production'\">\n</lib-alreveleTranslator>\n\n{{ 'CLE_INEXISTANTE' | trl }}\n<!-- Affiche: (vide) -->\n```\n\n## Changement de Langue Dynamique\n\n```typescript\nimport { Component } from '@angular/core';\n\n@Component({\n  selector: 'app-root',\n  template: `\n    <lib-alreveleTranslator \n      [language]=\"currentLanguage\" \n      [software_key]=\"softwareKey\"\n      [env]=\"'local'\">\n    </lib-alreveleTranslator>\n    \n    <select [(ngModel)]=\"currentLanguage\">\n      <option value=\"fr\">Français</option>\n      <option value=\"en\">English</option>\n      <option value=\"es\">Español</option>\n    </select>\n    \n    <h1>{{ 'WELCOME' | trl }}</h1>\n  `\n})\nexport class AppComponent {\n  currentLanguage = 'fr';\n  softwareKey = 'votre-cle-logiciel';\n}\n```\n\nLes traductions se mettent à jour automatiquement lors du changement de langue.\n\n## Utilisation avec les Environnements Angular\n\n```typescript\n// environment.ts (développement)\nexport const environment = {\n  production: false,\n  translationEnv: 'local' as const,\n  softwareKey: 'dev-key'\n};\n\n// environment.prod.ts (production)\nexport const environment = {\n  production: true,\n  translationEnv: 'production' as const,\n  softwareKey: 'prod-key'\n};\n```\n\n```html\n<lib-alreveleTranslator \n  [language]=\"language\" \n  [software_key]=\"environment.softwareKey\"\n  [env]=\"environment.translationEnv\">\n</lib-alreveleTranslator>\n```\n\n## Import Standalone\n\nPour les composants standalone, vous pouvez importer directement le pipe :\n\n```typescript\nimport { TrlPipe } from '@alrevele/translator';\n\n@Component({\n  selector: 'app-example',\n  standalone: true,\n  imports: [TrlPipe],\n  template: `\n    <h1>{{ 'TITLE' | trl }}</h1>\n    <p>{{ 'DESCRIPTION' | trl }}</p>\n  `\n})\nexport class ExampleComponent { }\n```\n\n## Avantages du Pipe\n\n✅ **Syntaxe concise** : `{{ 'KEY' | trl }}` au lieu de `<lib-trl [key]=\"'KEY'\"></lib-trl>`\n\n✅ **Utilisable dans les attributs** : `[title]=\"'TOOLTIP' | trl\"`\n\n✅ **Combinable avec d'autres pipes** : `{{ 'TEXT' | trl | uppercase }}`\n\n✅ **Réactif** : Mise à jour automatique lors du changement de langue\n\n## API\n\n### AlreveleTranslatorService\n\nService injectable pour gérer les traductions :\n\n```typescript\nimport { AlreveleTranslatorService } from '@alrevele/translator';\n\nconstructor(private translatorService: AlreveleTranslatorService) {\n  // Changer la langue\n  this.translatorService.changeLanguage('en');\n  \n  // Changer l'environnement\n  this.translatorService.setEnvironment('local');\n  \n  // S'abonner aux changements de langue\n  this.translatorService.currentLanguage.subscribe(lang => {\n    console.log('Langue actuelle:', lang);\n  });\n}\n```\n\n## Build\n\n```bash\nng build alrevele-translator\n```\n\n## Publication\n\n```bash\ncd dist/alrevele-translator\nnpm publish\n```\n\n## Support\n\nPour toute question ou problème, veuillez créer une issue sur le dépôt GitHub.\n\n## Licence\n\nMIT\n\n---\n\n**Version** : 19.2.6  \n**Angular** : ^18.0.0\n","readmeFilename":"README.md"}