{"_id":"simply-translate-angular","_rev":"103-786033b2b0c940d3e579448c89396709","name":"simply-translate-angular","dist-tags":{"latest":"0.21.20"},"versions":{"0.0.2":{"name":"simply-translate-angular","version":"0.0.2","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.0.2","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"0be75d5690bf0f0f835dbd19d4fcd052fb078ae1","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.0.2.tgz","fileCount":19,"integrity":"sha512-DkpblIGqADsd7CAa69851Y2H2fOjLwVJOfdBv9GKeIYpiRKkEZou2aC0rVOH64uEI00lDEa/X5PzoISjOwmR7Q==","signatures":[{"sig":"MEQCIH9p6VK4illLlimiXOx0lvG836XzaP8HRlYHcoj68bUoAiABeOlaFkV699U7Evnb9SnWolnRoDmdbKt7arTAlRjC3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgka/DCRA9TVsSAnZWagAAFeMP/3Yppr3uVCgT9TLJ/pk5\nbwB5B9PDJQnD/Az9kA1QedsmuKlgybIBlol1HWj4izveu27IDZ86NknsY2PL\nglWxrkOcMwYBHfJDveKMZ8EaqCZtK1LK9ot8/PrMpyttTSWoHYJLehqlNOjA\nR/HIDYLm8H1J4VcAZmupsNiqSuvcIaeO2CaeSFn2W/JYbmEuColJkWsgqNIC\nUAhMARrbjUOd/gdSs0OMuUf7gFZK1pGtvyxgbepifR2dNXAZQq7BvYFWv8UF\nDoU1ad1Cs1u/hf7FeaBUwC/3KvCsunnqd0/BkUu7yx+mGY12nUpuHSeSAbYk\n8W6tRk3n9ZqFhTRhCBhwUffSf5wmnbvW90UrwttnZPi0qlgareQpcPj9HrTe\nhNuYZspAgSQvjdCnA/MjVeIj04FSCCS2hRaIfpiDlrvgxLjglwI0jjlxVgDj\nmwTmgKVMFpSqxtUEwiHLzd7Z3+1IQoGV2fX2c2sXQNRAOAQUXkK5r6l80AfU\nq1kme7Xk87Boa+FZ6EJ6zSS3qhfVzeo6qEJ0Ux0aYHQQlGs2MlrOubnWWdck\nRm2j27m41fh7VMwkJiPv/Rvoiuu6fjTOK7Uh6eBveBarZp1o8wCPibpbzhh3\naHLcMiuHK9uFITSmZC4M9vn+ulhw39p8LYmdsv5Uk6aJaDZPQS6xavPZcMGl\nIgNd\r\n=dDhK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"bundles/simply-translate-angular.umd.js","es2015":"fesm2015/simply-translate-angular.js","module":"fesm2015/simply-translate-angular.js","esm2015":"esm2015/simply-translate-angular.js","typings":"simply-translate-angular.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.js","metadata":"simply-translate-angular.metadata.json","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"7.11.1","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"14.15.0","dependencies":{"tslib":"^2.0.0","simply-translate":"0.0.10"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"~10.2.4","@angular/common":"~10.2.4","@angular/compiler":"~10.2.4"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.0.2_1620160450918_0.6113167225747971","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"simply-translate-angular","version":"0.11.0","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.11.0","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"d7b9f119f4599f218b62384a3ec2c00ada9f4e93","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.11.0.tgz","fileCount":21,"integrity":"sha512-I6gR8kwZnoJwHRguW87/7ljAecx42V+jupRfJFw7Rxi/Iv/adJJMtEHCJESoFXF1w7BWJgmtF/+KSqrsrXB7ug==","signatures":[{"sig":"MEUCIB7iX8VNx1jSLODIEh8svbXl65oBZQGdVABcSeN9vCJbAiEAjd5LaEcb1590lmyL6R7sJPHzFYtotc67CNgmrCUiNGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx867CRA9TVsSAnZWagAAsRIP/Rpdur7k4+k+wvgQcDuP\n7Dw8QQikXxkpDTNoOc+sgGKB0odeX4+Lp9R51dPTvXf/bCH8zW9oa+f8kHL0\nP0eB+ubE0+zZE3CewdQW6mJCjuZujGYZcB03RDtqtwrjuUQYUIxGRCtWedpH\npwZVsonsBquX8jA+xCHGS9s3s1swkARhV964nDxDJAfThOVZJiVDeduTQG1u\nMPmb0hXseYki9kQTmzXqmWFQv7LDWN8AEsUb62FmNXvVSfDxNAMrRZtkDDNv\ntuyTbScv8UUl5PkfTDOoY1Ta0kB7p8rkQC90eOpKExNjYf5HKnhYsgnEdaB0\nFNu/gYWlswH2W5+GN2laSl8WMwNscb0Hq1QnLdR5k6bBUHqjE/Tj1FFRNkds\nyIcEkDToINrwPWZqe+q5mExyzpqzEd7Qg4kZ9lhN8lvTjqnRNxfEhB1rGLCZ\nG23eNf/bUIknV8tV9XZdh13RSBbaks366wkwwQ6CjLQ4iQDwP9kNQyDQl8qM\nXXjimrOHnjxYrNJPNdpEyyqIWTiNWd/s+XTRxdUKXvLpkKtPs7ZYNh9Sksu0\nZNVDc4k1z4tWmTMOC9Agm1zEaBq0yJN+Sxb9gSYox/ERzX8nIDLeOINT3JZf\nJCs2wCRLG9GPoatzWOMbFNMXNwwPMwNmV+TeTSBHVZToTrbpntaNY4P5SrEc\nd64l\r\n=26To\r\n-----END PGP SIGNATURE-----\r\n"},"main":"bundles/simply-translate-angular.umd.js","es2015":"fesm2015/simply-translate-angular.js","module":"fesm2015/simply-translate-angular.js","esm2015":"esm2015/simply-translate-angular.js","typings":"simply-translate-angular.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.js","metadata":"simply-translate-angular.metadata.json","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"7.11.1","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"14.15.0","dependencies":{"tslib":"^2.0.0","simply-translate":"0.11.x"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"~10.2.4","@angular/common":"~10.2.4","@angular/compiler":"~10.2.4"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.11.0_1623707323019_0.3546562306523524","host":"s3://npm-registry-packages"}},"0.11.1":{"name":"simply-translate-angular","version":"0.11.1","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.11.1","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"2dfbb3698785ea2557f1ea67714af68a404f22f0","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.11.1.tgz","fileCount":21,"integrity":"sha512-SPMUeLJlKUDOBgCa0hytdZb11YGwF4mUASS+0Dgbqe5rAHEl/vwqzHIoxMPayX+RmxURYMgPxIS8kj4vY0dl9g==","signatures":[{"sig":"MEUCIClGBsokqE9m0eFP1sUWA5ejBJoEdbXFWQcaFaMlf1TRAiEAjAspR8u4yotdE5ti8vkK/Dtdij3MbsgfKsde3YN8ku8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx8+aCRA9TVsSAnZWagAAbpQP/jp7DSzKplEl1PnbWxzQ\nGhkpTqKLwLRuPRptt6rvgzrpVdPT/G50293NRhJ6xYNz/ab8WVQ2Knpeb+nW\nbdHyO5bkP3VA4tWUKw3xFbgwvuUAd1OfY6tGiDnz8PvJCz/EVDnphojkDEmu\nVxSS8aCyqXhqIfDo5e8Htj2ZHhEe1ZNMIL/0qX2TvGCoFYKjPmG6AK6YCFNX\nOIiq/dR5d3QNtB6+BeGf9R5a0MGpaaWLOw4itMIGIokFPadZvTb4rQZB2jwo\nHLc6mOyaBLoQLCaFn+LXGJW+Q6Lp+uoKiEDq77KWLU6RFawvQPVpyRhYgI0B\nqhowHWkYxAFRpudEJSQ4xrhkxO4fXtdkRjFxSXZa7+lFUcUNaEr/W0F+9/FA\nIM+RKlUGntg7T/yrBmZovFBFRnMi5b9QxzXocUFjUxhg0z8WpZuGErymCohi\nqei2WrN6isG2/o9peqHzzVy1/1ibVJpN9S+wc/sHbSqkZJFdKHpCdJGimOK2\nm8hWUlDWHGywV7N++CzzNvFLKnQdkY8IMFs89n4ISZ4exZbqBfylJPi7UUl6\n9Nix38vDjoAFBb1P6KjMwSArHUrOREx14fiJBtSxcB0kDHHyqO4WuSxLeswu\nbRfFYXZ4mIlVxk9goRqq5yWmIq39o8rVqE6RFAj8SyGlIdoMug2xIexGbmK6\n5Iyy\r\n=fhfC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"bundles/simply-translate-angular.umd.js","es2015":"fesm2015/simply-translate-angular.js","module":"fesm2015/simply-translate-angular.js","esm2015":"esm2015/simply-translate-angular.js","typings":"simply-translate-angular.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.js","metadata":"simply-translate-angular.metadata.json","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"7.11.1","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"14.15.0","dependencies":{"tslib":"^2.0.0","simply-translate":"0.11.x"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"*","@angular/common":"*","@angular/compiler":"*"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.11.1_1623707546169_0.8773908847055039","host":"s3://npm-registry-packages"}},"0.12.8":{"name":"simply-translate-angular","version":"0.12.8","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.12.8","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"477d6f261570b63f89d25f25c55cebf8d3569d5e","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.12.8.tgz","fileCount":22,"integrity":"sha512-SZw3V3typYQUER/WJlJ1bDOIp2MxJffKZ90JCJhTJ2vlP4coeWV7jtnqAnyzdSMLBmpufqB8ch0MmGyvG8DjoQ==","signatures":[{"sig":"MEQCIE91DR7a/fpiY+XnzIL3DyyKOAd+pAkyZWo2pYTeH8gcAiAt26z+e/SCPG24RlgkJmzbQd93dVX95NEwfIYlSKepzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh87L+CRA9TVsSAnZWagAAEG8P/1z/NFFHtjL/ymaV6qVi\nRx4YiwNdoDnNwd6/nae+mFfBJ0Bgzn77WSWltQW6OYEDxzUrKQQGq66TAcxE\nQtIv3fSh7Hz0E739jB6Dj7O9O8fhgWQyMPtQtKejHxsFk6N77t/0FPXVeZe0\nTRw62DUWAbOYd6KKReSRzBW2bjg4W5FY9qXt83nKSCkFx6i0Invh0DiKqgQA\nWfQICFZWyGj7p5/9fuHHNypwwuAPmLLHpWVMiVbI0CVbhuO/xTEZmmFtIsp6\nzEd4ELwIMdTR0BDsvl2NYVf2OpSzrSFhwTl3LLwltc7RCXxlyRkh/RIYFOJS\nH5AefrkBajrpk2UktT5EYYdCXcXynx91QAaIFFmWs8x+i262YwRQ20b00jnP\nIJm3nqy5rqKrg/jjO1WjCq8vvBtsV9TOwpq2q1TxQi0ckHFlply+wJF5wKCx\nL9vaZJNJpDRMjh4MhdvVtsn8xQ3qeG3yFHx8hiC5xOFRnRqdUd6Jx3WLXi1j\n9JFVLqyIdvG4XCkOBTWNWE6LLshIgl3QTh/VwXrP0As1FlbgzBdJcXmfexLc\nbumX1hHjhGCKkorTZnU7Rwt7n9Iz2r9/H7O+m2MLekJYs5piWoQNyhu7x0eb\ni2hj6nWaZ3VARyKFnRNslBaod5Rnz/3R94BXXMaGvdN7l+cJfBb6Y5AFkNow\nmNYv\r\n=xTqU\r\n-----END PGP SIGNATURE-----\r\n"},"es2020":"fesm2020/simply-translate-angular.mjs","module":"fesm2015/simply-translate-angular.mjs","esm2020":"esm2020/simply-translate-angular.mjs","exports":{".":{"node":"./fesm2015/simply-translate-angular.mjs","types":"./simply-translate-angular.d.ts","es2015":"./fesm2015/simply-translate-angular.mjs","es2020":"./fesm2020/simply-translate-angular.mjs","default":"./fesm2020/simply-translate-angular.mjs","esm2020":"./esm2020/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"a191ef8d3034a915a0679ff05a422ae50b11940d","typings":"simply-translate-angular.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.mjs","fesm2020":"fesm2020/simply-translate-angular.mjs","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"8.3.2","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"16.11.0","dependencies":{"rxjs":"^7.3.0","tslib":"^2.0.0","simply-translate":"0.11.x"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"*","@angular/common":"*","@angular/compiler":"*"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.12.8_1643361021874_0.6891956850394458","host":"s3://npm-registry-packages"}},"0.20.0-beta.9":{"name":"simply-translate-angular","version":"0.20.0-beta.9","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.20.0-beta.9","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"032ed17913dae3e8ba5c2632e6903e7c1d554b07","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.20.0-beta.9.tgz","fileCount":22,"integrity":"sha512-SVbTsAfp7kb01EpvR1HbuF1Zl5PzA7RNNKUuLc1vlV0iX8EP4Lu332EnucfE2jcniNHYaV3ek0nhElcUWA/D3Q==","signatures":[{"sig":"MEUCIFmdC3dq+VM1VNBiq4WWd5ysHjB2jtKDNS4gKv+6EqRjAiEAi1y0ia1uYUcfx7KRguvS+shOkMi4Ej4X2iZ8CDgOdY8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":175434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivGL8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZ8w//a8JPV6I4EQeOnxXARlgdbrAm+GV2XhjuPtiT4Ctevxs+aszQ\r\nvLOofWrq1qdoXEp2A4vS1Tmqzr7anuV3+55OFpnnZjqfRYIP3RvqZPKC/jx+\r\nMZQnKiU1auw7gAcEWywB0VflJDBSwwKtSHY5CmnPjAxTthhRL9q0dTtS6C8P\r\nrHN2wpLIRVQ9aflxBUDmdt9UkCLCHv+x2yvFpKMW0mEFvnXHGVRfYpRoS6Bg\r\n2ANKwsAQzttisZOE3Wi4rlyvva68typ+gKyAlF/+Hb7HNvrlZ369UQDcqWq8\r\nmOiGYIpjBcyM6c8bJ2JYDRgNirvnNndVIAZM7AJN1e0H1nsZiacWuMFydwKx\r\nZqcV0ZvVoSVhUqtn2+bINf/F4thBK6B1g6dJxPhd7elDKt2N81ECf1T0XAEU\r\nBW5NYuVO9DPlQdHmIk6z7xEFJt94e1wqUx4AWP2qcWuEABZzo2h+/EfGbaNW\r\nm42sw4RhptImfVDF3gNYnIhZvr4QDOUByyVTSi6bnoBKNbZxas+P3gJEzGzV\r\nmGChBiDzgtvMEEPjyh0jOi0vXHkNOLxTLsT1Usy9l61+UA/uBYGuR3VzDaif\r\nu+rrBV/Zm35RWzF2Z7szc69TKr4LdHnFegPoCBMC3LXA7WRWOLefNKnos3TR\r\nNrY8Q3b5Dv94p7GS+C8r1T87O41b8UQMR+E=\r\n=Q22R\r\n-----END PGP SIGNATURE-----\r\n"},"es2020":"fesm2020/simply-translate-angular.mjs","module":"fesm2015/simply-translate-angular.mjs","esm2020":"esm2020/simply-translate-angular.mjs","exports":{".":{"node":"./fesm2015/simply-translate-angular.mjs","types":"./index.d.ts","es2015":"./fesm2015/simply-translate-angular.mjs","es2020":"./fesm2020/simply-translate-angular.mjs","default":"./fesm2020/simply-translate-angular.mjs","esm2020":"./esm2020/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"5593bbc5af3de33dacbc6631fc19444f7fb29fce","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.mjs","fesm2020":"fesm2020/simply-translate-angular.mjs","deprecated":"new beta released","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"8.11.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"rxjs":"^7.3.0","tslib":"^2.0.0","simply-translate":"0.20.0-beta.5"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"*","@angular/common":"*","@angular/compiler":"*"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.20.0-beta.9_1656513275876_0.33801699151542386","host":"s3://npm-registry-packages"}},"0.20.0-beta.16":{"name":"simply-translate-angular","version":"0.20.0-beta.16","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.20.0-beta.16","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"6fd32f1a4cb4923d4736d41133c58631aac7e523","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.20.0-beta.16.tgz","fileCount":22,"integrity":"sha512-xmpt8aFL01BNCxyoHaYrKrNV7WGaXQIx0qctmtsM5EMrIBg98y6q4IhwtJm9S8JHda4hT7qF2W0CcLEmDYlmuQ==","signatures":[{"sig":"MEUCIC9gjYDMU8sfHj+pSRnTVLkJy5wpgiU6nDF+NH381mq4AiEA6LU3eegs6sNgYSZguTTMiGI3O0VxXN01vlWRBTDP+HE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":216647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwwABACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpM/Q//WFaS209O3NIicZFwirnRHO8yyopLhXRlLYRTKhhVMdy0P6y3\r\nZhf9MBGfDeZ3t+KnsHgvYPhqASgMt8xmvxCbDqMkGsQQlMjpNQ3iZxwp22g4\r\nZ1y/GaPP5CdvaySYt/xP+MOq0nghYpEomCUD53xDMyB7gN8k82AS+rGRDFV+\r\n8md3jGISTg73mY+a83z3KicqZQXeb4gfwxuQHNSXOy6QOYnIb6uIfBx1gqLK\r\n0xAq7btNaQoMj8jO8WxFJcLvsseaQBJoNGoNTTDTop+1tmEGmMEeq1GWsT39\r\nUn7joiIfMPbdUQA6RqLj98Rtmz4QUjOKvER+WflsRr5KYhluGTr5IcGhDtuS\r\nqRQwz+YnNGlAcUiiC86vLrhxkIr1C5j0x6cKrlANqrsaA9tsmyaLG6iV/Ukh\r\ne+dRUrXZWtdGeBA+yXX09Q6uUOoFD+mhHJvSIoz7uTIBliPH5ap15hDhF4zo\r\nDFWI4pK51Rcf3ykZqogiRhP+ctCH4I6hQ/STs9nPMjG5qfDqsfkHd2+xRJ8p\r\n40Swe1PlKPLB5oNLj/JTd92U2Houu6UTIZCRGas726YEgJ4gxrDYGZdJtAWS\r\nuCAMvt+DJqTfm2zDkQYNCr62eF5dvUj8N4/8KI+fritkkdtEP0QT18cEnhe5\r\ndf1tdtrU5LOpmkwSGrDYvJXx9Gvenfovai8=\r\n=vWBP\r\n-----END PGP SIGNATURE-----\r\n"},"es2020":"fesm2020/simply-translate-angular.mjs","module":"fesm2015/simply-translate-angular.mjs","esm2020":"esm2020/simply-translate-angular.mjs","exports":{".":{"node":"./fesm2015/simply-translate-angular.mjs","types":"./index.d.ts","es2015":"./fesm2015/simply-translate-angular.mjs","es2020":"./fesm2020/simply-translate-angular.mjs","default":"./fesm2020/simply-translate-angular.mjs","esm2020":"./esm2020/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"451f4317fcb5c8f20110e087903a5a1b6a092240","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.mjs","fesm2020":"fesm2020/simply-translate-angular.mjs","deprecated":"new beta released","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"8.11.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"rxjs":"^7.3.0","tslib":"^2.0.0","simply-translate":"0.20.0-beta.13"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"*","@angular/common":"*","@angular/compiler":"*"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.20.0-beta.16_1656946688831_0.7808040331211632","host":"s3://npm-registry-packages"}},"0.20.0-beta.18":{"name":"simply-translate-angular","version":"0.20.0-beta.18","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg A.V."},"license":"ISC","_id":"simply-translate-angular@0.20.0-beta.18","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"48e4b10db0bb9dc8de6a80f5bfb70233e960c9de","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.20.0-beta.18.tgz","fileCount":22,"integrity":"sha512-1n+MzO6l71dzFVrP/4RZ65heXo1Cl7BUm0vQHCTbrrm+Ryspk4RBwsCr8iIMfO0MbLJpxbZ5OUqmj+oXYrpDDA==","signatures":[{"sig":"MEUCICWsxkS42NmJ5Gmw0yA+F5e/AlV8pD//2oWBqFbLp1haAiEAgvrS/nSostIwJchTeoiFw/skuX3hIi8b3eHVbHH75qM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":217734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixgPTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqiiw//VBT1yX+RXJm0K/4dyE4t2UPsqXoBZTHguxegWt2AYfeoEeb1\r\nyuMRsH+OGaZljRxW1ysAJ/mSB29k6XHQNnPS4hAMdyzGIgmquttTDFQ62AfR\r\npNsMoBtZxr7pvMb5TrHHseuWI8QxO7MtnZOOEKpvU+7Nzjd6AavZP5FyGewW\r\n0oby+SPC8VsiGbtW4nzPW1zSB0/Ytmia1Zda1nr9KeF44hIxPSu7gQqMMoR4\r\nWkjs+yl5e8LWSJ/IVyUzMd76l2BkM8A/nhFCmmR7ZEt/TsvQRMzfyONOClrM\r\nJ5eMZiSf+5JbpLqToq7MXDKlNZDXAzBvYZbYAOTqLkF2Q1/MpPvToVjx1qYu\r\n8S9R5EcXa1lHy99O0VuGNFLSs76Dmn8+yT9VRJmSjDXcfIiAqsLy6nm+Ffvz\r\nYi4WA7W2pbZRf2wv8gJ4bgexySfvOsH9ewIhCgzIwEUAsQeR05H5YUBC7PN4\r\nkvVObeaY8TvaalZ+SkYbU/0/utFfzJwWbnGw/RMTCxFjqbpeXnlI4CK+twtO\r\n2igeAXRuyeWHPIXeVt1ci+WbXrTraa/Q+IMzXdTse6Do/qtsyMRYOIn7p4Hu\r\ndYw3y0gSpD2B1NXzxFJCBj/CSktyEYNxXFnbRefkBgeUWpVLDGAG9tQ0G+r0\r\niVv/Qh/lf51IOXvmsQrceaA6kgor8fH1LyM=\r\n=RjPj\r\n-----END PGP SIGNATURE-----\r\n"},"es2020":"fesm2020/simply-translate-angular.mjs","module":"fesm2015/simply-translate-angular.mjs","esm2020":"esm2020/simply-translate-angular.mjs","exports":{".":{"node":"./fesm2015/simply-translate-angular.mjs","types":"./index.d.ts","es2015":"./fesm2015/simply-translate-angular.mjs","es2020":"./fesm2020/simply-translate-angular.mjs","default":"./fesm2020/simply-translate-angular.mjs","esm2020":"./esm2020/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"451f4317fcb5c8f20110e087903a5a1b6a092240","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.mjs","fesm2020":"fesm2020/simply-translate-angular.mjs","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"8.11.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"rxjs":"^7.3.0","tslib":"^2.0.0","simply-translate":"0.20.0-beta.18"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"*","@angular/common":"*","@angular/compiler":"*"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.20.0-beta.18_1657144275538_0.44492173590168194","host":"s3://npm-registry-packages"}},"0.20.1":{"name":"simply-translate-angular","version":"0.20.1","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.20.1","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"a528f7945c1b74bcfd4a934f35b9b554bd62794b","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.20.1.tgz","fileCount":21,"integrity":"sha512-X35UfpHvTwPSSlTIgz/d28ehvpthp5GqRxS0K1EJPtZ3+aY6fW43WktfK5oN7E/c8oVL+ZSZejP6EBZt5WxMig==","signatures":[{"sig":"MEYCIQCIWYbbHCK8UwK72miyGeXibUiIt0q/OzSSTXixxUtEFgIhAO3USb+6pZpxOhVqB+fgEe+eLonnBEzJkKmSY6h3L9wA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":218248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX956ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmovOxAAnGxOtnpeRSKh7Q8y29rIKt05kwe/57KyS2N6D8uuFIepFjMv\r\nbQbXO0My8mBx+E9HtzdvSUaVopT72i06edqRBU2DbLAMKqIv55EYF4bb44iv\r\nlc05tjxZuIQCVNElhwgTtnex20D4KQeMd09JwSySgjVfGkQmx/MQmMe9dpoy\r\nLCNGTdji44lQlxNSDYbXV9JHbrnlD+I4HBPc4TfG9shzx/iEOX7Xs12Eo6AC\r\ndgNkZhs8vZM7Qod80iw4QROIwvSm1qTNPanbiVtNfHGE3nB7yud7Z4tnMuSW\r\nNk9b3hWEOC6YGEGT8wPGDTy7QZ9kzhfA+g4bNdtqXvAORgrmLjzs7zJkzhuz\r\nV0bS3nxQotrbxYbAx4Sj++wp1UJMq1iECzJUjNkPYHU/fK9epYCBbiW9ij/I\r\nEf6D0PHDazGB0FflJKa/yTfHwPJPjnU82MPmsK82+3ewCBDVBwx34P+5L4Xh\r\nw5zjon7kBBzka+IbJE2pYidFDA2t93NJYU5DZv2gJAqihxRYekCZpNTblprK\r\nPN7L8pDB0clvXOjsY5xv16iCDfYaUcMRx48eRpLaciztCNHjwXE4MNtOByWE\r\nw7uQr87eIf+NLQGn47pIoexFfDAyYpPZkTO9+qURMxU2JwY99t5IsvWZHBwF\r\nhKrFEnYrFf6zXSdqeSX4ogJegmZxKxX7Zbs=\r\n=EYrn\r\n-----END PGP SIGNATURE-----\r\n"},"es2020":"fesm2020/simply-translate-angular.mjs","module":"fesm2015/simply-translate-angular.mjs","esm2020":"esm2020/simply-translate-angular.mjs","exports":{".":{"node":"./fesm2015/simply-translate-angular.mjs","types":"./index.d.ts","es2015":"./fesm2015/simply-translate-angular.mjs","es2020":"./fesm2020/simply-translate-angular.mjs","default":"./fesm2020/simply-translate-angular.mjs","esm2020":"./esm2020/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"f9d06a2d67ee791da41a1371d78582faedbc35ff","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"fesm2015":"fesm2015/simply-translate-angular.mjs","fesm2020":"fesm2020/simply-translate-angular.mjs","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"8.19.1","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"*","@angular/common":"*","@angular/compiler":"*"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.20.1_1667227258729_0.9126360610643911","host":"s3://npm-registry-packages"}},"0.30.0-pre.2":{"name":"simply-translate-angular","version":"0.30.0-pre.2","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.30.0-pre.2","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"b1119de8ea2371236a9f4251a5f9cbc7eda1be69","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.30.0-pre.2.tgz","fileCount":28,"integrity":"sha512-ux4uJ4boKyO6cgdnxG7u5YCalGdOKXcgE4S29YZC2uRVESgTjexKsFfdGVIVA0eqD1s8ZuUN7cttyIsTHL2JHA==","signatures":[{"sig":"MEQCIAQyeA9xKgdzIJocbv34nNq7tV1qztXm6+pyj/1E2KGCAiBECBlnzWlx/4JqW5QUkHQomsMTgrLuhqfvvq/g3pl/+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178479},"module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"e26260d18bc5c2868c046b80a3eb4cb7e68aa2eb","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"will be apdated after 0.21","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"10.5.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"20.12.2","dependencies":{"tslib":"^2.3.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":">=7.0.0","@angular/common":">=17.0.0","@angular/compiler":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.30.0-pre.2_1713640178384_0.013682123063949891","host":"s3://npm-registry-packages"}},"0.21.0":{"name":"simply-translate-angular","version":"0.21.0","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.0","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"117ebdf111ada4fd5b87e589ee6fa4af101efde2","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.0.tgz","fileCount":18,"integrity":"sha512-/V8lIjLrcEtktb0ktcxZLL/DS9Y/1cvSCa88dfBj7iKteW0mLJLoGF+cslw0DlgD8w6IFJXveazZE/sfMJE5+g==","signatures":[{"sig":"MEUCIQCioQ6OcxzFQnaphetESx+zZPvv145aKdZsHSLL1N4SegIgDFmYMBvnMEjYnZLnG2ZjE/OJu4xAUVueLthGWToAXaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182151},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"4eaacb5f8eb4016c08572d3e6c47bbeccb1079b6","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.0_1784996800779_0.0858549695770705","host":"s3://npm-registry-packages-npm-production"}},"0.21.2":{"name":"simply-translate-angular","version":"0.21.2","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.2","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"a64bf1726ee3337c85376b1416a74ae0fb5bcba2","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.2.tgz","fileCount":18,"integrity":"sha512-wt9x+epv3JXkvkegZSAlMJuthAH1lOlnqSNxvhtg95wJjl3eo79iFpTuOT9JoPNulm9cvwzbRwN21kVySBxXNA==","signatures":[{"sig":"MEQCIGoWzdYyXCgSe0RPL+XJ+MD/E+MYpqkfF9gvRE8MsQBSAiBzTzFcmfkWsHnhPfgyUXS2Gp+P8B+plOXSU6ucGcsNGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182048},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"4eaacb5f8eb4016c08572d3e6c47bbeccb1079b6","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.2_1785141772958_0.2725165283906881","host":"s3://npm-registry-packages-npm-production"}},"0.21.3":{"name":"simply-translate-angular","version":"0.21.3","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.3","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"38df27d31aa408cc7ba7d2d1270052266c8ff7f9","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.3.tgz","fileCount":20,"integrity":"sha512-MZWhIbr7GjHcBz0mmsFJMp+6Mj+SuwFjXyasKvtcXhPs1HwDE7CIHLKk90frlMKCtyjxwA0c+gbWYSH73jWuSQ==","signatures":[{"sig":"MEUCIQCSZ7Gx2RtamlKlpAx/zjkorEwApIXttUNiw0ldpOMbrwIgbgDFvbabmxfhCpPL360Ok8ZIkyIFCyMQa3ef1R93uMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199274},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"6a5eac551e40d61212a2f39605b4d92dd99137f4","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.3_1785182969492_0.6058698571765722","host":"s3://npm-registry-packages-npm-production"}},"0.21.4":{"name":"simply-translate-angular","version":"0.21.4","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.4","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"4f57e9d75f9832e0dec67a14523e0dfce6279e4a","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.4.tgz","fileCount":20,"integrity":"sha512-sW9qMtXwLh5BE5//z6TQ3spbi8GS05vq0mpk9xSzrbbu9F7S/c4HtTdUFF+YtyKBgFa3rjcBEerv7lmdBre6ng==","signatures":[{"sig":"MEQCIByTb6BHGpmqV1QN4CsYn3MMbDFcSYSZPyOyEOwlxQ/HAiB30qPPOcZk7W7DlleRfIf/0czzp9luvzPvtTVDdJl4+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200091},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"6a5eac551e40d61212a2f39605b4d92dd99137f4","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.4_1785183318069_0.5896088535019626","host":"s3://npm-registry-packages-npm-production"}},"0.21.5":{"name":"simply-translate-angular","version":"0.21.5","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.5","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"3dca1c5ce14b3110843578980eadad87fa88e4cb","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.5.tgz","fileCount":20,"integrity":"sha512-UwiW+8hfHgu7i1sJ7pXCJPKhpUy/vmuT00FJvLrwrK2ta2PSV3I8zFKl0yuiQwII3Q5pupwlwsarJC0ebligPg==","signatures":[{"sig":"MEUCIDe3DbTMSmmd2bXOoqhE34Ivq0aDywmybHJdc6hFAAuzAiEAl5b0pU9AviERwp/AMoO/WX3oljXMWyAjfKTcDWng/lQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200091},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"6a5eac551e40d61212a2f39605b4d92dd99137f4","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.5_1785183414754_0.27202472653956855","host":"s3://npm-registry-packages-npm-production"}},"0.21.6":{"name":"simply-translate-angular","version":"0.21.6","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.6","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"99e07fda5f7f33fcbdfb4b626f68619329fb5bca","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.6.tgz","fileCount":20,"integrity":"sha512-aVvQ2nY0madMNLdDAycpLObMU+tPeMY/YVbLIKcb5Kyh9HgvbkVhSRMlphcPrBN6zDmKmTc1UUR0U/IlmquusA==","signatures":[{"sig":"MEQCIB4yfvmFrgnloSMNXMkwN7iwr9xoVt1BcUvXYBdyoS9oAiBZTbO4hImto1Mj2aIgfo/53fz58+HmnAOhMcGvdHWwdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199900},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9160e064865501157500ef4a087403a3470bc6bb","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"dynamic props overrite cache bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.6_1785186631630_0.7968833794203753","host":"s3://npm-registry-packages-npm-production"}},"0.21.7":{"name":"simply-translate-angular","version":"0.21.7","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.7","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"a6f0e181b6dbafa58a24a3e9776d5a019a4a9695","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.7.tgz","fileCount":20,"integrity":"sha512-aXzpbyJdjNXSnSi9bMZDRg4MrAJhpjwAA+1r6n87TuBpfHrCvpEackSGX28CIN4wxYLdYQMjyn9kPzE8cePXrQ==","signatures":[{"sig":"MEUCIQDN2aWRhLnuynLG1vsAP/vcVs5yrkF3pq6tb8q8+7BE6AIgOGizC13a1upp1jJtZlgiATBFq6aXPg+w3MppqEkXhIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207460},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9160e064865501157500ef4a087403a3470bc6bb","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"api depricated","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.7_1785229782460_0.6250232326980187","host":"s3://npm-registry-packages-npm-production"}},"0.21.10":{"name":"simply-translate-angular","version":"0.21.10","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.10","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"4609b33e844c4da048e9f7eb34e3d52be85367ce","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.10.tgz","fileCount":34,"integrity":"sha512-GqfHv/Q/aVxvJs7oHfsjzC0YIcXcWHJZQ0YdH2CFPzcd1LHhUi6KnR9CVFcPAV9Z5aLizWand8utIHY/c8sdow==","signatures":[{"sig":"MEQCIFt2zMh08UyA64FHOItM77lkmXmYeuas+ha7drOWXuE9AiBE2GJflREiaZQ+eb3eSHjwQ29xTK01LPVmR11PyWqTCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289102},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"7985050c24da847a66bb5231eb8873340a77fe83","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"export bug","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.10_1785585857256_0.9386817577953204","host":"s3://npm-registry-packages-npm-production"}},"0.21.11":{"name":"simply-translate-angular","version":"0.21.11","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.11","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"02892608164dad25a3744342dc15e34af66307e0","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.11.tgz","fileCount":36,"integrity":"sha512-4dNhmIDMRQKle8h/ckqc50kEffkx71OCmZAwPNDYoRyU+M+Cc3rgK/FzfmMFKaRX2wwwmx1GrGgNzSFxX8iRlg==","signatures":[{"sig":"MEUCIQDWBJtZl4s0JHzG0GfEWTTNLUKlzQetv7uEjV5yLBpxeAIgXk+WyByLdbjxwhR7Ib+FGwkmdDCQDDGbAvQkdJFiI0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294810},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"7985050c24da847a66bb5231eb8873340a77fe83","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"params validation missing","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.11_1785591328897_0.6690563076895655","host":"s3://npm-registry-packages-npm-production"}},"0.21.12":{"name":"simply-translate-angular","version":"0.21.12","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.12","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"2f67882095020c1e3bb1407a13949fd96c7935c8","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.12.tgz","fileCount":36,"integrity":"sha512-xDFPpsljMaroJc/3MR4Js6Xokv/JdYTeJ+FtB3qr0PL3NMIog6T2e0vqmZgcCTScdTdAUoGgzXhyKZs6tXTOrQ==","signatures":[{"sig":"MEYCIQCuCiQBL4/sVNC9bKYVYIq/quMvxzxCF2fBwpH8uoIgXQIhALsQX7xr+q1aTxAaiJ6JzxTyQ6CfcSrAcec6ZLvZAahq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324650},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"7985050c24da847a66bb5231eb8873340a77fe83","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"deprecated":"cahce provided level","repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.12_1785597734363_0.6618004645575954","host":"s3://npm-registry-packages-npm-production"}},"0.21.13":{"name":"simply-translate-angular","version":"0.21.13","keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","_id":"simply-translate-angular@0.21.13","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"homepage":"https://github.com/oleg-wx/translate-angular#readme","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"dist":{"shasum":"def52691ae1abee4bfdd48e58d19ee005cf2edd3","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.13.tgz","fileCount":36,"integrity":"sha512-/Jb5m8sXJgNheAbQOlu2EkHr7ZI+z2IQ+9190p4O4UjVXqEC5KFF1n698CGoP198xWvgfvCZ7Tvp2h23RsV70g==","signatures":[{"sig":"MEQCIG7vPhsVfz+1FAXmkPdD0CW9NEF6QOPkM89I0Fa9GJNPAiAUVEhSRw7VyTe8uYnkVHvXs7YEEnD2nl50Ijc+QBdJDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325048},"type":"module","module":"fesm2022/simply-translate-angular.mjs","exports":{".":{"esm":"./esm2022/simply-translate-angular.mjs","types":"./index.d.ts","default":"./fesm2022/simply-translate-angular.mjs","esm2022":"./esm2022/simply-translate-angular.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"a94c56e28cfab08f0f9a432acfae871a2ddcf972","typings":"index.d.ts","_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"repository":{"url":"git+https://github.com/oleg-wx/translate-angular.git","type":"git"},"_npmVersion":"11.16.0","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"rxjs":"^7.5.7","tslib":"^2.4.0","simply-translate":"0.20.0"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":">= 5.0.0","@angular/core":">= 17.0.0","@angular/common":">= 17.0.0","@angular/compiler":">= 17.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/simply-translate-angular_0.21.13_1785602563380_0.5494081168174303","host":"s3://npm-registry-packages-npm-production"}},"0.21.20":{"name":"simply-translate-angular","version":"0.21.20","type":"module","dependencies":{"tslib":"^2.4.0","simply-translate":"0.20.0","rxjs":"^7.5.7"},"peerDependencies":{"@angular/common":">= 17.0.0","@angular/core":">= 17.0.0","@angular/compiler":">= 17.0.0","typescript":">= 5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"repository":{"type":"git","url":"git+https://github.com/oleg-wx/translate-angular.git"},"keywords":["angular","translate","translation","translations","localize","localization"],"author":{"name":"Oleg Volovikov"},"license":"MIT","bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"homepage":"https://github.com/oleg-wx/translate-angular#readme","module":"fesm2022/simply-translate-angular.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/simply-translate-angular.mjs","esm":"./esm2022/simply-translate-angular.mjs","default":"./fesm2022/simply-translate-angular.mjs"}},"sideEffects":false,"gitHead":"77c0dafa9ef061ade314f9b63da95c3c00e26a61","_id":"simply-translate-angular@0.21.20","description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-BQ61aMwgMWY7VxVK0RC30INScMDEZ6JMcpbhsKcwKdpAx88+XChmLdlBVgLcMtMU7xeU3ftnA5gmqYpxbskzjw==","shasum":"5e86433f554283d94600199443809b853f5e50d8","tarball":"https://registry.npmjs.org/simply-translate-angular/-/simply-translate-angular-0.21.20.tgz","fileCount":38,"unpackedSize":361652,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHnjuQnsfguCx98st9fkxtY6q2gMC/91CnNE/Uyl7K6NAiEA6oIpYju+NKeiMHG0LXTfeaTl70RxDQpRXOKEH9DLekk="}]},"_npmUser":{"name":"oleg.wx","email":"oleg.wx@gmail.com"},"directories":{},"maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/simply-translate-angular_0.21.20_1785934273424_0.6436298776986011"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-03T19:41:19.829Z","modified":"2026-08-05T12:51:13.733Z","0.0.1":"2021-05-03T19:41:19.977Z","0.0.2":"2021-05-04T20:34:11.096Z","0.11.0":"2021-06-14T21:48:43.162Z","0.11.1":"2021-06-14T21:52:26.307Z","0.12.0":"2022-01-12T14:22:06.732Z","0.12.2":"2022-01-18T09:06:10.575Z","0.12.3":"2022-01-18T10:00:15.865Z","0.12.4":"2022-01-18T10:04:19.700Z","0.12.5":"2022-01-18T10:57:30.810Z","0.12.6":"2022-01-25T10:06:24.845Z","0.12.7":"2022-01-27T20:07:07.856Z","0.12.8":"2022-01-28T09:10:22.069Z","0.0.0":"2022-06-28T20:00:39.708Z","0.20.0-beta.1":"2022-06-28T20:05:28.056Z","0.20.0-beta.2":"2022-06-28T20:17:34.038Z","0.20.0-beta.3":"2022-06-29T13:21:47.599Z","0.20.0-beta.4":"2022-06-29T13:59:03.435Z","0.20.0-beta.5":"2022-06-29T14:08:42.980Z","0.20.0-beta.7":"2022-06-29T14:12:09.673Z","0.20.0-beta.8":"2022-06-29T14:15:14.229Z","0.20.0-beta.9":"2022-06-29T14:34:36.022Z","0.20.0-beta.11":"2022-07-03T19:21:08.841Z","0.20.0-beta.12":"2022-07-03T19:23:27.976Z","0.20.0-beta.13":"2022-07-03T19:34:41.431Z","0.20.0-beta.14":"2022-07-04T13:50:25.307Z","0.20.0-beta.15":"2022-07-04T14:44:23.635Z","0.20.0-beta.16":"2022-07-04T14:58:09.044Z","0.20.0-beta.17":"2022-07-06T21:39:35.461Z","0.20.0-beta.18":"2022-07-06T21:51:15.770Z","0.20.0":"2022-10-28T14:02:29.652Z","0.20.1":"2022-10-31T14:40:58.955Z","1.0.0-alpha":"2024-04-20T18:45:55.123Z","0.30.0-pre.1":"2024-04-20T19:03:08.864Z","0.30.0-pre.2":"2024-04-20T19:09:38.525Z","0.21.0":"2026-07-25T16:26:40.919Z","0.21.2":"2026-07-27T08:42:53.092Z","0.21.3":"2026-07-27T20:09:29.640Z","0.21.4":"2026-07-27T20:15:18.208Z","0.21.5":"2026-07-27T20:16:54.899Z","0.21.6":"2026-07-27T21:10:31.791Z","0.21.7":"2026-07-28T09:09:42.587Z","0.21.10":"2026-08-01T12:04:17.416Z","0.21.11":"2026-08-01T13:35:29.040Z","0.21.12":"2026-08-01T15:22:14.620Z","0.21.13":"2026-08-01T16:42:43.542Z","0.21.20":"2026-08-05T12:51:13.566Z"},"bugs":{"url":"https://github.com/oleg-wx/translate-angular/issues"},"author":{"name":"Oleg Volovikov"},"license":"MIT","homepage":"https://github.com/oleg-wx/translate-angular#readme","keywords":["angular","translate","translation","translations","localize","localization"],"repository":{"type":"git","url":"git+https://github.com/oleg-wx/translate-angular.git"},"description":"[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.","maintainers":[{"name":"oleg.wx","email":"oleg.wx@gmail.com"}],"readme":"# Simply Translate for Angular\r\n\r\n[Simplest translations](https://www.npmjs.com/package/simply-translate) for Angular _(tested for v10+)_.\r\n\r\n### **Breaking changes**\r\n\r\n#### (v0.21.20)\r\n- per-proxy loading is now configured with the `@TranslateProxyLoader` decorator instead of implementing the `TranslateLoaderSupport` interface by hand — see [Per-proxy (`TranslateProxyLoader`)](#per-proxy-loader).\r\n- added `onLoaderReady?(args: { lang, id })` alongside `onLoaderError?()` — fires whenever a language finishes loading successfully.\r\n- `TranslateProxyLoader` gained a public `preloadLangs` and `preloadFallbackLang`.\r\n\r\n#### (v0.21.10)\r\n- `TranslateProxy<T>` now takes a schema type (`typeof yourSchema`) instead of a hand-written `Dictionary` interface — see [Use TranslateProxy](#Use-TranslateProxy).\r\n- added schema-first dictionary definitions (`TranslateSchema`, `StringProp`, `ValueProp`, `Namespace`) and runtime validation (`validateDictionary`, `assertValidDictionary`), including placeholder-usage checks against each leaf's declared `params` — see [Validating dictionaries with a schema](#validating-dictionaries-with-a-schema).\r\n\r\n#### (v0.21.0)\r\n\r\n- upgraded to Angular 17.\r\n- introduced new [`TranslateProxy`](#Use-TranslateProxy) for typed, autocompleted dictionary access.\r\n- directive now **always** reacts to language/dictionary changes; removed the `detect` opt-in property.\r\n- directive can infer its key from static inner text when `translate` has no value.\r\n- fixed directive writing translated output to a fresh text node instead of updating the existing one, which broke content bound elsewhere in the same element (e.g. Angular interpolation).\r\n- added `translateSignal` and `translateObservable` to `TranslateService`.\r\n\r\n#### (v0.20.0)\r\n\r\n- see [plain JS library changes](https://www.npmjs.com/package/simply-translate#Breaking-changes).\r\n- deprecated `init` method in root import. Instead use `addMiddleware`, `loadDictionaries` and `final` methods instead.\r\n- `lang` and `fallbackLang` now in the root import.\r\n- added **middleware pipeline** _(see [Pipeline](#Pipeline))_.\r\n- removed `$less` property. Instead of `$less` use `placeholder = 'single'`.\r\n- added `fallback` property to directive.\r\n- `defaultLang` renamed to `lang`.\r\n- `extend` in `forChild` initialization changed to `loadDictionaries`.\r\n- added language detection change for directives and pipes\r\n- after initialization `lang` and `fallbackLang` can be changed only from `TranslateRootService`.\r\n- removed **dynamic cache**.\r\n\r\n### Basics\r\n\r\nPlease use link above to learn more about **basic interaction**, dictionaries, pluralization, cases, etc.\r\n\r\n### Install\r\n\r\n```javascript\r\nnpm i simply-translate-angular\r\n```\r\n\r\n### Import\r\n\r\n```javascript\r\nimport { TranslateModule, TranslateService } from 'simply-translate-angular';\r\n```\r\n\r\n### Initialize\r\n\r\n```javascript\r\n@NgModule({\r\n  declarations: [AppComponent, AppViewComponent],\r\n  imports: [\r\n    TranslateModule.forRoot({\r\n      // dependencies\r\n      deps: [ HttpClient ],\r\n      // language\r\n      lang: window.navigator.language,\r\n      fallbackLang: 'ru-RU',\r\n      // static dictionaries\r\n      dictionaries:{'ru-RU':{...}}\r\n      // load dictionaries\r\n      loadDictionaries:({lang, fallbackLang}, client /* params are injected dependencies received in the same order as they are in deps */) =>{\r\n        return {\r\n          [lang]: {...}\r\n        }\r\n      }\r\n    })\r\n  ]\r\n});\r\n```\r\n\r\nSee [Load dictionaries](#Load-dictionaries)\r\n\r\n### Use Directive\r\n\r\n```html\r\n<!-- use default language -->\r\n<h2 translate=\"hello_user\" [values]=\"{ user: 'Oleg' }\"></h2>\r\n<!-- use other language -->\r\n<h2 translate=\"hello_user\" to=\"ru-RU\" [values]=\"{ user: 'Oleg' }\"></h2>\r\n<!-- use fallback -->\r\n<h2 translate=\"hello_user_not_there\" [values]=\"{ user: 'Oleg' }\">Hello user</h2>\r\n<!-- please note that Angular uses curly-braces in templates as well, so prefer use fallback property or replace open bracket with $&#123; (and optionally closing bracket with &#125;) -->\r\n<h2 translate=\"hello_user_not_there\" [values]=\"{ user: 'Oleg' }\">Hello $&#123;user&#125;</h2>\r\n<!-- preferred fallback property usage -->\r\n<h2 translate=\"hello_user_not_there\" [values]=\"{ user: 'Oleg' }\" fallback=\"Hello ${user}\"></h2>\r\n```\r\n\r\nDirectives always react to language and dictionary changes automatically, no opt-in needed.\r\n\r\nDirective can also use inner text as an implicit key (when `translate` has no value) or as a fallback (when the key is missing) — but only for **static** content; dynamic keys must be bound with `[translate]=\"expr\"`.\r\n\r\n### Use Pipe\r\n\r\n```html\r\n<h2>{{ 'hello_user' | translate: { user: 'Oleg' } }}</h2>\r\n<!-- use other language -->\r\n<h2>{{ 'hello_user' | translateTo: 'ru-RU': { user: 'Oleg' } }}</h2>\r\n<!-- use fallback -->\r\n<h2>{{ 'hello_user_not_there' | translate: { user: 'Oleg' } : 'Hello ${user}'}}</h2>\r\n```\r\n\r\nPipes are pure by default. However if application has dynamic language change you may use special _impure_ pipe (it has internal dirty check), it will detect language changes as well as pipe parameters.\r\n\r\n```html\r\n<h2>{{ 'hello_user' | translate$: { user: 'Oleg' } }}</h2>\r\n```\r\n\r\n`translate$` is cheap despite being impure: it caches the last language/dictionary version and arguments, and only re-translates when one of them actually changed — not on every check.\r\n\r\n### Use Service\r\n\r\n```javascript\r\n@Component({\r\n    ...\r\n})\r\nexport class Component {\r\n    hello: string;\r\n    constructor(private translate: TranslateService) {\r\n        // use default language\r\n        this.hello = translate.translate('hello_user', { user: 'Oleg' })\r\n        // use other language\r\n        this.hello = translate.translateTo('ru-RU','hello_user', { user: 'Oleg' })\r\n        // use fallback\r\n        this.hello = translate.translateTo('ru-RU','hello_user_not_there', { user: 'Oleg' }, 'Hello ${user}')\r\n    }\r\n}\r\n```\r\n\r\n`translateSignal` and `translateObservable` mirror `translate`'s overloads but return a reactive `Signal<string>` / `Observable<string>` that updates on language or dictionary changes.\r\n\r\n```javascript\r\nhelloSignal = translate.translateSignal('hello_user', { user: 'Oleg' }); // Signal<string>\r\nhello$ = translate.translateObservable('hello_user', { user: 'Oleg' }); // Observable<string>\r\n```\r\n\r\nTo change language use `TranslateRootService` `lang` property.   \r\nTo detect changes subscribe on `languageChange$` and `dictionaryChange$`. **Note** that `loadDictionaries` method in root settings will not execute when language changes.\r\n\r\n```javascript\r\nexport class Component {\r\n  constructor(private rootTranslate: TranslateRootService){\r\n    rootTranslate.lang = \"en-US\";\r\n  }\r\n}\r\n```\r\n\r\n### Use TranslateProxy\r\n\r\nFor typed, autocompleted access to your dictionary keys, describe your dictionary shape with `TranslateSchema` and extend `TranslateProxy<typeof yourSchema>`.\r\n\r\n```typescript\r\n// app.schema.ts\r\nimport { Namespace, NumberParam, StringParam, StringProp, TranslateSchema, ValueProp } from 'simply-translate-angular';\r\n\r\nexport const appSchema = TranslateSchema({\r\n  hello_user: StringProp({ params: { user: StringParam } }),\r\n  about: StringProp(),\r\n  namespace: Namespace({\r\n    hello_user: StringProp({ params: { user: StringParam } }),\r\n  }),\r\n  visit_count: ValueProp({ params: { count: NumberParam } }),\r\n});\r\n\r\nexport type AppSchema = typeof appSchema;\r\n```\r\n\r\n(Named `StringProp`/`ValueProp` rather than `String`/`Value` to avoid shadowing the globals of the same name.)\r\n\r\n```typescript\r\n// app.translate.ts\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateProxy } from 'simply-translate-angular';\r\nimport type { AppSchema } from './app.schema';\r\n\r\n@Injectable()\r\nexport class AppTranslate extends TranslateProxy<AppSchema> {}\r\n```\r\n\r\n`TranslateProxy` takes the schema itself as its type parameter — the dictionary type is inferred from it via `InferTranslateSchemaType`. `TranslateProxy` only ever needs `AppSchema`'s **type**, never `appSchema`'s runtime value, so import it with `import type`: TypeScript erases `import type` entirely at compile time, keeping the schema-building code (and everything it imports) out of your app's bundle unless something else in it also needs the actual schema object at runtime — e.g. to call `validateDictionary`. See [Validating dictionaries with a schema](#validating-dictionaries-with-a-schema) for the full builder API (`StringProp`, `ValueProp`, `Namespace`) and for validating your JSON dictionaries against the same schema at runtime.\r\n\r\nInject it like any other service and read keys off `object`. Every leaf key is callable (mirrors `translate`), and carries `.Signal()` / `.$()` companions that mirror `translateSignal` / `translateObservable`.\r\n\r\n**The params each of these accepts comes entirely from how the schema leaf was declared:**\r\n\r\n- `StringProp()` / `ValueProp()`, called with no `params` — the leaf takes **no dynamic props at all**. The call, `.Signal()`, and `.$()` all become zero-argument — passing anything is a compile error.\r\n- `StringProp({ params: {...} })` / `ValueProp({ params: {...} })` — the leaf **requires** exactly the shape described by `params`, everywhere. Omitting the argument, passing `undefined`, or passing the wrong shape are all compile errors.\r\n\r\n`params` is a flat map of prop name → either an actual default value (e.g. `user: 'Guest'`, `count: 0`) or, when there's no natural default, the `StringParam` / `NumberParam` markers. Either way the value is only ever used to infer that prop's type (`string`/`number`) and to read its name — nothing about it is used at runtime beyond that. Params are intentionally flat (`string`/`number` only, no nesting) to match what dynamic props can actually be.\r\n\r\n```typescript\r\n@Component({\r\n  ...\r\n})\r\nexport class MyComponent {\r\n  constructor(private translate: AppTranslate) {\r\n    // like translate.translate('hello_user', { user: 'Oleg' })\r\n    this.hello = translate.object.hello_user({ user: 'Oleg' });\r\n\r\n    // reactive Signal<string>, like translate.translateSignal(...)\r\n    this.helloSignal = translate.object.hello_user.Signal({ user: 'Oleg' });\r\n\r\n    // reactive Observable<string>, like translate.translateObservable(...)\r\n    this.hello$ = translate.object.hello_user.$({ user: 'Oleg' });\r\n\r\n    // nested keys work the same way\r\n    this.nsHello = translate.object.namespace.hello_user({ user: 'Oleg' });\r\n\r\n    // `about` was declared with StringProp() (no params) -> zero-argument call\r\n    this.about = translate.object.about();\r\n    // translate.object.about({ user: 'Oleg' });    // compile error: `about` takes no params\r\n    // translate.object.hello_user();                // compile error: `hello_user` requires { user: string }\r\n  }\r\n}\r\n```\r\n\r\nEach key also stringifies to its full dotted path — `` `${translate.object.namespace.hello_user}` === 'namespace.hello_user' `` — useful when you need the key itself (logging, passing to another API) rather than its translation.\r\n\r\n**Warning — dynamic props with `.Signal()` / `.$()`:** the returned `Signal`/`Observable` is cached per `dynamicProps` reference (keyed by identity, not by value). A plain object always stays reactive to **language/dictionary** changes, but is a fixed snapshot of its own properties — it will never update if you mutate the object later, and passing a fresh object literal on every call (e.g. inline in a template) defeats the cache, allocating a new `Signal`/`Observable` each time. If the dynamic values themselves change over time, pass a `Signal`/`Observable` of that same params shape instead, and keep reusing the **same** reference so the cache can pick it up:\r\n\r\n```typescript\r\n// reactive to changing values — pass a stable Signal/Observable reference\r\nconst params = signal({ user: 'Oleg' });\r\nthis.helloSignal = translate.object.hello_user.Signal(params);\r\nparams.set({ user: 'John' }); // helloSignal updates automatically\r\n\r\n// static values, but still reactive to language/dictionary changes\r\nthis.helloSignal = translate.object.hello_user.Signal({ user: 'Oleg' });\r\n```\r\n\r\n**Restriction:** `Signal` and `$` are reserved property names — `TranslateProxy` uses them on every key to expose the reactive accessors above. A dictionary key literally named `Signal` or `$` (at any nesting level) will be shadowed by these accessors and become unreachable through `object`. Avoid naming dictionary keys `Signal` or `$`.\r\n\r\n### Validating dictionaries with a schema\r\n\r\n`TranslateSchema` describes a dictionary once and gives you both the static type (via `InferTranslateSchemaType`, used internally by `TranslateProxy`) and a runtime validator for your actual JSON dictionary files — so a language file that's missing a key, has an extra key, or has the wrong shape fails loudly instead of silently falling back at runtime.\r\n\r\nBuild a schema with three node builders:\r\n\r\n- `StringProp()` — a leaf that must be a plain string.\r\n- `ValueProp()` — a leaf that may be a string, a `DictionaryEntry` (`{ value, plural?, cases?, description? }`), or a nested dictionary.\r\n- `Namespace({...})` — a nested dictionary with a fixed, known shape.\r\n\r\n```typescript\r\nimport { Namespace, StringProp, TranslateSchema, ValueProp } from 'simply-translate-angular';\r\n\r\nexport const appSchema = TranslateSchema({\r\n  welcome_to_app: StringProp(),\r\n  goodbye_world: ValueProp(), // string, or { value, description } etc.\r\n  namespace: Namespace({\r\n    hello_user: ValueProp(),\r\n  }),\r\n});\r\n\r\nexport type AppDictionary = InferTranslateSchemaType<typeof appSchema>;\r\n```\r\n\r\nValidate a loaded dictionary (e.g. a parsed JSON file) against the schema:\r\n\r\n```typescript\r\nimport { assertValidDictionary, validateDictionary } from 'simply-translate-angular';\r\n\r\n// returns a list of { path, message } issues, empty when valid\r\nconst errors = validateDictionary(appSchema, parsedJson);\r\n\r\n// or throw with a formatted message if invalid — handy in a startup check or a build/CI script\r\nassertValidDictionary(appSchema, parsedJson, 'en-US.json');\r\n```\r\n\r\nSome keys are legitimately allowed to diverge between the schema and a given language file — a translation that isn't ready yet, or a root-only fallback key. Rather than silently ignoring every missing/extra key, list the exceptions explicitly via `allowedErrors`, keyed by the same dotted path shown in `SchemaValidationError.path`. Each entry names the kind of error tolerated there — `'missing'`, `'orphan'`, `'params'`, or `'any'` (whichever check applies) — either as a bare string, or as `{ kind, reason? }` if you want to document why:\r\n\r\n```typescript\r\nconst errors = validateDictionary(appSchema, parsedJson, {\r\n  allowedErrors: {\r\n    'namespace.hello_user': { kind: 'missing', reason: 'translation pending, falls back to en-US' },\r\n    only_root_key: 'orphan', // root-only fallback key, intentionally absent from other languages\r\n  },\r\n});\r\n```\r\n\r\nThe kind has to match the check that would otherwise fire at that path — allowing `'orphan'` on a path that's actually reported as `'missing'` still errors. `'params'` is blanket per-path: it silences every placeholder mismatch at that key (see [Placeholder validation](#placeholder-validation)), not individual param names.\r\n\r\nA key ending in `.*` allows a whole namespace at once, instead of enumerating every leaf under it — `'namespace.*'` matches `namespace` itself and everything nested under it:\r\n\r\n```typescript\r\nvalidateDictionary(appSchema, parsedJson, {\r\n  allowedErrors: { 'namespace.*': 'missing' }, // an entire namespace not translated yet for this language\r\n});\r\n```\r\n\r\n#### Placeholder validation\r\n\r\nWhen a leaf declares `params` (see [Use TranslateProxy](#Use-TranslateProxy)), `validateDictionary` also checks that every declared param actually shows up as a `${name}` placeholder somewhere in the translation — and flags any placeholder that *isn't* declared. \"Somewhere\" covers the leaf's `value` as well as every `plural`/`cases` result string, since `simply-translate` re-scans a chosen plural/case result for further placeholders:\r\n\r\n```typescript\r\nconst appSchema = TranslateSchema({\r\n  hello_user: StringProp({ params: { user: StringParam } }),\r\n  about: StringProp(),\r\n});\r\n\r\nvalidateDictionary(appSchema, { hello_user: 'Hello there', about: 'Welcome' });\r\n// [{ path: ['hello_user'], message: 'missing placeholder for param \"user\"' }]\r\n\r\nvalidateDictionary(appSchema, { hello_user: 'Hello ${user}!', about: 'Welcome, ${name}!' });\r\n// [{ path: ['about'], message: 'unexpected placeholder \"name\", not declared in schema params' }]\r\n```\r\n\r\nIf your app uses a non-default `placeholder` style (`'single'` `{user}` / `'double'` `{{user}}`, see [`TranslateModule.forRoot`](#Initialize)), pass the same value so the checks recognize the right syntax:\r\n\r\n```typescript\r\nvalidateDictionary(appSchema, parsedJson, { placeholder: 'single' });\r\n```\r\n\r\n### Load dictionaries\r\n\r\n#### Root\r\n\r\nDefault `forRoot` initialization allows to use injected dependencies (e.g. `HttpClient`) to fetch dictionaries. It returns `Observable` that contains set of dictionaries\r\n\r\n```javascript\r\nexport function getDictionary(lang: string, client: HttpClient) {\r\n  return client.get<Dictionary>(`/assets/translations/${lang}.json`);\r\n}\r\n\r\n@NgModule({\r\n  declarations: [...],\r\n  imports: [\r\n    ...\r\n    TranslateModule.forRoot({\r\n      // dependencies\r\n      deps: [ HttpClient ],\r\n\r\n      lang: window.navigator.language,\r\n      fallbackLang: 'ru-RU',\r\n\r\n      loadDictionaries: ({lang, fallbackLang}, client /* params are injected dependencies received in the same order as they are in deps */) => {\r\n\r\n        const res$ = forkJoin([getDictionary(lang, client), getDictionary(fbLang, client)]).pipe(\r\n          map((res) => {\r\n            return { [lang]: res[0], fbLang: res[1] };\r\n          })\r\n        );\r\n\r\n        return res$;\r\n      },\r\n    }),\r\n    ...\r\n  ],\r\n  ...\r\n})\r\n```\r\n\r\n**Note**: it is might be useful to **hardcode** _fallback dictionary_ in .ts or .json file then import it rather then use http client to download.\r\n\r\n```javascript\r\nimport fallback from './translations/fallback';\r\n\r\nTranslateModule.forRoot({\r\n  lang: window.navigator.language,\r\n  fallbackLang: env.fallbackLanguage,\r\n  dictionaries: {\r\n    [env.fallbackLanguage]: fallback,\r\n  },\r\n\r\n  deps: [ HttpClient ],\r\n  loadDictionaries: ({lang, fallbackLang}, client /* params are injected dependencies received in the same order as they are in deps */) => {\r\n    return getDictionary(lang, client).pipe(\r\n      map((res) => {\r\n        return { [lang]: res };\r\n      })\r\n    );\r\n  },\r\n}),\r\n```\r\n\r\n**Note**: For more complex scenarios you may use initialization functions with `APP_INITIALIZER` token.\r\n\r\n#### Lazy\r\n\r\nLoad dictionaries for **Lazy** modules a bit trickier.\r\n\r\n```javascript\r\nexport function getDictionary(lang: string, client: HttpClient) {\r\n  return client.get<Dictionary>(`/assets/translations/${lang}.dynamic.json`);\r\n}\r\n\r\n@NgModule({\r\n  declarations: [...],\r\n  imports: [\r\n    TranslateModule.forChild({\r\n      deps: [ HttpClient ],\r\n      loadDictionaries: ({ lang, fallbackLang }, client: HttpClient) => {\r\n        return forkJoin([getDictionary(lang, client), getDictionary(fallbackLang, client)]).pipe(\r\n          map((res) => {\r\n            return { [lang]: res[0], [fallbackLang]: res[1] };\r\n          })\r\n        );\r\n      },\r\n    }),\r\n    ...\r\n  ]\r\n})\r\nexport class DynamicModule {}\r\n```\r\n\r\nThen you **must** use resolver `TranslateResolve` to every lazy component to wait for child `loadDictionaries`.\r\n\r\n```javascript\r\nconst routes: Routes = [{ path: '', component: DynamicComponent, resolve: { translate: TranslateResolve } }];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class DynamicRoutingModule {}\r\n```\r\n\r\n**Deprecated: Under consideration of removing**: For rare cases you may use `id` parameter for Lazy loaded module, that allows having different values with same key.  \r\n\"Lazy\" values will be available only for lazy modules with that special `id`.\r\n\r\n```javascript\r\n@NgModule({\r\n  declarations: [...],\r\n  imports: [\r\n    TranslateModule.forRoot({\r\n      dictionaries: {'en-US':{\r\n        'key':'Value'\r\n      }}\r\n    })\r\n  ]\r\n})\r\n```\r\n\r\n```javascript\r\n@NgModule({\r\n  declarations: [...],\r\n  imports: [\r\n    TranslateModule.forChild({\r\n      id: 'lazy'\r\n      dictionaries: {'en-US':{\r\n        'key':'Value for Lazy'\r\n      }}\r\n    })\r\n  ]\r\n})\r\n```\r\n\r\n#### Per-proxy (`per-proxy-loader`)\r\n\r\nA `TranslateProxy` subclass can load its own per-language dictionary, without any `forChild()`/`NgModule` wrapper — each language may be a plain object, a `Promise`, an `Observable`, or a URL string fetched via `HttpClient`. Only the *active* language loads eagerly by default; anything else loads on demand the first time you switch to it, unless you ask for it upfront via `preloadLangs`/`preloadFallbackLang`, or on demand via `preloadLang()`. Configure it with the `@TranslateProxyLoader(config)` decorator:\r\n\r\n```typescript\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateProxy, TranslateProxyLoader } from 'simply-translate-angular';\r\nimport type { AppSchema } from './app.schema';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@TranslateProxyLoader({\r\n  id: 'app',\r\n  dictionaries: {\r\n    // dynamic import() — code-split into its own lazy chunk, fetched when this proxy is first constructed\r\n    'en-US': import('./translations/en-US.json').then((m) => m.default),\r\n    // URL string — fetched via HttpClient the first time this language becomes active\r\n    'ru-RU': '/assets/translations/ru-RU.json',\r\n  },\r\n  preloadFallbackLang: true, // also load `service.fallbackLang` upfront, not just the active language\r\n})\r\nexport class AppTranslate extends TranslateProxy<AppSchema> {\r\n  // optional — fires whenever a language finishes loading successfully\r\n  onLoaderReady({ lang, id }: { lang: string; id: string }): void {\r\n    console.log(`Loaded '${id}' (${lang})`);\r\n  }\r\n\r\n  // optional — fires whenever a language fails to load; omit it and failures stay silent\r\n  onLoaderError({ lang, id, error }: { lang: string; id: string; error: unknown }): void {\r\n    console.error(`Failed to load '${id}' (${lang})`, error);\r\n  }\r\n}\r\n```\r\n\r\nBeyond `preloadLangs`/`preloadFallbackLang`, call the proxy's own `preloadLang(lang)` whenever you want a language warmed up ad hoc (e.g. a language the user is likely to switch to next) — it's a no-op if the proxy has no dictionary entry for `lang`:\r\n\r\n```typescript\r\nappTranslate.preloadLang('de-DE');\r\n```\r\n\r\n**Caveat:** unlike `forChild()`'s `id`-based key prefixing, this does not namespace keys — every proxy's dictionary is merged flat into the same per-language dictionary. If more than one proxy loads its own dictionary, wrap each one's own schema in a top-level `Namespace({...})` (named after that feature) to avoid colliding with another proxy's keys.\r\n\r\n##### Sharing a dictionary between proxies (`extends`)\r\n\r\n`@TranslateProxyLoader`'s real value beyond being declarative is `extends` — sharing one proxy's dictionary with another, so common strings (`ok`, `no`, generic labels, ...) don't have to be redeclared and reloaded by every feature that needs them:\r\n\r\n```typescript\r\nimport { StringProp, TranslateSchema } from 'simply-translate-angular';\r\n\r\nconst commonSchema = TranslateSchema({ ok: StringProp(), no: StringProp() });\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@TranslateProxyLoader({ id: 'common', dictionaries: { 'en-US': { ok: 'Ok', no: 'No' } } })\r\nexport class CommonTranslate extends TranslateProxy<typeof commonSchema> {}\r\n\r\n// spread the shared shape in — schemas are plain objects, so this is ordinary composition (see\r\n// [Validating dictionaries with a schema](#validating-dictionaries-with-a-schema)), nothing `extends`-specific\r\nconst featureSchema = TranslateSchema({ ...commonSchema.shape, title: StringProp() });\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@TranslateProxyLoader({\r\n  id: 'feature',\r\n  extends: [CommonTranslate],\r\n  dictionaries: { 'en-US': { title: 'Title' } },\r\n})\r\nexport class FeatureTranslate extends TranslateProxy<typeof featureSchema & typeof commonSchema> {}\r\n```\r\n\r\nInjecting `FeatureTranslate` alone is enough — `feature.object.ok` and `feature.object.title` both resolve, without ever injecting `CommonTranslate` anywhere. `extends` takes **class references**, forces to actually `inject` that class.\r\n\r\nTwo things `extends` does *not* do: it doesn't derive `FeatureTranslate`'s schema type for you (spread the shape in by hand, as above — `extends` only affects runtime loading), and it doesn't forward `CommonTranslate`'s own `onLoaderReady`/`onLoaderError` to `FeatureTranslate`, `extends` never constructs a `CommonTranslate` instance of its own beyond what DI already gives you.\r\n\r\n### Pipeline\r\n\r\n**(experimental)**\r\nCurrently it is possible to **append** middleware to the end of translation pipeline.  \r\nIt might be specially useful to add **logger** or rarely fine-tune translation result.\r\n\r\n```javascript\r\n@NgModule({\r\n  declarations: [...],\r\n  imports: [\r\n    ...\r\n    TranslateModule.forRoot({\r\n      // dependencies\r\n      deps: [ Logger ],\r\n      addMiddleware: (logger /* injected dependencies */) => {\r\n       return [\r\n          ({params, result}, next) => {\r\n            if (result.fallingBack) {\r\n              logger.log(`Translation absent [${params.lang}:${params.key}]`);\r\n            }\r\n            next();\r\n          },\r\n        ];\r\n      },\r\n    }),\r\n    ...\r\n  ],\r\n  ...\r\n})\r\n```\r\n","readmeFilename":"README.md"}