{"_id":"@aofl/i18n-mixin","_rev":"151-fa1293f202b703d98a59b8563b2c9760","name":"@aofl/i18n-mixin","dist-tags":{"next":"2.1.0-alpha.11","next-alpha":"3.0.0-alpha.12","beta":"3.5.0-beta.22","alpha":"4.0.0-alpha.45","latest":"3.14.1"},"versions":{"1.0.0-beta.22":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.22","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.22","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"dist":{"shasum":"4db0e9d657d1b253ddd46f091d5d5dcf9aac3975","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.22.tgz","fileCount":3,"integrity":"sha512-MgEgNJ4LzqKlc0c1wAxl6o6gHmEM+xfC9snuYIMBsIJUnR8/K3H5tsXnyF6CBizGvBElxicE1iTh/2qB3Jsm7Q==","signatures":[{"sig":"MEUCIQCxbVxUpnOg5xP/WNCHw3hGzf29viezWz+vYBanIZKKQwIgf9pTr4OHOAbajrz3Bager1lhJNn3uf/HFJms/jyXVEg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbeXnCRA9TVsSAnZWagAAiJMP/j8FYlqf06ro7LNIn6x/\n6NLtUV9uQNlK5N6gXW38i46cTV8W+5+LVuklDGdT4UsJOYILHUhyVwIo0Agp\njG00NXmHSr+ntXbyNIetDqUcawJTr3WPJlsJmJ1DWGcPy2P/1Y+wTBtO1Lzu\nLlfbLRf9Fp5tjhRHVdRqfSrDUqoC05ooTaEtlnYwH4mLYhVXp2+4j6/cREha\nB71SV86X39yRhxN6nPmN49LNYGq3K8fFv2wafbGVtgyUv86iODJjcHx5kc3u\nphdQif8+ketISodOJDY70mYrh2B2wsDBQ5rDJvdmtg2U0Pt8OtUvhLRuvu+Q\nOmbBf+O4xANn+Yo8vBimfIIRM8DeFqG8Q2pAp55bYFrSW46rvMvQJNIKesIE\nRxF4F8N0wEj0s706NvgVeaZsSV3b6Pjjl3HCz0JgElUFOAvilPXfLRcmxIQ7\nz8a3Vv8vLm/aR9YnvK4Kzls440FJGwVouTW+tjfK9LbzqS3/8pFmBj69RwLs\nGF0H+KMnkw4rUihPJJlET5yYLX601rS6HOnh0+8gGdOJ8G8FYOokz9Z5w6bd\nqrasLJ6r4ZGQCqpIptSgLyOtv1EJ+8i0JZyWBN1gim+kV4FMUWCt+aIPt8CJ\neJ4ncHUmHh3hj0P+El+LGQqThX8KUAMKEufu/Ku1xC0G6QB/K07SEjehhAtR\n2egc\r\n=U0to\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git@gitlab.aofl.com:CoreJS/aofl-os.git","type":"git"},"_npmVersion":"6.2.0","description":"","directories":{},"_nodeVersion":"8.9.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.22_1533928935323_0.3909031771508169","host":"s3://npm-registry-packages"}},"1.0.0-beta.23":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.23","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.23","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"dist":{"shasum":"f28c880030c0571af1784a561f42e58229fb214e","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.23.tgz","fileCount":3,"integrity":"sha512-UTSwrQbbST/InxpA+dhTxcU/qZlab9CEqk/BDEhRI1/6iMCwp6ce2udb/1V6e/MzsWxRM2NVMykoFu6vj5gsjw==","signatures":[{"sig":"MEYCIQDTdClLBkwrukk+7PeegRv94lmK4r9AL+WUu6BPh19YSAIhAKz6jjsf0KXKoT+s9I0PJpkQUOT/x412WGNfE77JviOk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbde5HCRA9TVsSAnZWagAAwnYP/0MokvWMSNp7FIyYzYt6\noUxomXogDzyUt/Sq41LFT4h2qrhgFL5b5qi4S+33imn92uwnz4Wy5eG08eJ4\nen1tRAXTrKS5xYO2ok6rXcPPLAy3CtTozNRjDIi6k7TUTqU80cLKV5lZPjUQ\nqjZ59kQgqL+qiucyuwxn2Pc15wjgvppNEMuB5DXCglavx1eXEsZObvBwF5mr\nRz+p5LA71Vpec0IzSOFxIxFGe0sbVXBNl1ArqzkDYJjkGX6YQ3IWksXhyeyv\ndmLaNTCkxRyRxQr6a0jV6gDUaURnZixBPHmhinzGtTPeuxDiTslSKhA/VBH0\nO8vJiaRfNOTX/VKWYgRz51dlA11+1/FOfUjBsIoIqNgHsrjTqLYUUtVSMhaF\nI1tblJZ3QeSzAWbCp738d2N473wl7ANZ57qYg1vOSMA7oHFKJvTGHZbobykS\ntJ9tyA6zZLyvWBytm+YJa7FLtx0rznRWDPSNBWR20Agxg9yZhNjsqre5Jw+g\naKjZrKRvkoj3rLHFBf9+3Stetx1exfHMaQUHleQJVo64XjZIk3pM0ZT1DUKL\nGYlhDCfKseco7jwxqK0tz/3+aPTymPrIZTd7cUWhm0AdNzeFj7h8GisH2KRa\nPeudXhSK0ubP4iptEU5mqgoQpaQ20moO5LGnBGJUvhKpUMc2GfOzCI/K2kat\nHrgV\r\n=lVEv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"ERROR: No README data found!","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git@gitlab.aofl.com:CoreJS/aofl-os.git","type":"git"},"_npmVersion":"6.2.0","description":"","directories":{},"_nodeVersion":"8.11.3","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/lit-element":"^0.5.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.23_1534455366990_0.8899166834951606","host":"s3://npm-registry-packages"}},"1.0.0-beta.24":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.24","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.24","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"dist":{"shasum":"9c124fea3b8920a89861e7bac5a0e7049d0852a3","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.24.tgz","fileCount":3,"integrity":"sha512-SCo+eaLcpC68B+LP/3uK/8Q6gcMij0wIPZ3YvSdBg4tFCsX7Ljr/XWpaVf1OAKmGVWl6mAYq08A0qCmareKwIw==","signatures":[{"sig":"MEUCICk9N2fe1AjJHHK7pcC7/fPnwzbGwBGH6tkIXsgZq1zSAiEAwCI97+7meX583s6kSZdisdMx9/jNG16R6Pb5hACb5fQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfeRGCRA9TVsSAnZWagAA5OYQAIrqKwujQ53vP0ay2PGk\nuz9RMQmCSHHhBQHWTMZnTTRZKCBVqY0NeYKMorVTFDvkA38pml8TxsnUSSJy\nuJCdkojjdT1/baPoVqyMK05Kl/feZRzEa5w4H/nUlhEQQicUkiStfNDS2ZkF\ngGF0nGxenyRgLO6hWLTZWQ/0z/U8twLV3GIobuqqstTRVlIX2Nntz2+wtFVS\nMFt0KwKMVrlerYI0oo1jsxQRiSObj/+tcL7tGQR8mqwLMx2DZpA6W7zHgQnn\ncpG85964PwwJf65M8QZbvOHpL1kdlQWNjxCicARWJvGFkSS1t+PpelZ+3v87\n5SxkWBClLEFYWwoNU40ZN4ZvzTphuAnAZDPyZMpj6lm6biBJjlFzpXoO0dej\nPWFOZJXvi9l81pPYAwis5ra9G/77jm5N4xk8m8egEeynVSlnhUai1wxi2tIO\n8a916MoSEalpdAHEEEq0H4zlyeQ3R25+KCv8nbh3zclXCDMk8hyWJIB7wuVO\npC6Gmyp0kvTPN4zInqiSZKuCiI5r8BJmrbz56SGF9qa7mOkOZqYNtQUW61HT\nQggc4RrS/LZg8VoRmqxJVLFTh/HGqm3+u9tGLeGIfNNR5E3YPc6WVW8yolFm\nXI5qXBRGlOjuzIGm0ckRUS03WH05lWv6ICxBVXjueUQ/N9+HmTKcLrxI5Pf+\n8YZ+\r\n=xtX/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"ERROR: No README data found!","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git@gitlab.aofl.com:CoreJS/aofl-os.git","type":"git"},"_npmVersion":"6.4.0","description":"","directories":{},"_nodeVersion":"8.11.3","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/lit-element":"^0.5.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.24_1534977094397_0.8292206115302378","host":"s3://npm-registry-packages"}},"1.0.0-beta.25":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.25","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.25","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"dist":{"shasum":"9c177c1faca1672854512f6976476434339f8f68","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.25.tgz","fileCount":3,"integrity":"sha512-/7j6SAeLKMv6KYn9FzZeAk1pP5MO4y6hkc9+HqXWXe366CRh7hBvORZgu3vcuqKvcGxPGZ2yM1sMWY/NKLWYUw==","signatures":[{"sig":"MEUCIEKtH6YZeeMXVcFpqg8PqAujz9yyVATSIxJh4VkJfttLAiEAnz0FcENBkx5syC0km4qQUm6EMsAdJ2nxZHftGK73Eu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfwqhCRA9TVsSAnZWagAAkA8P+gLGDRFVERytsunzYQFf\nG8xI5S7vP8KhpkW5HO9YLt4UwLZQCg1t5d7jRqmiUPzgnHTRahfMnUDCYGCg\nVFuOiks79OBT8OT0zAEAU+CrMz4xnTscSBcy1QQitZqfZWOXroVSUjUMq/xH\nfwUJBDTpZwuZrAWFzS+l4wsyGcWnQ+dtfStpoFLr7DU1ftbEX18QK0PYCdeW\nPrzm+rJ1BN2WYnsjyUyZFexhE/iIw9X4ar3GvsYfsKYFDYTa2JzLLG0TXTOo\nQ/vFYvHj0PQ3XZEZPKd97ehv6nv+nH3lsXggows6ZKfqxtXwdmfO1asbEqG9\npizRw35VVGitZ3nNPuMyQSlTpcSuqnZ1JyGr3xJCJosGEQnKgWCzZw7ZOnR4\nJ3sfvG91GICjZnBveBF5C9JtmSio1c3rTocjO9c50wyBo/M/pLuln+BsimdL\ny2Y3wFi+inBZtNBODH5YUWhZL3K3e8y9ez3eVApSh03EwdRyf2RlVHlSNZId\nihK0LAkHpXeljvxW/m7fTJRXGruZMNY7dKEM4mkuVT5HkMDbos6C4OlPAJgY\njZrsMwxMTVy7uCyuqLaCpk0MizXOO2Ro86vkQ4fijkWMH8ICMZcRRwR9e00U\nXP04iFjM0P4NkcGooEZrhz0hwx170hqb1YWTp+RzZIZFnhoVSjKq4w+HOIlQ\nYSNP\r\n=Q+iN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"ERROR: No README data found!","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git@gitlab.aofl.com:CoreJS/aofl-os.git","type":"git"},"_npmVersion":"6.4.0","description":"","directories":{},"_nodeVersion":"8.11.3","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/lit-element":"^0.5.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.25_1535052448813_0.7048231061195407","host":"s3://npm-registry-packages"}},"1.0.0-beta.26":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.26","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.26","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"2e0e25fa1d2bdd60135fb16c8a4ee80d7890c864","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.26.tgz","fileCount":3,"integrity":"sha512-R1QRBFKwd8Ff5Jl21ONA4nUj6vmXfM9UgpeJ54sG5IyLFH0S/IUZBg2y18uKHZFTGdHzB7Q9OkUPMqd219wHlw==","signatures":[{"sig":"MEUCIHPRxB1jVXWYuA9w7aGiv8iJShaB9zypua8EMJNo0Q67AiEAhh7Rn64vykq1RZgm8GhpmDaRWV5JSyxF+Ctzz1l4Vwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhEDUCRA9TVsSAnZWagAAMwoQAKPFmLeCn+WVHuUX0KzD\nVmU/TIS1umfu7pawGbRAgZWpf48tah7sxgJuasu38a0kbpVLQ/qPM9QXwUmY\nwaTzNaRrqqIiC6UHlfAT91Fkr4IcjIeNPeHbSTYJDoUV6WK1bCgc8HmSKPfg\n0Z2l07+W+SI+Fb/GaEOKFz6aJ/GB9P9uAZVhVFw1XmBpnzf82+SWEuAKIoOG\nRth+tX7pYMXOhNK0r4NN8XhgZuDp6Nwj+YoRvp3TUh2VxQiL4Qu8r4zZma9+\n5BIp48j8hPEBLkPWc9UubKHBBypTHRVIpRuq/pwOqJYunQwpACbn2e0lXlv8\n2IIHsk5vzU7tEYOdA/6IOGeVHjITG2gaLH3AgRwOjjTBcKas0j6faoffWsQ/\nUn48g5ZIit5+kYf/nltpxkLwRIlYABGzjJ2SZDBFsK7mQDMvsgTGJRuUKGY5\n4RiQ9OfYzY99dc6fPHAVu77P/iMJ6fuN5zJ1sVMYUEA/ohrlm0R1qfUhjfAa\nkT0K+wwi39stfbnJz0jphgnPLv+cKroHemW0xZYw/mqLuNQEN8KsFs8JYyFM\nya2pQCUUQNBtqhQA5JZp2HcnWHDR/VJehg+DAdEh8uTqyNItaS9QfD9FdaMo\niYIBXeSKaN2WPEpD9IJJEiDouYFjs5ADXDbmNoNC9c2OS2ukXBBbaFwsaV7a\nBq/V\r\n=DM5v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"ERROR: No README data found!","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.0","description":"","directories":{},"_nodeVersion":"8.11.3","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/lit-element":"^0.5.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.26_1535394003344_0.835760666818532","host":"s3://npm-registry-packages"}},"1.0.0-beta.27":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.27","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.27","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"babfd94ffa3f828f0bfce087e7d6ac702ab857dd","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.27.tgz","fileCount":89,"integrity":"sha512-96jYuRO5DpLqwsWQQwWRtrtk9pQOcYGR2QXJnn0INrI3Pr3RLYim6bxW4g5tmGsxOQVgKjuJgsHSaNWgXXFY4Q==","signatures":[{"sig":"MEUCIDfK8MbaaJEMR29zqZuKh30KDaAM5DfkJXJGwyMcNRrLAiEA/DMRZd6jJM8wMhfdPeh2KXZuxNgQRizk5FxTgVpbeSw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblvvzCRA9TVsSAnZWagAAdFQP/2KLkWp/bzH01lHHO1MW\naLGSX3KtG270ClLZUGp+gN4DnvN9NY1k69dlmAN7eHQoCfua6TREgDJyMqKB\nkpVk044IAbSBKLY8F177t+dbiSSKALkOcDwwd3UnZL1oS9rQhOxDmRsP5p/e\n9BKCfdtufzuZIjyNyG5JDY/ccMRimOJV5Ec1l3LN8rbB97PAUzrjwSNiQ3ep\n1vh/3biLLu+DypKje3A8lTmFamzEctrhS8ql0Dgn0BtMrYhf9DuJXaNEsCa0\nenT9XM9QTPbcH8Ls4XIKyPiji/IyqKhVhVf4EzVNCwCOCNdEIvzzv6hozs8L\nJmMwrb8Uug0cRN3TuALcppqIBF9QuzVAR0PKgI7xNJZKtht1td3Rm5wUxrIN\nTcNcaBEmdk+y7lifucpLKO2grWzZz1jZn4djNLkkIDZhsgnNH93zaxTPP0je\nOsFcrD1gar4ulQcNt9HRLNsgiPWeVYaWZSXbnpnHmQgtugGJHD9O+FRDsavH\nks2pFuYpwffXS3AICp0TDxXDUihJBrcTADYNM99irmmcdLV3Kn7tMU+10yjk\ncJ1gmbFcA5tgednB/lBA4qMldRirYdbMk4/8OB/KH4iGVRrJHgEhrj1j1oIP\nWcmHeWYB1h8/cSAtc++YR5kLaV1/6sV49U/r/i1uTiBBDQZFynzRScqbyLFx\nBatb\r\n=NS50\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `.po` files will be expected.\n\nA `translations.pot` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _n('more strings')`.\n\nThe `translations.pot` can be used by a tranlsations api or translators to create the necessary language.po files in the format of `lang-LOCALE.po`, e.g. `en-US` or `pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n        <p>${context._n({\n          1: 'There is one person here and that person is %s1',\n          2: 'There are two people here',\n          3: 'There are many people here!'\n        }, context.count, context.person)}</p>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## Methods\n\n| Name | Arguments  | Description                  |\n| ---- | ---------- | ---------------------------- |\n| __()  |  s[String], ...contexts[Number\\|String]    | Translates the given string |\n| _n()  |  variants[Object], count[Number], ...contexts[Number\\|String]    | Translates the given string, supporting plural variants |\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport AoflElement from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context.__('How are you %s1', context.person)}</h2>\n            <p>${context._n({\n              1: 'There is one person here and that person is %s1',\n              2: 'There are two people here',\n              3: 'There are many people here!'\n            }, context.count, context.person)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.0","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.11.3","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/lit-element":"^0.5.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.27_1536621554765_0.4271986772512171","host":"s3://npm-registry-packages"}},"1.0.0-beta.28":{"name":"@aofl/i18n-mixin","version":"1.0.0-beta.28","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0-beta.28","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"9f4255b46864901e7a885aa9cc5b2661939a6e2a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0-beta.28.tgz","fileCount":89,"integrity":"sha512-zCJWBHOBLBMywiO47Im0oaqGFtDts2obW1Hrw5AmRgXupScUcYGD6YOtSB2qnLpTJ5T7aAipOCUqRGej9KqaDQ==","signatures":[{"sig":"MEYCIQCWIa2gGY+VbRko6nX8kQi9VeAah0WqaVmunjvlTwmlvwIhALiy/9Y+cayA+XdUd1vh44PcptfJhQtrR4Ferpnx6Nye","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrXVzCRA9TVsSAnZWagAAAdMP/001FOibRiAGNlAZ5Rn6\nXhSTX+X6Ah9Nrjzeh1UNQSvbTeBCvF3EuWXGCdObdPyhGM21iZOrSRCM5//r\n0DTN4PBh06zWgeNMW6JHW275GZ3uBLtn4AvCwBfJtjG9DWtwc1tipEdvILhb\nXxbLbm38EobaTRPRAw4/qiyWGFr5nHSQYdzIfPcD+usaeeSQq4irPqatb0OI\ndJ/CxZpPuVrKZHeIL7H0Bt4jfzEAGsDyZQagZuT0R/SMXSqXSY1HH9dNFeGI\n5354sRtugvzWVwZhrbYR/8gI2F6T3XTt3wa4g9sUTVdCB7s5U3svTMOpJJML\nBgoMslMsY/ra9DaIH4fX9f1Bp1cFXH6GY+kQTZ15xweiRVmlBl3NEGA5S4kL\nppw/LC8M8rdg+8J6EOTxMnIeo0Fs8o85XxINnRXKv6M7pY94Oo1jzMFm0PX/\nIXrCV/nhE+ZLWGM4c69TCA03N7qYUickmp6mOrABTqFaw7/wZ3Miphc1duOO\nQZPbgQDnpm6InDjgOR2uCXLf3q1Lu8p1Rg4H5cFZQP8FhzouGdcGCCJkYCmZ\nKYF7ggiPI1kn3yqTXmDvhD7dJB8E0NOpKV760qHXM6FeEUsmVQeV0frkklPA\nY0/0QW6q+P16SnxiIyeTHCkVOO+0FknqMcWgMUWtYv0GkvYklyHRrrs3M/x/\nkYNb\r\n=RaTD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `.po` files will be expected.\n\nA `translations.pot` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _n('more strings')`.\n\nThe `translations.pot` can be used by a tranlsations api or translators to create the necessary language.po files in the format of `lang-LOCALE.po`, e.g. `en-US` or `pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n        <p>${context._n({\n          1: 'There is one person here and that person is %s1',\n          2: 'There are two people here',\n          3: 'There are many people here!'\n        }, context.count, context.person)}</p>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## Methods\n\n| Name | Arguments  | Description                  |\n| ---- | ---------- | ---------------------------- |\n| __()  |  s[String], ...contexts[Number\\|String]    | Translates the given string |\n| _n()  |  variants[Object], count[Number], ...contexts[Number\\|String]    | Translates the given string, supporting plural variants |\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport AoflElement from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context.__('How are you %s1', context.person)}</h2>\n            <p>${context._n({\n              1: 'There is one person here and that person is %s1',\n              2: 'There are two people here',\n              3: 'There are many people here!'\n            }, context.count, context.person)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.12.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/lit-element":"^0.5.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0-beta.28_1538094450369_0.44689330387694737","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@aofl/i18n-mixin","version":"1.0.0","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.0.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"ebd542f0a515ebecad4254949ef8ddead0c3a149","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.0.0.tgz","fileCount":89,"integrity":"sha512-Ls8TTm4hdFetLzuSA/Tmh6+R+WDpnEbvisPipCqOdyrc+hl69ROCklsRWirLNy2pOIEgsLgrwxF+YCqBcSFleg==","signatures":[{"sig":"MEUCIEsgmBOwU3ZQedqN1y1QtzNT4btlf8YYuv4ye1DvMHRgAiEA3eyCeQVUFTXcv94bgjjxohxjq6BpRc/akxtZoPh5Tkg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsARQCRA9TVsSAnZWagAARJwP/iFqU0i7nkDqtW5SowMG\ninsc/06kgXVtISs7SCMWSDGXIYF90df/q506KCmUcls3jp3Y+W8Had/BTdHL\nYZe4aWe73xTcU79SNTRxed2Girc1Uj47kJ+Wn11EuXxKnVxEw5kVketM8lN2\nSEEY1IautplqLTtXDP/4b8yVzNRKPRa5EmzhwICoFy2dNJHWllG3N49HjObF\nBmb9ShrzUXr6W0IfJEvrf6lPDZlMa+I8noe4N4nekbYC+7bxYWmTytb46TKI\nGO5pLnGUKftSQTpbhkE73Yi+GrZek71QHiPAB9hhj/MlLDgrNH7z1B43ODJl\nWZ54vTJEWFOXFoND/vSnoyRzX1KE9ZkX3Ja2uqPXDxlcKgNqmFDwmG7pUE1X\nLk1STv0/zUMj3GhSyX31vk7NuaK/qKbO6A9OphnEQK4f1jKZtp0Qcicmo34E\ncQdk7+VgJohu2tAyW218RiM1Ek/DLAWdms9B8V4ap7Q5tnY0YYckDTwJ85CD\n6l9ly24VPhZwEJrG2cCLjJq/s+eehtXzwqIhugNZTvkp1n01n3Oshq7AFp4r\nJCRjZ15dN71W5K5CnDqwu8GsswNwjFPxpDmYOEQmgi3COpcSuCgXT5oRvT+3\noSWQXLA0W3MFVxpVkFaufRkcmm2sj8ryEjRJiwDmyw78vdlAQ+wrlT7/B3BT\nC0Dw\r\n=MZVG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.12.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.0.0_1538262096129_0.2391189644374947","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@aofl/i18n-mixin","version":"1.1.0","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.1.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"3023f8c6e06202aefaf1371c3263ded5c3ae1f81","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.1.0.tgz","fileCount":5,"integrity":"sha512-bZO3h5uxKRyDD+BJjYd22ODro/HtaWx7MaV/o59AuzubWP4lQcC/YKlgBHL5Ol192McqEV/dqwFWTLl3pONZiw==","signatures":[{"sig":"MEYCIQDFMp921KMSac2n+P1DNIDemIdReXq2G6SJev/Pf8SnWgIhAPVObeadxifG/24y4CnrVbUWiUxqlEu8nmRj+LTFdtF+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbx7cRCRA9TVsSAnZWagAA6sYP/jYXlJaaA34tAOov731x\n5r3Gbn5r8RDycLvAzHCRUAh9EhOgp9OFfo1hdFx0X1MnhrGrL27EnS+g958l\n3bPkr/OgbrBeLIki+bt0OV1xfJ10EO9ijZ1MqzQoQBnMFhHCbL6GXZukHasF\nDKHTyli1gBzDbuyGEWlGD+fgdLWnu9JPc59SIQq9NLD46AcVoM8zyi1qolkC\nFK/oChgr1TnrAig8BvFdwZNJ8vGUAygp6oCIGnGk60yqIHfZL6bilbpZeGar\nbpywuV37bmwEKu+xQj9a6qVrWUeUTfWq06e1w9eoMcxRWoPXEIBvR0/J28tO\nwDMFZ4/rkHkJj2inBOwKyFC10BDjjWanGqaEVjcg9mOiakK6uL2tURcBnDhA\nt9fQ7pMIqxZX2NKg7hTMwhf/hkQJwAe2w/rpMqTQGuWHlSAmJqWdRjLIdzQt\nQdPjgCwGPcEXtd7y9x0jpjkhvWkMBORLB0/9dDdHpbKYTyfkOfhxY5dz/iSz\nAEnS303TdmvOsB8uwnfMRnOlD2MPii6i08NAixIFCjhdsSG5Fvl0NL8InXVT\nubDfsgNdMN9V1SNHvjy0ucZSYktVACI0vDWZyTKtTc4JpiF+rhuDbKg7uVdm\nWX+ENOK15jXFQp7558uRIBKpd8o/pBR7tESMF5CFX6Yrnx1hcZaQWG7UcroJ\nVrvh\r\n=dl1X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.12.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"^0.6.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.1.0_1539815184346_0.6165827621083686","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@aofl/i18n-mixin","version":"1.1.1","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.1.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"0dc0bbe4af0bb950c0acd42039fcb4530ab6ebfd","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.1.1.tgz","fileCount":5,"integrity":"sha512-7K2y4zqlEWf1WApVte325r+CZN1ZThk6h8gs8SJiU5NyfWNqQe+aSpVRJo8nkwEUMVH/9PVnmlIubmnMYxM2Wg==","signatures":[{"sig":"MEUCIQCMY3k5OEv71xoQfJ1EacT6JXfPWVwS70Z2/jhzklom3gIgSJ3ctDxa7VkvnB7vJnJmR6yR/Pv+JiXljQeSdP2HlaI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb12BbCRA9TVsSAnZWagAAb0cP/1Uoa3avYpFBQeEPIJ3/\nbpw8/1enRVgpXoVsaM/ce2kaY7p+qP/3sM13iqxNXf2G6QbjTFAXIXvYUQ9Q\nYPHH1/8YbZ2FPKZm3wqD+axQ0PIX73Yne8DTdjSinbX2rVxR0CSvNo/MPgAn\nvK4bOJb5aWGDNuu1pt1mQ5VXh0fK2LCaNdPgd1WFYU4Xn7gN61u0++Naeu8L\nPunqBiVWoR6uxZuZofNVVZU9wom8C4roniUoSqNWx0EOocDjbVBu0mIVoSur\nEQFPHPa2LAaT6DD3JuEvhBRIamayJINp41TbBqxK3pWFyrY/qmUXaSwWA/ig\nctJiTqbq9zhGrpv32Yu7Ep3ntyN+uDE39q7dWNSoR/VHy0GSk4oyDD+5G2hr\nPhu56qOZh1iwV3EuwXMlxcF0g0FITdm2cEsU8n1bS0LZYGi1AReTco7USq51\nWSBNDhCRg7JFo4cnKPOS3Wkmu4HYm0iPZMCWFL4JKucgA5gNM5n70vyTNs8D\n0AOAmoCvXRG6+qiAyWWq7IS9j9UNnyIyMmHFmP9nUhqJbPgtF2XNEvOEgbPo\np9xUUhj1/y4RdgCtvtDvPUwYFPzhm1F1czKpubEm+TLWZEbMCFGAVyMcYm8s\n+F5l9yDPbS7rMWbX2LqpHsh7zM8SYGnhhxZ7Nbr3dtnnXAuGeZVWXB7/F4Ib\nUKWA\r\n=j2f7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.12.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"^0.6.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.1.1_1540841562739_0.04732296371053035","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@aofl/i18n-mixin","version":"1.1.2","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.1.2","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"2c2e7b7181880a0ec23c4310011f64fc8615f34b","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.1.2.tgz","fileCount":5,"integrity":"sha512-vEW1KT/4dxGSmzOOA2ed08Ek6pdzZwtnWv+6n+qTI/DXlv63JA9fFmsdbr2ssfuNxikeTJHlwWIeJVMom7vVTg==","signatures":[{"sig":"MEQCIDArgV0F2+XmqA8oET8GZQsIEhsGXxMtZEI1t1sdp6TDAiBpnkXOwDqER1/h3D0DISByHllGXYKytP4sZHiQOQEdzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb12BlCRA9TVsSAnZWagAA24kQAJuPSgpDeOM+jtVrUg3b\n3ddh4imDbdGA2zp6pz2scA2wkUwNFgUtWLpwmzpJbzcw9Xj12oeWIi/dFeCI\naxhuNoMCTHGrOBS5Cnw/e3nSb7eEiZBFeKL0dtltg5sX/v9KB2LWUsHN6Dam\nygwpaNaFRqPBLV1VnGq5Qt9kK4kQtOZtml1sYwuow5TR4tFmk9sZCHwY0e9k\nG779ciKzSN+hg5hJLgNMYAOUk7isCC+5iwqCr2vR15Hlo9XJ7aNt7aX69JWu\nJBV6qFORJkICyrp9Q1tiHLu/j7iE5JdwzDcgkxSMs6NXdxPqzrnD62I3jFz6\nhoPYhcNMDmTw3lipMXVUh/9atyaSgxHp25O7A/a8Ld3pSsiS++90bT3jn5BJ\nfMBX0MwG4qOGKQX0s3U7vHP4lJv7W/z1B7pcNhMxTgK4D++ur6f+iTr1tFsv\nmFeefLXKUv+jNgpzD+Zi/v+z7P+V+FEK87cWaiJ75okqY3P953nUMz/TPKbj\nmje7OETU+i0ugtb0F8/cd2AhOg+wHogZ0D1/G6xsC0qKb2c5VfV7B91KVu1p\nf8xi1TtDWImsWiRoC4tzCWG8VjV0zcWh6wMewX7ypZpnLfIhnmbwh8/DyQMx\n26ZTTws03llJQaDRQwqTcMB9KbfH1hl8wWDEi6sSd2o115c8V8kO/uUAk8FC\nn0PU\r\n=r+1q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.12.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"^0.6.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.1.2_1540841573361_0.9736609030013967","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@aofl/i18n-mixin","version":"1.2.0","author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.2.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"0f894bf27f4b8592a588aca843f88bb86ea5a5c4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.2.0.tgz","fileCount":6,"integrity":"sha512-YdWQF0KKE5n5GN9atQHXTHyscwO3sA7S30b9f6t5FeRu+Ola7J6cLNzHqj0XVmsAUn7BxC0Z9082lnCCC8rQPw==","signatures":[{"sig":"MEQCIDvVXKVTEY4j9A0L+RNgBPGIjdsOlqxrkVu3IHZQzlTkAiBUkQOt7rhvMYX/E0rmLSyocjkOevHlDpxNC1+0CtZhQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4f20CRA9TVsSAnZWagAAovkP/1Tu3qHc7C7Gd/4Xu7kJ\nYpWj2ZoPF39b18ZeOVELPyINhYSL/3lZ0shh3c9Qwb/5N1gtDHfpKiQaiJjP\nrvgw1Vce6WPFyy3wMvGqYOQDT+J5QOn1kQ0emAbLXT3umuYr4D9V+JFGsW8z\nFGEA31ttbT5ghR6knnol5GsjvQPIOYsl1R0OQapheFfbdrRyH2VKOkWICwoD\n5o2xWepl2cZ6esaRdnWblqeKFThjd5koel6gy434PLY++6nh4PGNMtwNuS3J\nsEuZfLICfrlfX9N27ZVcKbFQRvwOOBD842GRt3WaPYPfk6URixqYwQjPR8wU\nNg66BMfFfyndcnKsvNR8JA2TdYPOoHMFxruK6eQ3p05WCJPdYJgnG6HHSxQk\na9+KShBcsJ0ce8FaUg0CkpY0sgzfjkiKWk8eGani+aE2jOl4oaDewTTs4ulD\nQN/5XUSulImuP6Kb5ILWkKVpekUCGI/MZ8TQDwJ4bWzToetVej+GqsubE8Bl\nMYsnFIso4eESOHUfWLo5cxJQMVoHnM5LxdYIOvUIdaT5/v0aBk0lzRMitbfZ\niPQdKU+mXUO7QglqIX/xHYgaCDIDrgiMAzf++rWv+9xqGHVpzxu0sYz9fz2V\nc0vzTBB+Jk9wTUc0nVYWWUjjqMP+h715jJoUyIEIs//ai61l9KcXTNwDlU4W\n0nak\r\n=WbF8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"The **AOFL i18nMixin element** decorates any element with **i18n** support.","directories":{},"_nodeVersion":"8.12.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"^0.6.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.2.0_1541537204057_0.9531620716891716","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@aofl/i18n-mixin","version":"1.2.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.2.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"aa89548a82f5cf45cc586536b0de64e811cd269e","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.2.1.tgz","fileCount":6,"integrity":"sha512-AL06ZN6k4YsOg1l6jgQDGf+IKFXXpxizuYr7/xNYe7Ws4n6diCqHRE9BhbAqBwK/0efN0rGkJDsPzfdaYJCaEA==","signatures":[{"sig":"MEQCIEAxxZa0SwXOoSgktFQ0CD1oMtmvk7Bzs1eJ8GJtaz+3AiA8562x+N7l/n44cjfSJbDdABz+QJk+q4PK91w2xq//WQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8dR+CRA9TVsSAnZWagAAN2EP/j5JdWWbCbWlMW9Z5V/I\nDqGBtqXIrhx4+3DDrB5TNGQ3yJb0/akj5Xz5LvsJrJQPjfnSmtb8bkucP+Mf\ncToffr0AnrUK7uswsRvYRUtsrZpyioVVdbtT5aLpYsa+B7bv3vhO3Pi5WO6g\nh0RdNIorLlGBmQZn8pn7OF7r/xe3U2ybsPb+lo296xTuqto4lCM0aqvcjmJA\n85zfjSSkAeB8AhqdiFenixaeziMbTYs68HTignNESkf4S9GHtodZvXPBQCJ6\nQJHAX2BjrkV6CloGUo1fYMsB8KH5miGXZKCMMrdFIaylvF72Y6fpSKrXy5Ns\niX1kwGTL6hpZyKBE5xLjwD7wH2s11pEAgrRtpU7CVAMLBDYEpKoB/XPj4P0j\nx6hmjFe6YC4DEzEgECaRDPEABAfGrCtRxYk4nmwDzpC0RakWm2O9SAb18hfi\nASkr+quVh/RPslUJdfRAty2q+gKPzn4u+RMEi61XozIpgUVJcWXbRgKDEezP\nLBXpGB14nTijRt7bm0JZKDroCwLHkRh7osbl691m3MYmKTQoL7MDxzJGSwXM\n9ssHmJmHBkhUYh0OFRPLlqL/W9wVc2NMB0VyhsQMXzJixy9IEeBAHBWR6dCb\nZHy0TOTO72VyjlOj4YYH0+GJOW3sNjWazyOKeaWJ1Pl7t4evr31KLEjtTn5z\n9jrL\r\n=lRHJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"^0.6.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.2.1_1542575229474_0.5616760753869723","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@aofl/i18n-mixin","version":"1.2.3","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.2.3","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bc7d234834ade545867dcbf2569b45c0706deb20","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.2.3.tgz","fileCount":6,"integrity":"sha512-9EUWfxhfwlw9Ek/erqEveVdkJaexb445I5luoZIu0mxs+h573V0kaDXvvhO2d9kTeDjJDSX1zv+oJwr1cJYaGw==","signatures":[{"sig":"MEQCIHwEMHhdTw6Kj/7rblkwTk/hdGP9SNI4zpUcqTdy6ZiLAiBezH2TnFzOXXi/ZZNTyd0EF0khiLr3MWegwekzaPzRew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9KLfCRA9TVsSAnZWagAAeAwP/iXRuCMDrQRBK1ow4Iqv\nyecsu42PPCSZqYE6DC0UttKjygtJv202zN9zfqh5qWDcNVccrsxO1c3Wkzo8\nmgGalEmNUNCSgWFTx6r329NWw9wl5t/aPc+vKGLZwf2kUz5N7HEyTTyMAGG9\nFrgkxrupM2UpvDt3BcH0q3ItJLPpUei/RzfW/G1Zo+s71vhAe0OmUVXYG/Ha\n4D44W+yiE+G7nIv7/98cUKDpveyZVeeVEONoMX/0aSdzB7QC9hvhAr25TiuQ\nOwvqsDMrWSwuDmbdXH9g2mkrbLi7hkaLOGMALva2NolfwmNazNN6FjaRCqSG\nEojqH7D7xYYnd/U90UMdKEg+fyx+MhMJb5p6ErLTo0Qbb4vFVawQQV/tGGI4\n5CKez9W/rFXhvV9aIMWRkpK0GSsHsuq3Lh20oDtx5hwuONMkVc+/t0oVKrN3\nhTKm5ZW+rUkhQxGdgU85hwiy/Rb1Fyk8ArCeH7s2OX/vGl8R591u22kt61aS\ndnvy4uEmAiSAOiOYtkSQ2MnB5WYUAWvzB7xVghKL9JSnWMDvDX/+hRgd3X1H\nyd2SKmKVyO76HqKOdiHw0LWWRkuxVJBNuSu6HMF/pqNl1YEA7WMJ6oISbKjq\nrkep2YqVxPO3JcNfWmE4keict/Mf5OVpk1gHZ67yLD1FEyQ49c63nsiZK1+r\nVIi4\r\n=oMhH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"^0.6.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.2.3_1542759135075_0.902071357576024","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@aofl/i18n-mixin","version":"1.3.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.3.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"2aca552bfe05f27b88b5e9636a00a5b797a7eede","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.3.0.tgz","fileCount":6,"integrity":"sha512-zjQMCjeKxPx9hJCVcMGTshK+pxQK9Lz3a0u0Rv1oWf7i9SraAnKkUKRD5sYowbRcwn95GBIaQqy67FNURFI9tA==","signatures":[{"sig":"MEQCIGyEtYilmS830Qy3jsYxhyJHU3uU3rg/6ohhg7JMtf3NAiBQduUrk7rHpp/uBbmFcRRjZ0wAAE53ROKC7xLbV8Cojg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCY3GCRA9TVsSAnZWagAABboQAJoakk9iRbSPg23azGST\nhO21hvdH0nt1EimFenO7WompNSLp/AT5vmco1dO7DJpREOQvrMafS/cWkp2E\nmZJS3RwPL8JoFIAYT6KEwhMQlM02BKzb2ApSoi3gYtuQqULTPlpizt2NMoq7\n+Jzpz3ROe3GJMGbuWK1CowoonWjKY/VkFkoTHDlFI88toASt4BWPpevkEuEU\nn0oZrq6YZa/5tnmP9d1GxOBnU49gip7XnuMr/5X8Mpl2oXTjteu8i4CFaACI\nL7NxDSuwo7nd4s5C8x5jCm6y3GxDbBugfzpq1YX22r+7J4C8GrWaxEUGPgRp\nCM3oQNRJSgcrVCqD/Gr+Z06eUYHdqOCZwmCGIDFX6X9STMgEDXahZFWTNngX\nJEaDygFibZvhH/0huT8WCaGHZJ7uroWYFkiENGFXaRzMa/lRKedskN9lCXhl\nCZVr0lkjotE1ii+cJ/JSo442bzGrHwdzA4FiavIEUU+MpLXqFq4gD291i+XA\nLK5pvBpG6d/G1OBVjwSMx6WRvF8sIJOiSDfW+/YPxaxm4oqdZ3w4TtyZGV5z\nMfH0GWrdRs5bsraOQx/u6BfNWKocl27Uwhm/mVAKOkQIErRuWznAkck6d2AB\npnLNf9KYIZcPNJ1eRGt1WC/wBETYcx96NtousjrY4rqnkiQPpsyAsimF3Znd\nkzv5\r\n=w/af\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"0.14.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"0.6.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.3.0_1544129989273_0.30203163080096385","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@aofl/i18n-mixin","version":"1.4.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@1.4.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"81492954fd14592f5852681137c821cce7f1775c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.4.0.tgz","fileCount":6,"integrity":"sha512-KI0/ga9pAEjmTQEaOhAE9SIlYTj8A72Eon4rK/dpPlHC7gMMhgiCetv1etlzs6ZR2TN9GiEoNHmjMGIXY8+pBg==","signatures":[{"sig":"MEUCIBvB4ihGLk+MrtjELp1Sf+n9Vqreoj/2X9Ty2XbvQDVTAiEA/fcw79mp1vs40JdQQo6RHW7xOTP07j4gkWfzE402B3M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJYzGCRA9TVsSAnZWagAA5TMP/ijxxLjUeY744kBlKuq5\nj5QtHRRHJ1RS+6P1PX29JNHr9ssyn944bUhsQU0pHPzA9g7pSixzL0e2MtzZ\nrQroIwvNC4KoMOVV7mdkptuOuuLM+ttemckmRSVHpiUUZTbzKrd25oMJ63dM\nvsjkuN7tWq5akycRN6c1PEP9CpCkHIHipxGNTceSUbMqEPw8EtBzsUUi1Fl5\nd23sN8L6xwF3U1IueUPBZURjxIo9s0drADSGjpaM+9Ba/hE1QecTWERmIX5U\nM3W2xPVBmrkttX+ZN0+6A+NXLgUrWElRkFRGI6ckXzNB+CdG2Ty0sbjy1QxO\nkLirTCo1jOsH4+YVoSoZV6kRHm6RyVIOxu+Z6Pi0nTsPUx355qhFx/oFNCoj\noxB1kjHzkH8IiIhexlxuymPLo5zpEKbvWbpSl1Fidp67l6eCThuHRmFI8Qb7\n3plGQ/uSVgFX6hb8lYheIocuRmEZoc/OE2+PrXTpmIqenNeJ6iPe0lPWFVHD\nG5o9mKMHc0eLO4avrhslZ3p+x1NqJxipRDjfE/VOMXWf41Zmkogy6808oD1e\nTSY2VbhycOVypPB+Xjpjm/op4uIbsuA2K4P9GypiA8e3Uobv0kgw2kLHCY9Z\nRLdnQRXGq1i/MwRE1tgcOmMDI5nWDhq9cAnIfSj9SaDGyKrlZvNK0ncsrm2Z\nElxb\r\n=AXAD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.4.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"1.0.0-rc.1","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"0.6.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.4.0_1545964741339_0.11245098714799573","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"@aofl/i18n-mixin","version":"1.4.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":"Arian Khosravi <arian.khosravi@aofl.com>","license":"MIT","_id":"@aofl/i18n-mixin@1.4.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"contributors":["Daniel Belisle <daniel.belisle@aofl.com>","Micah Blu <micah.blu@aofl.com>"],"dist":{"shasum":"4aa4c9cb1c50daed5077cb63eabb5514336e9148","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-1.4.1.tgz","fileCount":7,"integrity":"sha512-nqB6nL7oFTCnxblOlKeFcV1fovUOgplfblu87wH9O74tDiU51n4bEJho/GiLtM5jmvKhX2wY8uLMOkDMoliR2A==","signatures":[{"sig":"MEUCIQD4y1WvM+I+rnV9roz+RUWDSYMhK4thsr/y5TWipTbVXwIgSU4Nr5r8TOqxTaWl9TvgkmDYTNVhZ/bS+jDc93KJ1cM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcM5tjCRA9TVsSAnZWagAAg8QQAJl1sC+p7hGdWfs6bFsd\nKlUwm0SPG+4Vce0vOTgcZK1L89vkrNintIwoFmQAg+jDhYOBYvESegIzaMIY\nXnO1rvrnq7v+FpZbu9H3aqhxmtn5w/2j/3SqpkIpffMgMe+BY9xZfGNv3GjX\nd/dZjEk58rE+hI6YOciu1gyQIh9y8ltRl//h17Y/bHLXDK6Yg28m3mF0eKYB\nVf9o1pgRNUiwO53gD+sR9Mj9Mu13bM8tPCuQdnEyDNf9CAgEzA+XvTEBINoX\npjbscIOU24t18wkV3kNMpzBOrCFeqWoNPsVEPp/wMr82yWCRRYm1Md7jS4HK\ntvRCyjcAelNxSGDqC4gLAOiVVAdfZ4MGYrL07lHY+7fExV6Tn5avmUwqG8AK\nzZhg3ibCZgR8PxZ+u1RQ+rVEIBuMijujQIinfi2+xbcenC0Q/O9RZBwBKsHW\nbC0OQY+B0prXvnCouzxOAKa+cYU6IKZ0OlM6rVNT4hHjm0t9ggG01HFvhJkS\n+tpsYrvWJyFGIdrCRCBs5xsimSH2foWjlopm2p0sTG6oDWY890q9Huc7NbbW\ne491p48aFxWvaKyLa4nb6h1o8gJwmTPAFDdiSyY2H/ZqhIfA0IthISuUArY2\nmOlPVFvRS3+5QXIh5nLKmPkpcOXX9r1yABnarqh5YqNAlscVV1WPP8UmFjzv\nfMkZ\r\n=BLrA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"60297b316858cd061ea1c221a7e04406b910ef38","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git@github.com:AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.8.0/node@v10.13.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"1.0.0-rc.1","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"0.6.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_1.4.1_1546885987244_0.2633277382025929","host":"s3://npm-registry-packages"}},"2.0.0-alpha.1":{"name":"@aofl/i18n-mixin","version":"2.0.0-alpha.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.0.0-alpha.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"},{"name":"bill.salak","email":"bill.salak@aofl.com"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"4b282ab303ad2b378082796206a8c19657207f6d","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.0.0-alpha.1.tgz","fileCount":7,"integrity":"sha512-NzYyS7qr0w+6OdPGf0Z9eTRKdKoW4OxswB9XEmu6RYBsqAsm7zexynncGYGk1JZQfrxRohmI07jgtbpcYQxONA==","signatures":[{"sig":"MEUCIQD3kzo2CacjyLzDNvRXN4L/rEY/VI6Kam9pY9ZMdN24XAIgQbrFpMkEY/viVfkAujWn3GuAEgfT+yhM1OlEbcjjbdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcT7IwCRA9TVsSAnZWagAArQ0QAJ4K0wjnsQJWb/wMgrtD\nxnETsUB+9jCWeITpMolNl3ts/fSK1cADUoaASpY+m5aLPnkpdKNTh5SAp8oj\njo/dS6eeaKC/K2FXayogbY5ydVIAR2ybeIT/CSuuNNJCGS28HrsNewzC9OR5\nD+Qb+mYmp4sDIcpnPxuR1H/qU6Kgg3QnJqB7cO66wJQixthFPiR68avXDxRQ\nfurHQ5NZeSojkjqC8Ytb+LNj4YNHKCs0nNuSJwq2SBnt8xvSUk79SWCRv1jH\nqwzxK3+4vANPn5JylSJmkx47sRKmzYyY/dec60F/CEfr2zH8/agf/4H3w1WP\nuZg/zXnm7zhAv4bpK85UL69kKDCTLeGsSVYYKpPjslt4a+5qk0Y/esaL4w+g\nfLRgQCwGIpOgg/hO/GXb7OmNfKkdNWMKfupOAmyD/jpPdK6D1o2O21J26bB2\nw9INXxD24SghcLLXlevWuiVlBTe3MdH2FWGwRms47KsOmCJ8NaIxUfGsTNaz\n8HTANe6RqrAYt9tDms+DPo3Rk24JfHjqGQKHOUXcitytTAuSgSYw/hDGoPSi\npKEmW2INA1aqtduqCizCQSaqKRT5jv8c0T4imuoCGMZlfuo2ZBfPoHXIbFiB\nPGbZWW/eTzo0OeM0XYpKUsO9kJFqbJr5EP/ybO283/wGdX4VlTdceD6iijWF\nrzDJ\r\n=MUOp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://stackblitz.com/edit/1-0-0-i18n-mixin?embed=1&file=index.js\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"afeca11d48651d7710e6942de5fdad812d9d87f9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.1/node@v10.13.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"1.0.0-rc.1","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5","@polymer/lit-element":"0.6.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.0.0-alpha.1_1548726832011_0.23553338411763391","host":"s3://npm-registry-packages"}},"2.0.0-alpha.5":{"name":"@aofl/i18n-mixin","version":"2.0.0-alpha.5","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.0.0-alpha.5","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"11103f0103a81ca63b034ccf04c87ac3a98a51e7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.0.0-alpha.5.tgz","fileCount":7,"integrity":"sha512-iJVz9zW3nNlXdPTeUuEYYWkljfLOcQUqDVnpTANhERan4GZEIhzY90JiUySa/N5DTHRr3LlLrcCqzxuzrGlpCQ==","signatures":[{"sig":"MEUCIQCVoS0DP+u0l27tvsQ5fXghMbhiI0TeNtb/q3Kb4KdsEwIgXIm0o6cllXTA4LDkz8ACCcImXL9JEocwgoD6B7PC99Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdciDCRA9TVsSAnZWagAAxDwP/RpGeuvnQTK6Gs1GcfFR\nZnGO93pHGx8MqMbQD5SCqC/VEDLgeLdIvh7LoC7Hecmiuu3QEgHu54sQDH/o\nhZHPzB6kdiE4uRv9EBOQQRhVSeB4oTklWP4zGSGKtquB+pg9mG5bBxTjiXiG\nobDH+MubvSLpTpuMM+ovgyUV9bJKfKv6M5P2EcydqPTPyllU5lIYDrRXZEfx\ng3rKLXAv0aq4a8MUwPrfsDkuK0HF+B+m2UIOjig9EuqcuYmKp35bRzhAucyT\nim6Nme+EDYuBPmfVovCiobRjig+41BQa6gwKOUC8lF1Vc2CC4EbsKaoLZHcU\nNwtQ396jrSONkeY4SpcVt0QoA7XQrZjPf61qCsQy5VdUAgy4fnEcHIYk0zAF\nZf0N3k9KGNHzFeG6wW9fafHb2jnSqvfO3qZCxwVbh02pnysi7VvXPPXwaJtH\n2r/mQgbuyhAep6qW9otfjot5GcLG+ZXLmTfqfaVKCVwGbPqqCUBd6AL30C1D\nWGCUmwEdfO2AsYP63hRR2pmvBcX1mFxQv1+PbRO9qRDUF/VHQgNoKV6C4u04\nZRBD7KXBJAbF4T1ebiVsqv9tWp8RgKTXXyxtiLBd8OM6U5hoI1AY7wzSKK/X\nM/cDvZ6XqnOiWzZFOJDzHHD1hRldnnaJTYzev8CPGK3Pvwtsa8i8dJvxj4un\n69vf\r\n=c/mE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://stackblitz.com/edit/1-0-0-i18n-mixin?embed=1&file=index.js\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"00d91514e0c953e8cd998150ed5705b87db20b39","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.13.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"^1.0.0","lit-element":"^2.0.1","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.0.0-alpha.5_1551222915392_0.8447054357679742","host":"s3://npm-registry-packages"}},"2.0.0-alpha.16":{"name":"@aofl/i18n-mixin","version":"2.0.0-alpha.16","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.0.0-alpha.16","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c6db28663e69530a97034cb0bd074ec06cd56ecf","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.0.0-alpha.16.tgz","fileCount":11084,"integrity":"sha512-8GKFReAS8jIjHSb0R/8SZviT01gILlWmah82qJ9h7MTtnMOe05nYDcz4smOG5Pd4HeOwzmmiYYQzBagvBCvGBA==","signatures":[{"sig":"MEUCIFwMp0UVoM4XnoIekjGusQbhXHIAvyLHEGoRj/CJZnEYAiEA/0LQXYZAsgU0GLxKB3dUuKMVySBgirojiivSkB3hpVA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48961654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwhEmCRA9TVsSAnZWagAAwLIP/jH6FvDMxlDIiZAZZSEQ\n9lDyYpAJAimphZJXE1dLlcj8YPkxNsG/NuUKhMHzIg4UK7AqlPNf0XxEPnby\ncXkptk+JEho/iUH1lBcCnz/G/hwvDwqdXcSghn4R4kLiq4oAkNKLOHffRyix\nHYEGlOBFlt97lW5XWiv3OUyK12JYhVw6BSRtqA+f1A5uH7w8uBSEKPbv6p5U\nm56GxTOnntQUyJS5VBeQLx4srW7yFUQ0OFTOX+5JSrDzyes4Ip0BGQ4KZtfv\nzVx0ph6OEtQMVln75+xBVoFuzR3EzW/bKJVLa3QLp8ZrDoGhD//mqxHVtHtC\n3bkjUMLLib7pwF6YdsllmUwuL/T8dHETGt/3B0Jbt7xUEkoWVznTnpeKtGn8\nOLdqBG6YoSifqoWDd+XI7bFYwnTBne2NfAJNjca8z3xWPNmfhtl2IXJx95xq\nDUjk03z+cKM0pik/CKPkWDbAkEDgKTzl0VRHQ283yLIbzPvBcz+88QbvEqfF\nZJGjvbk3rISwgZ1PzSlJlI+A4OwRho4C1CEUvIZaO4dgYa+0KmFgZ0PXB1VS\nCYMMLMBHTP3daftUFAsvk/c9E1jG/kNoVB2SD3IYFUtaYqse75xBna9bTEEA\nPIfqNheAeL9y3cwfHyFkkHfxehtjTIxyG9gnBY0+16DVleChjVTgJUVtmC/i\n/Kv5\r\n=dQbF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"0b6aa717a40d408713b5b981754243de8a8aeb55","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.13.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"1.0.0","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.0.0-alpha.16_1556222245778_0.9434261925459888","host":"s3://npm-registry-packages"}},"2.0.0-alpha.17":{"name":"@aofl/i18n-mixin","version":"2.0.0-alpha.17","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.0.0-alpha.17","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"d12e24f482d95b73dd8aa96943bd35147aac0e01","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.0.0-alpha.17.tgz","fileCount":7,"integrity":"sha512-fQ87VJ7rV7cicjiCMTnSMvlDioqgPX8WeOeke9QuT4dAfT6ugpQOmEOReC0XvkkyQ2eRZ1VaW9O5JfXHcz8wUQ==","signatures":[{"sig":"MEUCIQDQt21VqB2v0URPWWofGLLx9H69AKZR2JckuIHfRxkizQIgItRFphh4DH0VIBFQOKFH+4q82+5VceCNFKJmCNtbKPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcw09/CRA9TVsSAnZWagAAZEMP/iPIYIGK6HwYbW2QjqDk\nfzKMBUi8VY75H2KZWo1NQ7/NOnRd/y1B/6LU3YhvJLcgwL02prAZPyfZU8Vz\nmTeEPmqowmLEl1XFrfLmzsFtu8gEPsbE2pM8hnSU0F7V295OJ4JqZ9lqD2tc\nkQoF8s6OBMvQviuPN6wJue0IQOY78tiCTvHGy5bCriIvG4A9FNxavrZCLxu6\nhygbXX0Yuxt68DeQHPkuaV5sM0V1KkEIKRGuo4c2iPl1bQcVosaeqQmB7Lbv\n98FRASb43OfAC6BVSQ0r7Lx4oncS3iy7assA7K7qLeu2BwUSGjSugQzkZA1B\nLn4E7uwcdxbBI/9JJnDVEmx2OOkH7jO5UjAvRlW/n9fYy66Xp5rikSEJxL4l\nlgu7RTBZw2Fp35GuYcYKSkQE05PeibzvhhDGpcSgvgWTyZv2HQSuYdjGSYVI\ngC+rOefFaFHIIxgHb71gCmcBF45UVVkAMEV/y9OUAOj45khjADiSTxrGfE2+\nVQAZtle4nCR1NwRrc1DfYTuxOjtDCA7r3XBu0t3WkdpEtlVrpz284GIRCqDM\nG/tueufzcZSMqRnhUNVs+BqnGgfTbV0nHtTOQ0IxhLFsSoewU9I0w9WcXgXo\n6oPFpM21RnR5ypmBb1441vQkl1af2bsedW/a3d7VQ7uJm1aeF1STjn+cSebn\npNti\r\n=YtPE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"6a396437dcb380ba2269ac50a5b3b88e54f99027","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.13.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"1.0.0","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.0.0-alpha.17_1556303742796_0.3656420771410356","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@aofl/i18n-mixin","version":"2.0.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.0.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c10bc13c880e724068385d986e4e4d6aadf2aeae","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.0.0.tgz","fileCount":7,"integrity":"sha512-JslvBQBylH6BXHDWMBXe97/BJMp4peDu/xB3v4qg2Kq0BlfR/pc6RS6uuvriuaw46FXMPmVAy10EI0Hjp2zcfw==","signatures":[{"sig":"MEUCIQCjBq5LZe9iOOJJlsO9JDFsFl10BauA+pL0OYoA5PbjHwIgWEDPjILm/jRogwxu8/ng6jJfs7bHFf2SF5ZIR9YImFA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyKKaCRA9TVsSAnZWagAAI2IP/0t74ANOJDnAbRCxH7nO\nHZ++A2P0LUcxVDhrzREBAIO20D0kh6GpagfcbkH3wXPPCNPaghXkS3Fx8+h+\n6PgWi6nu3ya+pmQZ2mYX9slXN1Y1gpMzDnHRvzGeSuY899gII9rX1V2g1ChP\n17uRwZotn2GEc6oyxSVOtGTVuW2MwBbDFmdBF07yqA4qHQfNicB11bbwjXNh\n31uvuxr4aTHYqa5Vfw2NLE2/ASN6QY2jhxhdHxuxM13QjNHnEh12IFK3QGei\n1TAhtZlUPsQoyTIMB3gKMuXVeFpwT4dfb7koR9e3doqqjNzRiKyGo6CwLcNN\neGc+klfZ54yIXSRbKawT8SJLQdfyTy4Ivt5VB92rP3JZFsx9pZP1rccSLRtD\neZPZz61oloSor3K5Zl7QeI2ADgJMd0ngVlo7fIBdn6vsZLK01S41bv/OFU7Y\n3llnQlki7E+hDcaQgeWgHTlf8+8T0+mpQEBztzMHwGGWzawKWYS3QmdkJznf\nKWl7jdXE1MsL5Q/AXc0reWymK84YOkyhmYVmR/PBBih071NcUU+CNcHpBkq5\nC+KR6ImhiQ0lonDDwfRQyJALtRCpTO7tEM3x/xWwoLsMCaCyhd6TF3v6SgPs\nPzcwBOA7rXEy2fnS/dNCBqc9Tp3sJ9pTdzqFh9pi5zTBLn5xocDf5ReXIc7A\n0g4i\r\n=FRez\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"91b9b3074f7031a51ce7afa9b542ff5dcfd64997","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.13.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.13.0","dependencies":{"lit-html":"1.0.0","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.0.0_1556652698001_0.15586313908828742","host":"s3://npm-registry-packages"}},"2.1.0-alpha.7":{"name":"@aofl/i18n-mixin","version":"2.1.0-alpha.7","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.1.0-alpha.7","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"e6cf7b283ff833b267b527c28c7bb82a70a183a6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.1.0-alpha.7.tgz","fileCount":7,"integrity":"sha512-LW94IPSZTYddML1M5WBsSqqTyPVuNPXIwNo+GwMagKlbjo5uK2ph6Q8oVDJQqvfoATVC96idXkO1rPPXqFrq5A==","signatures":[{"sig":"MEQCICVaO/OYseoJEjr15Z+uAVxUDQDvnfGnMlyp5Tf8iTwUAiBRt2gFC/rzI05QY6sXCCIYmmWhKt+7a1VdwOTjVl/dgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWN6hCRA9TVsSAnZWagAAOyIQAKT6+/vRZyIMF88Fsgog\npUmQ+VftmmAWkuKFfKwyYQMQ+nOly0ZaENLfVfgr/EQeyA3jqudCxjMPoiuz\no8DAHQWlgpr2TggUZkpN+PeSOx4K9RPtN5hJSAUWqKIUzEQX6end2nm1+4nG\nou0ozlDFHkfz84MeeBl8pQlYhot2tGnzwrAmZth6JFtJNX67pjfLwr1JMZWQ\n4R+QkTfpzv6QyxBag8rX2e115oEWVVGI6NHsCz1jRoWZRwZL7okYiQFBomu1\nuk7CIX4sp81Lu6H/pIX3xJk/AuGM5MMgx8YnD7SjbUb0W5LKF5wDVipdeg4Y\ny6+Yf4DMPHs6FMU48SIlU9z6jNB8KkbLQ5+TR2UGwHhvF01EATR6prQIbEHb\nL3YcaA/FshA1Eh0GHpYCERTKYEqp9YZ/ojfNc3IGLY0PYnSzYZP4Udjiv2yJ\nuDikYBxitQ5TM5o7ReR7iNtOugqKSS3lrD4nkTvpynkjNsvCMSzilSa9OyV4\nVfjYLsn5KVlHR7jdN/1o6/cmrqNAokM9E+2nA/rN6tLK2EG2ofU6UxO7ZYxz\nLs+fNsgOgeUJTD/vlAPbV+NmzZVIC52lLiDn0XjvJN6yz/mak9ZJP5U3/13I\nwQCnMJlCyMysO97mY06L6CEvp6xkv3JpZDvWGSlGovcTnZ8e4TtjXj3/WEy8\nzMCC\r\n=Pe3y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"2f099ccc2fb922940a644bde0285f82c2a39e9a5","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^2.1.0-alpha.7","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.1.0-alpha.7_1566105248827_0.9445317759516692","host":"s3://npm-registry-packages"}},"2.1.0-alpha.8":{"name":"@aofl/i18n-mixin","version":"2.1.0-alpha.8","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.1.0-alpha.8","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"539337b0f5e27c7e709abfb8ad8271d2447196ad","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.1.0-alpha.8.tgz","fileCount":7,"integrity":"sha512-0pPjMJC607azsGGzdUW1kPusrTOVeffF+7pPBE7LLSO1EfphRDXU7F8+rW/r/Qa7S08sYjwkGi72oN+Kwz26xg==","signatures":[{"sig":"MEUCIDWIgG0oEaGF5vBOHNLyuYG43vq3cP45PklbnIuWWMxmAiEAwm+3sSwrSztFj8BB4KNW0VNq9nYMRKgooQ6eeKdWhYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWOjXCRA9TVsSAnZWagAA9hEP/R1G+lJAzGUAeTIZ088t\nRqGLKlKFcHhIHkTZONGNVZDD6NfD4dIeC2GfKIKo8YixtenGmAhSSEuVVgNb\nDdmhMveURpxA/320++OxLdHghYKhZXy+yE/IpaCdlXJ+gTqeSRarvJHZ3xVO\nbPnAN8DMtnaIcQ9DCAIS1MIhNNNUpzeDqvp1fDAXUWSMqb9SFZMgH9JiUyEV\nV8o5vHlwt/xD3JSl0TL9GMEwllu8ObSeDTFbXxGt8xdVhN5BP4YQ6KsimHze\nJZ353pHUWqf1OkVb6jrBhuFs7hC7ZNi/rEaqXgdHMv7d6KBzriz80WgZHex0\nEnQGNtj/7In44C1gNZoGrd5tbDz/9cOGgEed6LZSRAHqEcMFJJCusZQXgRCY\nvDNZeIwaztlS9dmoQh2POFZ6FYHLrHb6UHZCDYtO6XQj4HyRCcSpEtLFJGFp\nd46/xEgu3fnovb8feR6CfPGP6LnYbAUmrzdwefiqTUOeR/wDgSYd0b+V33gK\nWX/qxBOpyWojao1mu6RP0Gg3VWxel1nMTB3xRe/BSaegTDyII8O6kWCznfXr\nGx3U/SfuAlEuvYdy5bYM8YsXKfhz72JTKwbHKf+MTilTCHUIJGz9KcHr7rL4\nyE8FUz3F7u9IofMQ2wFF9BVos433Y7tmlcSjSGu+vMIrUN8CTxztcdM02LDc\ngav8\r\n=+9NL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"e8049d92ada102cf1ee59bb1ac080c091a6568d7","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^2.1.0-alpha.8","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.1.0-alpha.8_1566107862295_0.18917281548916587","host":"s3://npm-registry-packages"}},"2.1.0-alpha.11":{"name":"@aofl/i18n-mixin","version":"2.1.0-alpha.11","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@2.1.0-alpha.11","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"abbe0120e35a5a813099bedeee9b8c53cc602a89","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-2.1.0-alpha.11.tgz","fileCount":7,"integrity":"sha512-5lrfrifh68QJBbOijwHkiepZqHX39m+LUQccRLWx+E6MLi2s4D9ZFOLwAr3q4YUaxYcJlOnwWfcPzzpQ3eO7/g==","signatures":[{"sig":"MEYCIQCbuvibbqYtqQKCyw3rhWzn5bJ0wQ6MegXo/X3vVifrlwIhAKFmBPbzRBuaJKhA5qC2vb5ut4SfCjxJhBlXKBxtOQVv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYE8yCRA9TVsSAnZWagAA7SMP/jwMCtAAXDCuUNfS0u0/\nbTS/YikgbV43GFB0Od0Q14TlSdlVWKNjMrP5AEnTWRBQAXPnTTCpUsc+jZjd\n/yDKDWfQqKxfvyaCq7KvwOhXDWIuhMBWlnMCgrviuIqy7dgAAM7Pmi19AZVj\nOqAWishN8onDYb+A+vbUfyHUVIK4JDSu447LhnG/GCQsJbwyhkqicIyzPUfd\n++bIOoNKaEMLBESQ82mVeTi2rLFuHe2v1NqzbhO3FE1IzO1xDyxjlg1i/IOf\niZUL4VMjFXV37vwAb/00QIQpskrWPqrpArVmkLYgTZfl8FySDO7iLo+It62Z\nCbDh4DkbPnV9WsYyclSZnsvu9rgHsujTU9g534P54V7DYIDUhlbpvdCwlV5B\nT05GYEsnEwBZvRrNCP16h8Uy1gkao5iDtwI3Ce2SFUXU7/A6op5miB1ej14r\ncCnnI4aSZX04kFUMALzlRtAzLm4T+A7wUtvuXljqFWoTDHOB7vr7kEOeGft8\nFZD95O4r1RgO5xakfCd0kx4yzXIAVA7P5KSRquHr6tvbBGNnycAQx4N0H1ur\noPtm3iz4O17fc0yfpUU9T/374MyNzLxMsLGPs+wVNNqZUA/Tyxtyvzzg+BC0\n8hXLQvgT9r2neL4bh7d25wq45ny5onCVxeuebroxXU1bzgLozvBdAGgBVgsW\n2yxM\r\n=JpLG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"768275bdd77a3eabca1a761315e240fa6ae09157","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v12.8.1+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.8.1","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^2.1.0-alpha.11","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_2.1.0-alpha.11_1566592817375_0.03833307594401014","host":"s3://npm-registry-packages"}},"3.0.0-0":{"name":"@aofl/i18n-mixin","version":"3.0.0-0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"6675335a67d530d377a84df27dc98cfbef96c9f4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-0.tgz","fileCount":7,"integrity":"sha512-XYLnIHilYjak21hqARK2U79KiL+sYl2yskHQi4dGnlOtCvjR3p24xYR6bMi5tFR24pegIGC8w8sg8kiiFplgIw==","signatures":[{"sig":"MEQCIEXsRlCa9J4TA6dlcGroyMLIxaF1RlRxmMQv+0v8Fhp1AiAzxUXf55CTTNPoDa0fs/HF7EmsG71nHd1Vfqj9P7lKTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgG1+CRA9TVsSAnZWagAAlZUP/iHqX3puvp+hgT0K8jLj\nuhunVHbeGx0CPGyNsPLI1s0RAYa1FvZQUKhvxYq9oezB8lJCfz/kGbYrfOwS\nNfeUmOgU7TXwaPMia7jPaPSWDTw0EoN+P2lBNLmn6UF0HWrL4F1T8Fmm1JRq\nQCgiHGI0VdRosNdFjmkQgBHpwkfloK1A0VrwrzP6kEDpa+gv/eYE1qdrYTv1\nFzZcQ9DtRHUIFH4I6piiiUCHwrSrSc3OnyabveGKulzEGsSI3iQz32TLmvWN\nUbuSYrCdG7pfQ9KH2JVqIUWS6UZVyUYYJxzheiFS0STBJg+wx0B39TBq+mW0\nQ+5RAc0tRPQzy4sQ5kKVywu68FeGap0TQ4JhAwUMoDP0H9DzGDbALHMBO1zJ\nnSBr70mQeI5Vl0NYhL846+/MXCzl7kqu5DtDvK0Xxn1HqeM5ahUGQlMvsGKP\nE6LwQBFOwyS4uMgYBEEZpaiYbAARVOBXc79aVQPZreqM12ctZHP6SxUyL0ZB\nZ7ycexc2uHhzjL96qm0BSgyBy4Ddetm0FdGZCvEWMumLFeWvgMTj67znmQWA\nw4K1YbLHZ+RaXwNsXqdLunaySbtHdhBUDHt6+8GICVQub1g+YD8mSNULqStl\nELEpdsTO375A1fPHhWT2GmjG5obwwiOrfYrgpIx4tuOk4CfFMvXziar/LK9l\nDcZ9\r\n=ac/B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"68ed707a605f1a3cb02ab70ff9ed8a188867028c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.15.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.15.3","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-0","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-0_1568697726010_0.11047213278586798","host":"s3://npm-registry-packages"}},"3.0.0-alpha.0":{"name":"@aofl/i18n-mixin","version":"3.0.0-alpha.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-alpha.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5bc652147a17f8125a44a6d01de1404f938f82da","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-alpha.0.tgz","fileCount":7,"integrity":"sha512-GibEYu1NN8XeLynFXkjwNtHwsgA4FMqJAt6eUbZ9oqWYhJn0WVXvi02GZa4dqDOmFdiN+9eAx0igWG7aqlhORg==","signatures":[{"sig":"MEUCIAojlC/odOxZHiNSZi1eh3J8T7EJrnelAwhjmLsN9V3dAiEA0G8giPE++wO8Oe2loJg/2hoqgOOr3nz3IIpfoyumU+M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgG37CRA9TVsSAnZWagAA5KoP/jZqSmw6bBdYUPcbw7Co\nTfb7H/2kQWOPlpU/suS98gvTcJX0yIE12a2gcspL0Gu5EFjsCH+6jlBfcqM5\nLERRGSPHY1Y2qXh6JzcIj0i8ul4qga0ldvkQhFNJ1xbYZ2Z0KU6Z4YALaDU9\nvQCwWnEl6vpPrwGKzE9TR/nLt1w8WvsSpDe5IhQCKq02TX4fnkm1tuY040s6\nYGSYtlOrZl30D3EEtsZejRHkYqZgO7JI1UAITgeF7YYxSXch90uiMpTJcF45\np6i2qYS2BTzvEfAbxZByTt0cf8FlJn6L1Tusej+QTTYQJPAt6gPzjI9nWMXu\nHC2+19tgB4up4/B58yq45iMATH+oAiO8pXcuxShoPQqpp+CVnEcMytwbQwU7\nWWcdv8Ez8IpDqisSRieAs7AEMawGUqo1xUNn2zvePCFUF13NpvaiS/teAwxr\nfnmsre5s3UgL6V2IrLWuWcElgg6IbqTfr3RhfhkU3/LTw/vB4FidmvQhI2lE\nMAwcV7h8WXYaIr1SkemSFp8VSgD3gzvmWdlz4DAp8VRfsHoqBwN79wgV487r\njxg9vHZ+FNPC7fi6ypK6cIC+jsUewkehFAztY8Gsxrr3bk1DM3W8m+XZE+U4\nOKx2IhdRsfFh3HtbkolGgdVDo3P6SZnp+XDbQnzqmgFW5OhdCvRtsn0teQSu\nYA0r\r\n=LYEq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"c6c4d16f33cbd321585e3e7c86b1aaaeeccd3627","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.15.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.15.3","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-alpha.0","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-alpha.0_1568697850374_0.6463670626184683","host":"s3://npm-registry-packages"}},"3.0.0-alpha.5":{"name":"@aofl/i18n-mixin","version":"3.0.0-alpha.5","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-alpha.5","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"8d085ffb2b9a4a171c24067f1f585e95c0d21cbd","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-alpha.5.tgz","fileCount":7,"integrity":"sha512-j4f+eOhZIVDHATH1UMERxAYg2kA2wjSngUhU7g3wcshNAmoGOEgZCrQeDQRk02F3x0uXa6ijRko0hwE1gF6E8w==","signatures":[{"sig":"MEYCIQCqIqV/P6oBg/YNQ+S/2DYe20cWBOQhwlnwB1c6s5A1ZwIhAOV6+AcZ+79JxuBW9LNlv0aSoIaMh12uvfOiRUvXr5xz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhHKRCRA9TVsSAnZWagAA+sMP/1xAlWeXwVpb28tSTmxX\n2xK0m8OuZvJgEaQElM3EwyhPkYfTxuGbNPCaew5MzwUIUAOZujd2TcV/vZfm\nKJ16VCALx5qz7wa1MWBhzNU8cSq/1wG4vdOjNveGtc8weSIqBSPzB4hDzsmA\nv6IGIPTdtqX5nM2KKV2cgtfIaVn6uoyHUKW/7T8r92o94ZicHncdM2DAYs2L\nHq4eo6ylVoaEx7NvHlHiKoj+qVRNlnTmwJLcv4SMqHXVlSvgwwl06P3r4gxO\nfJcuFYHXuWh4/QmUazqc9yE3wgpyDPMnLO8W+qLv8TWNcK/zEHfFeP5pOrJI\njbVidb6fCTEfr5806fbXGYu2ruc2iCHbl0BKbeLHV9Qy5Gyj6NG3id6e54n2\n549z8unHPcPPsTtXzeHNj8GfxnLXGpuP/k0uzF327CXsSRHlA4bXy8QZKPr/\nJ7HODnxlQ+3zmifo0TgTTOTqPDvndQ9zEc+A0uA3yxjKfMl8m90aeK8SZd3q\nVYwZ0Fxvti0mDFAy92GHJikYjBzabUF0T1F8FyFrPss3arMinjD7VnAoIthr\n6+z2cbJ0gj0UMwSnkNrQUSZJ7gEEgqZGSoCIUPqHUSiqRddASYmweER16wDe\n8YitqbQgh1oSvx27MerESaFaUEfyRMSMq03CG/H2VQcZc5t2MR8UagsOLFTO\nlAHA\r\n=gxTF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"09f43882b317744481f4b6845b1cfae0461775d6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-alpha.5","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-alpha.5_1568961169241_0.12055160212480387","host":"s3://npm-registry-packages"}},"3.0.0-alpha.11":{"name":"@aofl/i18n-mixin","version":"3.0.0-alpha.11","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-alpha.11","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"2006a4c43473f8ea90424c2257c7591c7edcd1ae","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-alpha.11.tgz","fileCount":7,"integrity":"sha512-NSu3ezzpDMeA3QxJZqvTJGpMhU59rqsaqqOE3CO+OO061QYEkip+JOZnCz1hTEEej9pZv9j3qmI3ZbF5xxuaiQ==","signatures":[{"sig":"MEYCIQDxzH4HGkMIv5KfOlEynMPwSIhIzpWW/pzR97gbd5o/CwIhALwZDzfJORgPnBkG/My1UwVuro8IfgqopA4u4hVAarjG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjbD9CRA9TVsSAnZWagAAbRUP/jmdAhoT3RZeRn8RTnqw\nyRzU7ERcUk1ygi3xET/A/Xo1I6lnrbko6TIcrfMJAQ/esqRhXO2GGZCKECdS\nOZAGdmCQrsj29ZxzQpIvxDeoI4EIFGbhq4DpSg/HbGVkgUfLRTtSDWdprsYx\nZbSEKqJC9HBxKCRcdmvZ0Evz6anY9BTp5JfMhmX1zxNYwjGdijlJBB25GB/4\nk6XQ0CixyZ2AxhdPyCbqBvCNqgevdbVV75majSqMNcKG2gonTMUbdhmG9lf4\n6O6E1FAzg6GTMbRY8XVcqSyoBiu9AT5EJgYmVZ0RJE8JhIq0HsolIG+LXLoq\ndZ8znc7iwC2QDc5vW5+7BkCKqPxDfkQJcd29BEzU0LUm7creIomviavlnRY3\nIZNYnCbT0A21mKMJ01zwzhe2vGjEBTRK5nELWjm2P+Baf7Ue2maGJAcXaSxR\npZyD3adrgmIpv+xoVimWlsElXf1hpJa10QTDqDLLNlE+YanZ6vTEZnWA8Q9B\nh+UxvLnUl3IscOKfUwfUUdTUXXjPXJEMC106EjFNqGR7OHb+Eg1DH3h1o3rh\ndBDkfBWNngbnBAyzLSceBlknASWbY0ZNRe+u2w0qDSxIUfHWCgx5ZyRrtYBG\nu3rb9fepjlqgBWsQmr+1Sc/DZC2kqTIVKgm1BG6dSteaBZa5hHMML8xKlqoY\nAbw6\r\n=4WvK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"ecdfe7e68c95cd3ce9eca2c86626275d1d4559fe","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-alpha.11","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-alpha.11_1569566972529_0.603764601201922","host":"s3://npm-registry-packages"}},"3.0.0-alpha.13":{"name":"@aofl/i18n-mixin","version":"3.0.0-alpha.13","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-alpha.13","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c15a51cfa4b6c0763adb9fafff94d98719c66d21","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-alpha.13.tgz","fileCount":7,"integrity":"sha512-z7RRY3wQjAr1OvpTg0E5aZL2BcaBHX5W0NP5cQJuTECglWeWmiK7gnzEmZRB75COoJow8Z9sfLgT94kcMjol+Q==","signatures":[{"sig":"MEQCIAOuhrOVDVpGoOECiLII/T092b0rdEWQ7oxxKH47JW7jAiAVY8RMCTiv/NaJ5qytA4JIUVM5426j+Lx16LlJXxaD/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjoXHCRA9TVsSAnZWagAAwdMP/04irirAC3zst+OPeLUX\n9/HMmLS6RVZwv027tcCCTEzWmjRMXP24klB6g1Y3YkXVjPLdygTKXooOsN3I\nrhay4nsqrMORQe7wCa8Om6uUbTN1aiAOLEuCLOTsrI4AKV6MN+R+g9M5rYZt\nbQAZzkSqYS5MYVleGC7rrfFgrID2ftz2MSU1HQMjuvwMbPhJD2cC1UKOwTL9\njtIUiHVMQcNsNtntD7gjQqCUXCbsZy4XDhhXbvd9Yl5dLVzONuKdD3SQgr0g\n2enhvCNGpRRR0AwveB0t+IutM1tb9HSsVOg+ZDvnQfm0uOzMBsTyZvW1ABjY\nLlUbiHPZWfkup5FNXAzRVXM5+y/MlWq5vd2EWJnLDpuRzpWeYXInUit5bxIo\n7LmFhlj69p2C3idih51hI2HFGqzplREWW8CB41o5FGz4EaEG0z1QspiULggx\nmDJoI6JcrO6UVPf84PV1lYIsOo8CgclkB4JfgxxYn7aDgAs9F/z+IUpaMggP\nBtfoTEd2JTbH62ACn2oDzkqGWhCrCsWfgv/pLwzJdu2D78v0il9uhanfDm13\n/TZ5qv41lHNR0P8UVs8gsnqwKaREs+DW3xhIx3yjIxcsWkESjY+ACwt4t5YU\nuiBt3VxlpWSvoYvyPnxdifwQYnvS8aR78l9hN0lshiUYhxaGchNb4A5goKUv\nGox0\r\n=Jxve\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"aff4e8cebf571ab35960138b6a8b3b9714d2889e","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.10.7/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-alpha.11","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-alpha.13_1569621447073_0.18171673674183708","host":"s3://npm-registry-packages"}},"3.0.0-alpha.14":{"name":"@aofl/i18n-mixin","version":"3.0.0-alpha.14","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-alpha.14","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"3a3b7c4d4c5831423d89c410fa5fba146cf09641","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-alpha.14.tgz","fileCount":7,"integrity":"sha512-rZH+MUxVfjzqJsVfaEl4ei2X9HocPTwmHCWGRzOUT+ynWsbuUK2G40W9HGJuZRe4SrTJTVrUGwj81/VpjcuITw==","signatures":[{"sig":"MEYCIQCFVdxJ2w0X1z9TFSzrP9z70vqjBmeHjvptP54AJBVyBwIhAKJmdw1QqiZBsD4QKws/OmZmi2vZ+FF91inzh+o+FDNW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdk/fyCRA9TVsSAnZWagAAqnkQAJV32HyU2TWEC97jikIa\n47B2w212X62jHp7MjLUQyy/srCW3rkjvn8UzQmX4VuC5tbAuG/gsJoZI9pN5\nEXfVdpXsGZj6QRBUHx8FM251rvAwP3xMBlt4Ch01QHJz3E7ms04Kx+QzjywG\nWg/RshW5BOinikP6cO1aq8zyDpo385AwQG4ZZI1+41byVXPOtWhzzqcSJTPR\n2bLEYWYLVuz5C9zCW3qb5Xs4WpOFtF6aivJSAerl/fuOdndwthLffhuYvEi0\nQirZW5Va/dtKGn1Ms5kB2RjgIq78sDuYrHhE7jBu/dMsqmU5wt/DEaItfolU\ng7Z1KRIGUUomGLwhoOlcBl/q7prLBGourN15PU1R/dWCZWfDD9sUivyM57Ls\nY5kKw0TGTk5hbbmnwu9XgZ7x+g2M6uOsaF3F/HwEHx6aF+NmUp1B1A/qrzIC\nWzxYYkjlOlrunSLTVebl908NmnYw1iT8FYfB/0MjHsk29GEgf7X/6WABOXkh\nKNLTXZtcgC5IdASm+LtIbBbNV5qHI9mdqjMQcXJXYrMwSEivLtaIo5UH5/KA\nN6pne1u2MDz7Coh0kt+5d/SbKRfX5uq2FiqUkv404tl6SahWc6dtupFRmFcC\nFl2H+U3rTFL43FTpPIjoevsiIdfZP4MyGLCKg8zlXe1j4Aq1Zgi1XvT7QOkN\no1C2\r\n=azJl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"590e68deb25e00bc389f60e55884556d75821d41","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-alpha.11","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-alpha.14_1569978354253_0.43994937087141683","host":"s3://npm-registry-packages"}},"3.0.0-beta.6":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.6","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.6","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"350c68356161d7d324a9cb2ddbf35fa4cf238c34","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.6.tgz","fileCount":10,"integrity":"sha512-JJLzPjnxH2E1ZY8ciB3iiinR9kdHKmyxpjUT+seWHnvf8DPTtzRLnd51/YpdgNezKSIR6JgDG1f5Qfsz9iLkIA==","signatures":[{"sig":"MEUCIH4UEst4JxlwLhFNgD8yrtfyTvV8yO5Xfg6AEdA33r19AiEA+Mb1bmUpMbF5OY8FNv/Pe3UG64ipCYTyQjY4lfFdGJ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnBViCRA9TVsSAnZWagAACG0QAKLFaPB7O9nB8B448+j8\nfwZILKZK3QjG91xWJoRpiD5VpuecMTXZPFTdrrtLNNDlpLIFt76POG1p4D5O\neCsUTezbVWnvmYeoahxqaEgwEGk3ANU/+mH/azgBeMGZJ1+3cwPq88cnHaiQ\n5jp38KGRWOJl5FkxfpETLdVqAkHvLWPoa7sdXtGnjox1i1HK7UBIS5Tub5QT\nPnrIpVYQwoZ2fen1tsJ2KUyTuq+7d5fcCfvqVvVGo+dFC45xM5dqWhjxPieW\nsNNgV2Grh05DACzhfDWyS0rLspz3VuLOU9vkKRufeoSCQDmcN2CKVbiVToB4\nJ5H7ANTpWZbB0pHwIzvFFyz1vvAXp2TGs7UrZP430tOKLApogsy/7hglOPmR\nhQC5DRc/MGOEmm6vr3Y1LUbr6AjqcwWR28NdvhQlZujBz0f3qL6SFyrqgDbX\n08Q3lubZGxUvh9my8MvFkqfmFr6uxSYvBvdKrK/itS+29eCA9Y6iREQVrMgB\ndeaGQIV3+/ymn+ivjAeMC18Ha3IVGjtozTB8kqlw3VrX8aLUkUOGmZkZeTft\n9pCzHdltcpg4IyFhehJuBakhMsQIIgScwqMOXW2FqETSfLsXGrTxYKr48ibF\nW2JxJRAujqJXORD9ZGO+XBG9Z6ditD2hXg9B2a/exSni31BHuplXOamrnczz\nmvje\r\n=JvKn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"23e8e9dd00e515c9305baf320436e43f51d7edd3","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@aofl/cli":"^3.0.0-beta.6","cross-env":"^6.0.3","@aofl/i18n":"^3.0.0-beta.6","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.6_1570510177856_0.8821625641191797","host":"s3://npm-registry-packages"}},"3.0.0-beta.8":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.8","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.8","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"fe76cb951fa8dd11cb46215fae3473274694d418","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.8.tgz","fileCount":10,"integrity":"sha512-jcfYBt/p9eV2imcpcuRTAnqw60cq+S2puOH2jqH+1AJbvS7440YB1GjyqyQURE5NISDGmd960C2NbfqPK7OgRw==","signatures":[{"sig":"MEUCIQDxYZjC9L5oWCOv48SLjswMtIyUUBEOfp6VyrI+VizS8QIgOB15WImtHtows8PumvDRmnYLu/kxp+8mUm22e+EwMmc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnCMbCRA9TVsSAnZWagAAB24P/izwuzmwWAlfw5sfBWIs\n6qkW0ZXQldPAS9qMMDaxRClcT6cfc+4EMgYz4vaWI21s/U9kJY3I+ebrzuP6\n/Z7lLS4c+rm+vy4V0S8qtrVAtroAc9ERQeccT7WCI5SdMvQcynaba0sJ4N5n\nDA15wUaqDmbZfxQpKi/Jy7ctjVuvrJjSelp0gbgw59LSbB/XRSLm4cQGFhbp\nmV7VnbH3+IsZxSeth8xlqn3opKMmgezpIR1+Zlhbasua7elC44sNVTRbDKvl\n2IuolIXvbz4IwpwdZS/ZJJH4i6bWvjtdbWJbPgaFOrKrhEWVzodFaIYQYAUM\nknDZsQZE4K90kNZFweExp2SAqjf13OYXkpW5h1aLc/+fOGweP1xSftFkmu/E\nHfFvMH+MV0ofm0Q09/KWkAVV7Gt+H5FPGjIiqeRUkpr+U0KJFeAzVsHcXLXV\n5syRfPhVTjaAFwd0vFxHOl6r8YBD6nkV+P36A6UvhUPedCF/7zLLrgfkHih3\nB0/pqEZDYmhSY2hGXJuehM20NLddzE8b7/CT8gSJU9pakhjovyTOfunlRPE+\nfLr9sqqZTKRg4/+D0UUbQAmDb83MGjFLc5cV7/vSIW4eLJlvixRCnQ4qUAq2\nV1T6QQRcrQRRdwZg83LbRREpmKgLFNFKTp1Bq7he3R6/oBp6i+lLwDYyJB/E\no1IG\r\n=OnAg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"31f766f3cf621147bfa1530b863757cb08e5fc10","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@aofl/cli":"^3.0.0-beta.6","cross-env":"^6.0.3","@aofl/i18n":"^3.0.0-beta.8","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.8_1570513691201_0.5949233509369469","host":"s3://npm-registry-packages"}},"3.0.0-beta.9":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.9","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.9","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"9dbb4144206de504a0597eff06d198458fbe726c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.9.tgz","fileCount":10,"integrity":"sha512-kkZuLNe2NfjKX6q10UCZ1b265K+NM8BPWkWW2d8umWB03nfBkWC2rysjQi1auSVdFfFDC9+VIBishmZ2YSzcTQ==","signatures":[{"sig":"MEQCIF59h+sboG9JlRc/S7J/CrADX9KWbhcOEk0pfxR8MFLGAiANaRGCmbn7Z7oqSiczyZRaZMwYkc49cbq6hwhyuD/Cug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnCiZCRA9TVsSAnZWagAAjC4P+wf4JACPcUgt9KxZPSSE\ndJ3AHGQAyVpiJ5MK0dN3Vm1lYZZZNjJj5utTNe18Ly+AidyRxoGJwFD5lvzu\nVOJcRFkJ/WPTReBO03+xOv7vthab4qakMPypJ8xw1Bks9oatEX9Xv4+aCzWY\ngG0CW/cMYu2JGvEi+dEEAZVSWT8Etz929FtxrNyxclgfnR+tRH27C8s35+cY\nEJvQyq5CRQ4oGN/4jFwpCVnXqy2mSkuWAciwNqccQ/vkdEBh3fUSPUcXZdUX\n+t86ixkoM91M3DOafyevEjeDoSiVEXiL8IKeze5AJsyDmKP4F0f11lKSot7P\nt/yBukN0A5u9DVcKG4WhSR63zLZUb6+eew9f5cu+Aj3Wb1rsYg8qoxycm+b9\n69gvJ4w886YMGsuPUDYYqTFSyb0AegsotJfRkhRRlY0rGIzVgag8KRxk7Bvl\nwcGYCFNi1N4Z9ApxFZYAqXfJdLXun86+RNQNeZqk2V1U0geeA3omWajiRwWd\nEtzdHR7bNidGmTKQFTdTK9QTLh9c45M3yP8Y3+TI/dNUDPIU3DEq1/Hn6jW8\nZfBHeaIOqRt7F354Mn6OPuiYQU3r8qTHzVeDozIMY9Khw8nuMgVmJrqIidKZ\nNTDZnFjETVorVPU1s7VZGyC7aZAxc6xB1ucecCLV4QBF2tBQr8e5oXQsYAtv\nfxdM\r\n=03OC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"e9e6bf24a51611b9b997dc99e770d43466ba063d","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@aofl/cli":"^3.0.0-beta.6","cross-env":"^6.0.3","@aofl/i18n":"^3.0.0-beta.9","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.9_1570515097214_0.16565811155302224","host":"s3://npm-registry-packages"}},"3.0.0-beta.11":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.11","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.11","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"f7e3a6384ae01fa6f5b78fac0ac082695e57b446","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.11.tgz","fileCount":12,"integrity":"sha512-OHG7iGwrxTaH2sPoYPfnU2odZtYVqrPQi1PI6sDitqkx2zMXSO1HIaW7bzYt7KLCBXsnUMMBqPn0R+4MS0ntsg==","signatures":[{"sig":"MEQCIGwFwqMHjaEUaZIYKp3gBZRLIICZ4vFP7qztlDajH/mmAiBl3EIRySsEWynA8caRgwoJCv8ZgHdTlnHdRMfo3WiQAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnFoZCRA9TVsSAnZWagAAnkgQAIDIlj9AXyt7z0Z6oJB1\nIVsZyI1Gh+SvozoR9XOoqk24QuFERUvGlcdNuvD+0flB63ZCUg02EWh+pMIl\n4AHPbbH06+P5Gns4RrIX0H7K0SBjCm+a054wltl6sh4tTjBWc/nA4EUWHyN2\ntJJk6/MzYXLGPHHRZEv0g83vL/1rtVXynpnI7V24rp+FkO3Id2qD8OPv0aeS\nh/6WJh1i+0arJofMOCtlwscfMOmWddZp1VJ+hvBGVNbQ/d9ox9/95A0JrxKt\n/Td20UG5PihRjVmlpjg5EQEZIPXW1ZbngQ3xFWOjO6QeWQrE8Qj5rC6K1tKh\n/lHWTt79P9zmAPHuN/DekTHxz/vablsDlC5F1v9edfx/LLse0CJcT9hi/iQX\nDrp/YnhRdp9atsQHluitbM7gNCAd9OoKZzxCKsb04kezsxhXBgwj6oawAc0b\n8iSb/qN70EamdRSev9rAyiwv/gkC6kH2owWLl2KVo2yU6M0WPRnOp4R1SRwA\n1Xt6gl01N3ohveQCmT/EIKgHIGuUGdM+sbsbwhV+D1oRtOn0TYqNgW7maW3r\n097oEZelqYOq3OMUKhzhvU28ewHqiOKF85xrS07fesT9/qXa109K7Mpz6Nbq\nWBcoElZ53yUqnbGLV5KEmjttqzb2jnjRklZOZNsI/LDWsEI/FCDQl5rwM2W0\nEDlq\r\n=cuw0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"ad7cdc30523ea031f8d1bf5c62440f80f75a7308","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.10","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.11","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.11_1570527768835_0.7790036072107378","host":"s3://npm-registry-packages"}},"3.0.0-beta.12":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.12","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.12","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"fdc0a94040b9024da58802bcf63cac4628e817fe","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.12.tgz","fileCount":12,"integrity":"sha512-QCH1hhxXsY1iPT/cLChaJ920lhvZRAygeDvJFHbu4mx9aZ0wiFiv+DYiIrkprGFpfC6u/3rehbvXGGDHwGftkA==","signatures":[{"sig":"MEUCIC0TSMKzZASmBtvw8zln4tyqSl2d2va20sC0rboroS29AiEA2kKostuTz3cvQ4YTePFyI/iUK0JvPzzSyRh6henkHrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnFyfCRA9TVsSAnZWagAAbYcP/17hFNNIqr5p1meegZv9\nFOqSUmmP7ILqtlLk5ECNrCugUxhCsbgAifjIkIZquGLKAAhI8F6d5YD5tkHU\nzNGRZ5h1pEWzoI87C0HQRVGiM0S9DpK3WL4HWbChd0nL05tw0IKmBCwetVWY\nHxZ1sxdBmzPMJjbq9XvEfWneE+hrBlafpfqAgxML4SufdWJLlfX4eStArxHt\npnIEhKX8i+TUNFulgRKC14Igg5RKOQTCXDe1WosyaFg9YcXv9HYY1VUKCRXF\nbB98smTJqDqrPT5aMiJANOMlKG2bU7HFeyvBvN1KLdq4TONCVTyDsA4KgZz9\nOy/p15elmGUZj7InrHLWe2GVzRi3N00jRNVIM6qm5uHxQlpX22C7zGrV7GV6\nwf0etwIikHxC4u0Boyy6F1RwigxU9acTXWRFmBnjnI7Vtyx6LXLRZusEwDx7\n+t/rM4OQSb5qcc5aupbPHS6jGaLlCbBdl+ImnMv0U+TNm3sQIDnnDI7jxxCs\ndi8U0QQA+UTRQfHvncHMAfk+IzrefK4xuW3oSjSA70g9WQVCNPhj21sFIn6W\nEkJo0jI/ZqqrGHgEk1B0R4WOSK1j/zKy6ZVldPVEzpdEKpWhBOPPpFoBaleW\nCu9zg3j56TigD7VTrK1c7N7ZSbNmlnui+FYeRS9SCykUMjcwoLHObvrm4fML\nPJ6Z\r\n=xvTZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"7fefe74af1885e7b807b6ed3522d9ae661e52645","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.10","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.12","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.12_1570528414622_0.2363454011951307","host":"s3://npm-registry-packages"}},"3.0.0-beta.13":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.13","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.13","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"9597544e198792ed25129cbd3b3350c56449fcd9","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.13.tgz","fileCount":12,"integrity":"sha512-NjMQM22y6LTw5hbLN2O1vCL5lgdKIB97vdjIxATHczIP14AxC55kiQ9KFd9U/1yIjPOd6GQM3VMYtwixjE1y3w==","signatures":[{"sig":"MEUCIQC98xwvzSbne7+03a2cjbYik3L2vUG26U53j1f+Wlc85wIgDXFkF5BvCIKj2QyBRwG0xvj2cDwks5+FmU9gQxbG7Xg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnV5iCRA9TVsSAnZWagAALcUP/R0WhWce7UnADbdkdEMj\ntJuQiblXOrl5jSsRhjLkLdKdlkLFu4noCFnNSudDX18mbDwB1W/x0ffo4DlV\nyaE0eNwN3GXL8GWSmJaheeoin5P9oEIixJtfjxQl6RHj9xXeVVxk9r71ijBa\nkTEc9JnSCvBVI29apsNog5E6L5zQcHWqJZ4d+jiar97LimrHGAHdCGcKLKQX\n0UThOCPkULayJ2t9AfjfNFRJ66SFrnRaGsFivChzLXmj0kZkUh/igV8rujcG\n/AevjRCw6vlJrkqGjiD3xgzha/sX8zMWccwnTBsy9h95YU992wC3w3OmBZFU\nSeyRhAoYQh2fGHuyBAdCuD33/eHyxFhA0082s442saw07LthE9o8ZfwyJvMn\nxLU80XxIwqqi24xL8WGuwwnv3xeCLSI+Z7l+c0lcP3ZzZaUOCCzsXxc+ACf9\nc0Euhog0Xi0Eu75IYevy8jErKVco7U3TAcpL9p4jW31ThkKrjJMkxaV6wT2B\nCxRkRwZ4abBRV7VzjZ783VsUkeSgQH1LS1F2sIIOBmieO2bsSxi+NK9A09UH\ndKYaaxDbUZNpEgWHpHHR46Au+s+qyZH8nYvzyPHXc9b+llAU9q/Oyoi6RcMN\nYDDCHY6F9hV2hF3EXK1Py33yB5MBJgfwbcSnG4PIeigH3B+pVeK7GQ3vzRez\n5PEr\r\n=XrMY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"aa2e52c46ae9451fde097de4734398430f2127a7","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.13","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.13","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.13_1570594401588_0.017371752621435643","host":"s3://npm-registry-packages"}},"3.0.0-beta.14":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.14","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.14","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5d5a4890a21c2f986bcf3c558d260f4f1dda8363","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.14.tgz","fileCount":12,"integrity":"sha512-GYUbKj+aORuvdDDRJJCn1NlxQrb8/hkvHCWgXO8XXNshAMces7qVRAtl/lTUje5A8Mp87RdJXpk5PDwqnmcrxg==","signatures":[{"sig":"MEUCIAf+8bICiQ6gwv4EH6AiZNpR1s/sxncqE8vWDb1MvFGpAiEA/sJmLNNDU28hse1VadFoecLNLG3o8A0etQ6kjDER2so=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnWL/CRA9TVsSAnZWagAAUBcP/0zKyjGQvrFO6gP0No0h\nA6OtUqPH/KFfuaSEOyVTmG8ux53a1rAjNVn/GyV1pnOsTv9GCv09mlcg19IW\nynG02AjFuqnva3cUf7EpFC5nMcSmKxj1Tt4rBU0BaqkdxULELmHMdSGY/WdW\nhctzWHBxe5nwGQix3PROLcJcyFVfTP4NA6MSd8SZOgsSi2zMFE8MGhSauLZx\n+xO2bUjVxRcFPkXjyiwLVZtISg9pYVg9oDNscg6WhRGxdWHWjAv+CQFfBcGq\nlYdkc1CxCBHdMk+iOT68iJzdGN9dtzR0ckGDHxk+ePbR7Xgw+lC50jRuoZrZ\n/cnR+P4cr3YK39Vc0cdZlcy/tLmPzZwSTV5atRK1KCIkl0hNIm/1KuKcSZA4\nHU1ZsysdFJk/YLz9t9pAQbRFlyjD+/DyUn9UfLQkPfc1QlBhGhBtUzymUaqg\nFWGjWz8/lBuqtB/FEIH0YiLpswsx9hAm4hyAhUanjZwB/odeyoujJiKjcux5\nyQAWdR4UnWNiyoZYrvbwYLLWPSbuGHenMQIVLcmOyT4X+jny7m0NTqIYMz8G\n0JcID9/J+nTfquOb74Ieuj6uPCYDFrgla8fpMbw5ZXExs76Lz4l2muFmt0Qi\nZFeVW1SjBf/GAq7QDa4tXdLYAg9pKnsnEAMhrOwYUAu869RH2cCqwIg4Yv/y\ncW0P\r\n=QGuD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"80c0c882f3af67f4584dc8d38de8a62ca5632c94","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.14","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.14","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.14_1570595582816_0.6323564608378551","host":"s3://npm-registry-packages"}},"3.0.0-beta.15":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.15","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.15","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"659010778cb5334a6a37c05ef2ce7fa05a9043c7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.15.tgz","fileCount":12,"integrity":"sha512-pnnBH79M5GwWKy/soOcEYSFMtVTC+0z5PhouYz2wpEpvz7FA+ku0k0SYWYECiMiDPujxeaUZ7iUS6t74xD83dA==","signatures":[{"sig":"MEYCIQC4BJpQEopjx5vRDmVhoJl6erZOqseuYpu+UoLamZptSwIhAPMZGgPzpCU2eNQhmTIeIGJU2d0NnAyPgmWdXYpjaRCM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnWciCRA9TVsSAnZWagAAyKsP/2p3L7S5LpTErIahqQlp\nX88N8d5zyXxDcYYQ2rUSTKQe6pGTE4aSwf14hA9Yg8oehineLVx6oYxeFTb5\nVuK9r7HJTQ4KPGcG9rSo/gBED8OnKBhcowPvl1V7T3HxkKRQiyeJtKIgItQc\nAfw1oYpcVo0cyHdwNEnnOkhslTe90QP2QIZ5mfIYaLFMNVRwFG5cM/TjrBsr\nqaCDDA7b/uOBsnG2a+fSXHk1UBJGJnzN3yb8Oo8yCS5SvXYk45TLIRMogSUR\nziarZ6OaBDiSXRzXdnT5Hwd3qcHSl28wSLauxmkVNdPVN18pRSeKWScQN3GX\n437+n/Sg5XsduECvTDTEEzPMa+ctKGipVZRwwQSVK99pKDv4Y+e7/Al4s8cK\n44XrooJsPYOoOo6/pC1ag3mwRSlocmNUQHXYQDyrdBOJYprrz4MPYm/dE0Ho\nv3Jpn9l7ZWL6x+tSBDK6mDXlIUwXjFai1WEmrgpO/+3ALM2X74pMuopsQseH\nkehirpQJt0LBF7jiqYRl+C8XC0YxFFHRnDmFEsya9Q6vKCmye4dQpwK1adNp\n/vd7X0ySygX4vW6XAofWn8epzYWuD7TMDAUG1AhsZdJ2dLAC8LeWvJwZvJRY\nbyloqn71Dk4Shsx17DFd28ZRPH05tZKqbJUBwWBLCn24j+QBDZmwwQtX4mVS\ncPqU\r\n=4xf2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"0fab45fd3f4a1789a3683dbaece87d579e9de597","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.15","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.15","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.15_1570596641485_0.6623152238134986","host":"s3://npm-registry-packages"}},"3.0.0-beta.16":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.16","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.16","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"00a8e11f70e94019b9a9a02173a27c7f4bac900a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.16.tgz","fileCount":13,"integrity":"sha512-+CF7/yx1gztgM2c8BPutjNLbMmrFumlac32eMpRtn0NfCysL77//3/IRisWZUoQggi8AKjAV5ZD9DyPLpHyEUg==","signatures":[{"sig":"MEUCIQCw4FVy3EFd0ScAdE5bkKnfeN/CMXokGzkKUepAbpvDCwIgAPFgn5LabBQ7eBoKOJ75TGxIlkam1fiCZ9O1cLkcBks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnWq3CRA9TVsSAnZWagAApi4P/3nxdPdfxRu+x13byI4O\n/tRvGGnX00XkZrK937FAb7y6z83YwTBfGUzZSZLsdnhuQjl0sVlPPlzaNT63\nexoatALQ08yhN9zhJ5qZFYmCNgkL0uCIGLlAWHqy8IVzLQVxMQ0lQdTmJC10\nusZH/1tDWukXzNtr/ednqO+wZk5sNQuea7XJWZLmsob3opETfijUi1SP01ya\nxdIvBoxe7szWUShWEzuDjkgpLCW0ON6PfY1FR8FEwzgDOZxSEkacTcG4COjU\n3eAWsGlVmsZJSmXy5ZhAlTprhC8/tJh//BP9NFFx9TQ01LE6oIMoYy+5W0J2\nqDr643wgvlqbycXif8vKjqh1C+ouUPIKn/OAyev52qKQAbac9Xjr9HI+RcOz\nlVV/R7fP4SLUaPS1kYVMNQw368fdcx+Z7YgmNHQiz5X6LwaieuYLyKbjDGJm\nNSyke6qT7S4EbUFcYVNOKadbYr8dMT0m3kub3i8WPJgKBfCeAVzL07pS14LP\nJM2vSF9y33A64EF1B5Oww65I64qiJ4nZGYcdv3XDfg+8+/EDJKi8M0w4wmBn\nxP4PIxUigu28tQcjmHkVy7XnA60cfDgxfJgYAGcy5hMbvhdCxfxwsWcwL6rx\nOQlI3pbmb2/tjYtKNkNtqxEqyVmUQEGqodJSIsLjwSWAfqErP3+x6lF9Cq8V\nCBZK\r\n=g314\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"32c2f889b64c30fba2458f8704f7c135b47c5b95","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.15","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.16","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.16_1570597559048_0.2804619921591722","host":"s3://npm-registry-packages"}},"3.0.0-beta.17":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.17","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.17","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"46ce902bbbd44f4847d043ccabaa1da377186f82","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.17.tgz","fileCount":13,"integrity":"sha512-1KYwQXsJJcrQ/swSANxuQ63MTIVLkE94V7pukNVYNyCmXdtRQATk7Q+z6ZVTKgQyGUEton8tIH+E3JDpmzhJBQ==","signatures":[{"sig":"MEQCIBOM0j/WE2jh79rAeeo26gXUk9isbmVbvXasZF57xQfnAiAJmREq+o9MX92nmfVCB3WgRZRLfq8dCYiqieJlDRL7Tw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnW84CRA9TVsSAnZWagAA4awP/A6iEgdzOJ1bsf/OW8xQ\nVGHnIpUf3jwZ+zDxg/yAKefJGzWbGB4EO0MUAweyiXSv5Wip9TuycAbmGgO1\npI6znAYZU6UiB6PnZV3SXeHxB5PtKo8YSZ7WaasJnf3CUdBtLqixPwPI0d+R\nsmJQRgSm3X53G+d2mCU5QzmSCHjODuuW5rhfWBVBNyzBx8YjUMfDGOQzDuNk\n/e3brC5ImvxG6OXvzCde4SEDPZzmdvVIwBzWlrKO2dti9RIxwiPu1miADTSy\neorloquAEyVbUTGpYzYhvvHGsFQAsfYxmwF2pgFs3cYR4odcqUEUe4BxmSPA\niQugA8rh+NHRvdqScgJnlXZ/iny+fdTrn1w7O1NYo84fsKvYKy5mwGVC+NBI\nsswM/A4pk2CtliHTsjpCwaMDlvdMN1gQwdG7Z3P9JZYHmUue9VKICs8/YFeV\n3fqG8py2A+LpjLNX7BcDBrnpvJwMwAJ1frOMQbBXVCeEiQdTvRHw44Y0swDJ\nlnYfBNLhww3Jn2agGpjavgFWydSvjU5oXd3H/lylgnt/NffaSREhnF0fu+8f\nhq1vEU5vAXn6nIQwKoTcQ1XfRuf0q1do7vQ/gCm9ACL8DWGfGoM5asx9NTbi\nnYQDltR1gfBeLOcuxod7Q96SRCqBH497QZOVj+w+seBy+C/Tnj8Y+AXcpWKO\nXIUA\r\n=LjNX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"1a9a0010d531b8a6ab7287dee07687c312379976","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.15","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.17","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.17_1570598704332_0.4107152821881068","host":"s3://npm-registry-packages"}},"3.0.0-beta.22":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.22","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.22","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"7d69ec0c4d626ef3dcd38626dac4fd2d22b96872","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.22.tgz","fileCount":13,"integrity":"sha512-rRL/igNFwVqSoQFBAgN+yj9eebzqa4q9p2IfkL+hMcRvbDtPAweiJ8CVKMnJxqUsDa9WTO/PE233x1pybgLdPw==","signatures":[{"sig":"MEYCIQCvido3GTga8yBzSZ9ZHrTDHC/PblDrD7yJ5Q9IwzjnVAIhAM0RzDdIeCnXzz4bTFnMoqkVFILieq56RhiSRtoPgqwp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoAfPCRA9TVsSAnZWagAAkwYP/iaEAe5nWvhNsZI0eO7M\nDZRY/Ervb8LD/LsorKGl+GatoeRurqTKJXnpAgyTQr2oU9Vd9aU3bzY4haCC\nnf/zNE83c6Ls8IEcvapwl79fHi/+dWz5yFk1CIT0QcbOkRAPcGryw2GnmHu9\nAs40nO85v7c8lJK+zejanTX2INSX7bQBUQO5fdlQVV40jaG4FObSmbsmzHT4\nw+6IVohG+wXbc+GkoVUHDVIXBDIjACd9uPrcYZbYESV3DkDnV9kltC6S37Fu\nR4/+1z5h1B2mUsa6+/MQCioEjMb17tLr27eaHiYoWxWxAI7CCmbsxw35Z5Gw\n6s2tuK+ogu0dM+YpJfJUBvwVHUVhmgNxP1CATxsV/2d+i5yiPPp2oaJzj/Un\nhTrVsh8W16eSfeD/uRZb2o1ReNlGZdWXXePZkDrB03uhDByA4EMiy0q13T6x\nsINxaKC4Cv9l/JG9rrBsUUAbqaLYjqYuR/FKbyFAV+cCKg5yrHKyXWqdFPu6\n6aQzr7uAdWdGbFaVxDl6g7vntZjWuegbAzhcZsH9hGzaHILsfjFiw/JOCwSU\nuh/ZYpt0ivj+In5DmHTUc2BxPOlbjIDRzoWr8vt/AsgC4lw3Y7/HdT3R+j2z\noTgmHpzUEk0J5OPz29EMeINU62Eeq4G4K1FkU+RcdPX0DSSvjL926vNHmjch\n7ApN\r\n=n+Hs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"6009b3c38f31f159b65265ddbc3653c0087909be","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.15","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.22","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.22_1570768847385_0.12821124037203857","host":"s3://npm-registry-packages"}},"3.0.0-beta.23":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.23","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.23","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"ca467bcf500112f1d778f90ee8474de7e02de92d","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.23.tgz","fileCount":13,"integrity":"sha512-7YGaLco+oSEAcdgxNTG9CIFLy6QFLrQrnnoO8BDWXRJrlUN/JrfhRV8yiCd42Hz3W+BRn5VPt2GVTyqIfGmT3w==","signatures":[{"sig":"MEYCIQD9xlMyr8ApQSJYm023h8dELB0ay0obwpKXSrePOy3xvwIhANa3BJTG+hZKxlami7Qi+L5j1AcCv4j+54+s5JlxbZPs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoBWpCRA9TVsSAnZWagAA0toP/2Qg+aQJAStEcpJpzYMi\nrI6KxGz9sjJpB8ajoi1ldBIF2gmEAizjGeAlyKlKaGIsjJyErjbLcAnrmCus\nk0dJ9NBdaWZlVzLo64CBKVHc/hxeacrYzskBAymFDWB0YMIKZnbmGf5xG0Mh\nMYMFWO87q9sqRfJ2b6p9Jlwrvu8+ifU5oDrj6sSVbAllWB2IdjC9ySgNq9NX\nmes42lyBMnW1o0pa0UDLj1Yx0r0E4eV/e+++tIUV8FvvxrJgOXG2atjcZbqH\nB4/0qYnShUORu6EsXny8neTUlUbnRaVczGpe4YtymB70kddzHA7k9Em+ot9n\nmOrllsRnf6pmKaoYLbo8CmWdZljCMbZa8+oVVZG5pZQWahrtm3erXoP05MuO\nE3+jALPzDfJrccA6sfRlyTbtVRZyF63ZVdDHv0/bNj8LTOsYMK9j5rJYgNsD\nma5+uN4pNysEgEWks6L4usbc6sodLFdW4BaTSHMqygYGlzZZ+A0ueVzIWgCe\nzVHK/BIhliuTHCxHLLYAGB3MWq9xSj0HZV048LIfwuL4d/yleXQ7jHe9ZeYa\nzdQoDZuQH9nU+s7rgasFKQJQqedRYMg0R6LeKPb/S9GQv5x+SGRxBsC67VgG\noExgoWEDBvf3G1KTHAlGtyTMbmTT/sVmUtrl7elLmkMiUtGmmd//397K2yDA\nDk58\r\n=RoIW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"35327a525c0190a3c1ee36be061e25eeab73ed33","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.23","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.23","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.23_1570772392389_0.7962091599039822","host":"s3://npm-registry-packages"}},"3.0.0-beta.24":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.24","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.24","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c8e71e35f2a1a141877b3258fa744953b3da2894","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.24.tgz","fileCount":13,"integrity":"sha512-JaOJlHFmWeElEZ5r9yU3tIfcMa68sjbtfvYIUBlZ+CrZZuJJ8iw3Zb/5mhjpBXElgs5uRbaAhQt7Y9csNcHnGA==","signatures":[{"sig":"MEYCIQC+SqK8XLLGucR6Esgfz8ZNkCmHxHyDjpBitzm0W0TERAIhALbh9s2tg2b2gqN5Hr/JY5dUj1+pNnS9C+xIjqRrYZfK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoCKDCRA9TVsSAnZWagAAB2gP/2ntNWaw0vr/unGA6x/I\nm6aEXf3AFy7u8nbajOIxeOsMVTYh081OiZUkZu+4togTvE9m2y+1eEXzwsfP\n6gheSgu0j7lN6LifQ0KoDTQlUAa2tm2QrFjSVwjmHjapfqHYhsBI2NEcOUKf\nFT1PFDb2QZUL16EQkJ6Ieq1wEbOSXb6IxMzftJNbCkGM22fvYUryQwvBCIiF\nivMyHOfvhhKAsfZwAyze3KB7aJn86gNa4n2Uu//iibHlDqBtwRjiN4MHWnFx\nEHoYHG03/Xwybr9jCfPJCNtmJy1eA4gehhuAq+A6jgXg7mxyqOJJ35COqjMB\nvPjNhP4tI8R5TDUfmFREnvlkELguAWIy1azHfrDXL3rsg9SYev9klKlYz5gK\n6/Hb9vYZIphUrSpsr9HPIXBezsl2Dan5GidwG4E9hsAEd2isipeyNouyrmeR\nQwWqdaapml2AwIiEJyjAhBZhwdZReNKT0RUFdUTjtkSVY1lkZNr0Y45tGENO\ns1nsPhXY2mx/7JrvscePxiwDBRTgzkXKvfI7rw8uSCS9zeMSSAj1VWEcu6W5\nnszqEYklEtN1OSAhqiWnemAT14WXxUm7/HgCqFH/K9/xQCarO2AUXA1g9SqG\npdGVwHByXC+O/QtuuT95hbWqKaoe6xHmAvwsvcQ+giFSe/ou2XMDI6rHb3ag\nzOxW\r\n=oaNF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"be81016959caf66748582258c92f8c73471a9f67","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.24","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.24","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.24_1570775682918_0.17305679234775062","host":"s3://npm-registry-packages"}},"3.0.0-beta.25":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.25","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.25","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"eba6e28c8f21d4b41c34b31e0aab0999ff94cfd9","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.25.tgz","fileCount":13,"integrity":"sha512-UpoO/KNKWpURtaJUZZdTz07z23QCoDW5rF/21AECneLepJP7571Hd0D9uEABBh5mxEQCThrUQUG2WxCfDy9AxA==","signatures":[{"sig":"MEUCIG8nsP2AE7emL+v6v6ChoxxSpuJTuOQKnAifPjHKLDQRAiEAvXxs3q66TimHxIxTJtu4i2L91y1hpWu6PqTGr8ldaxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoDCWCRA9TVsSAnZWagAAmP0P+waGUHP/9Vj5CnFabUAz\nPbQsgvnzO74ww0hWZxkm9I6kcSASec0lXT4J4U9GeBY7BJKugc9qMK9eTU7V\nFOaDT5zVj4FmX3WHxZ6TMc6+exTnFu5WHoqYepGO51eIkQK6mvo1pYFT/+oS\n0nLFWUiPq5XuzjOwajJGivq3CK9MrV873j6LDJ0AN+Ie6vZ97nq7uFDa9tFY\nWFPU6YyGFedm7eGVII9+Ex6CnNFEcJn1g3JmOMoL+V2OVcQKpotJS2Faruk5\n+3WHQxRGRhzK23oNg7+7G3ttM7uHLQ6sq5ylbdq7vvXfsjy0eCw1h75GTE4F\nWrbjPqh0tMepfjYmw8khG6XIajMUtOAl/YMeJxD/Iu5VYkj+e8HC345t4qy1\njeZ1K5w8W6MvhqII8PVjQh54XrYkghYq+S8ID362oEbWprkxc0DB9huZKtFA\nzI7t2MKDFUg6FDCOLO+zJKOTLH3ZsDLMxwMzx0yh3HCbf04ePhOS3x38l3Ds\n3hu1l9Vr/5hD5s8+ejyt2LOwCKF75nnLZzLVgGqx4cQrCc8uJAAGOcuk8dmQ\nPypSGR/AQzoNrQgTOi9IUmPA8N9zdzJ3TvnprGk6N+IDpWHOjHrhtpb8/qMu\neow0ss+CKnvpO2XfPEc7u4rUMjvgelErHzrCT+DeYfgkBwfqT9NaRUs0kbGD\noxYg\r\n=se8e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"658a5f60a694ddcc2ddc62e8db80688cc6b71c68","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.25","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.25","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.25_1570779285911_0.8647446433325443","host":"s3://npm-registry-packages"}},"3.0.0-beta.26":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.26","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.26","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"25dccca2135338fc3098126e8b3b7bf1020a24bd","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.26.tgz","fileCount":13,"integrity":"sha512-3xL1/UlwnVviGKiK4rftj3tKO5f3Vqw93IipoAdCo011AQXuPB190LDAfNiepXJrF9ftp2EjoadnDufkjXkvmA==","signatures":[{"sig":"MEYCIQDB5C2c6UOMT91ik7p34aQLdyn4BleBagUA+53J8HDiKQIhAIzODuDhhpVv4cS3X+8VtrzAEPtj4UzpjFmdfE/GHgfU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoDP5CRA9TVsSAnZWagAAKxsQAJ5+9bNmyWCAEQXICJ1d\nz1GTRkNw5GmWTvKpBYCxFD3LiwJ9V4f9KFvn+oJxFMlu96mmDoo9sed9LARS\nW7zT4FUbceCR7hvlax1TyzRYDl/1/k5gJWKl4M918F8OYuaMYcXYx036yil9\nTW6TSev5h7ZDH6ftI4gvr5MiIOIvmGd+1TloDYvNu7ucVFPZ13G3O/DFM0Xa\n7wv8Qy34ZM1uMg13tYVfCa3h436C28SmoCk6iBnAPCGD+izIGMloFUqi1hwk\nmQTDTkQjsuU94dYlToUop0/J7qRtIOpmTvjYZnERNc2Ot5YKSXhnynmiO20Z\nuwaBmF+Xx/cjL2sqp71g97mk8nNg/33pQDv7W89aZDO/Vhsk+No3Zryi3ogK\no/tfr0kqXuzz8V8/C90a8STWDP25Ve87X1ny7yBK5gkPSiNGovXXokLuhiaI\nr5bN8g6z6P1D+96YijHUqVXxQKhuTISprqTqYAwdHHbFHLRRtAT8M8UGx0Lo\nqDW5Qb4ubSiGDr/5AKpMpGbZOuidhBiN70vMPn0l1Gx8Dj25ffF+/IErb0lY\njjohbhalS9ORbCAYvZeZW/1n8CXi/tUgoy0ugxk2saViktwD7cw16GNYucAc\nGFXTG4tGYSaPyhBNjMWvpLz043BDUF1sB3cdsMM4p55Y5ld+l4wMKHwegWn3\nUzkm\r\n=NMyh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"12fa62b6d27f95d1517f1ec4707c284b865a7081","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.26","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.26","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.26_1570780146001_0.9521950175459186","host":"s3://npm-registry-packages"}},"3.0.0-beta.27":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.27","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.27","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"4303a6fb344dc8d44dfb92fe14802cf525332d6e","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.27.tgz","fileCount":13,"integrity":"sha512-CQjhVPVFcjQJ6zJFU6Ir4Divh+THYEejgFTSQe6pkuM5yENVvchfTqbgRPndmcn7TsBGUS2GjwngwmVsM4seNA==","signatures":[{"sig":"MEYCIQDMFr1mw7lgepej75usIvtxPIi9B0iohaDdGjx4AEUheAIhAITld5oc+MkrYGY7hLtn1Ogd90L2wX00hrpJohaLadq9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoDUXCRA9TVsSAnZWagAAGKgP/0zRkKLPGDpAH2SVDSt0\n5HkG1IMUI4xxaWDPNRnCB8zSk3CMsM8y4JbSkNLXMdg3cBwNSjqotKmdz3H9\nrx9qOElyW7lv1rwLK/7HpVinY8z+tg7jSyIz2cDn1HfIxkiqpRz4q2Uq44nS\nABUeCXZ6ewna6/EFRjcZkMiheOfcbs0ausx0wYuW4s2/SSF4sI8v/kBtBtdf\nQ3GYq0tkhWr4H6I8WZja8q0xEaUkj8O9iyLC7Cvsa+JHuVHOqjmX6T+HEjzb\nu6IQ92n8czd6ryAbWeNc9tAyf5y8yMftwWX6G9YjwTZMZommYRKDslSJiPdR\n1VTChAGsEXgE3FHjvZAYaCr4M7d9zjgUgjOG0shoXn0VymNrG2uk0DXAXW3X\nSt5xtlJxOJkJQHXXkShgZMHVnkjgTJzvehiX2saRnL4V37bi5hxn03qudhaU\nRW73mkEkvKDdjSeeTXsLeeys9xckpVTF/aaJutMRN9KLOtX4P5iTtsJv5I29\nkcNBmxv/9Ysdbcsux38cgSIKC4moVm2tcDaOmwONapSb/kiBsc1jnv9edXl+\n20mVFn0HvFq+u/aZ/CNOvPGSLQlOoudZxqSKngzoEB8GImC4drRcf12rzW1J\nCfqCZMzhLYPvCg5Yd3SRoqz5Akv5VFr8jQi8wMxScspFFOF1M2On9fDIsc59\n3WW8\r\n=Nae3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"de2f0be87aaadfa43212214d4f491d68930b2495","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.27","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.27","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.27_1570780439357_0.718408518025375","host":"s3://npm-registry-packages"}},"3.0.0-beta.28":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.28","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.28","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"26cac96ad652bf8899743c259a1f112ae0c3ed78","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.28.tgz","fileCount":13,"integrity":"sha512-4l/dUvmMblMlh2fbhIWjtTktUa/t4zDKzSQHeH+lRbE2ld0FfFNP8oNKaH1aShuJiAITrGJeHzNAHSxvZkCbDg==","signatures":[{"sig":"MEUCIQD99RfroFfQgIch3dHCsop6LiBwVUx8vK8gZQIWOimjtwIgKVEKew4zXqv7YVR3NuceWtiyGswMxywOiJ0TinqF1Uo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoDa+CRA9TVsSAnZWagAA8WsP/2zUTR3Sf/shijCiiQnN\nqMEi5WvEk3sHOJQ/bN32wkp7HECqFMwP+exH6qsnH8k+qd1p4DWpBEHXS5Ug\n6/ikEmGEHGaIUEeNUq0mDjfZlBT1IRfp/+HfcyzgDOb4tYlsFl+dNkosJ3+E\nBLdMZf+No+737lUDucw8M0oQUh6W0J8PbrQvyUrUT97E/knOdUqJWAYXevRL\noUPMh8+SDq2OJ5L2iIJ2jocsBA6EFfetxn1MaeolLPQDvxZvtcMizz25Qo7f\n49VFtDRTkdy/yGxB+GpYWOVjcKfDD0iKwsAnC3iSHnDHpXxw7kRHhLeZ5NNi\n8nGUDB8JtuzzOzrGvbiPSeMfTjC95qI7u9iptyZz8PyYbCA6N/rJQG039BXv\nAEyDGNpNFi0sclPX2RDUxsJXpjFIb6GzdH5fdpznqcPlMzYVQCBK/B4W+h9u\nCDtFqUegyb4QPvYBD8YkRZdyIkg7n8Dg0z0iT+b9RTd2aFMP8Yy9UkcZHYGW\nVMLLi8q+4PhQdeiJjgp/COIJnmWwdb06p7o3aRw7oeNh4DdkQFgh8623A4qi\nyAQ9f9Sxz9InZrrSiRb0b+qSTMDWbC/k94NjkZnyn3D33NH4bouhFQYumP40\nbQPniNQXBCP35dlP0ML053t3MhWciTQYTJXUTrqsk36sMsTZ5XwsIo2IGA0n\nYiyr\r\n=b+BR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"dbd14b0bd931ea76999d514d051dcd0a3ef6a8c0","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.28","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.28","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.28_1570780861473_0.6741130008279586","host":"s3://npm-registry-packages"}},"3.0.0-beta.30":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.30","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.30","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"b126dedca40f09cb55badc71daf84648640f178e","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.30.tgz","fileCount":13,"integrity":"sha512-pbg6T/zI048nh/zU4R9KzLow3McKXGYSQMAkBv+joi9o+QVrdRg7zrvcSLRIaheqE+78q96kRN1UzoXe3gMAEw==","signatures":[{"sig":"MEQCIE+FHdAd47asWfNRrLkJ/J6GJ3q7Qz6dxYMUoVTQL/gcAiA+ERQlIpupkWETnWJOYKn6zEs0Zi668tcUCypBHzbDgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoQkiCRA9TVsSAnZWagAA918P/0yO7kPG+vWVGyRLDa2A\ngi79lm/MqBBlIAKjeqZAVcZ+TgUF4GEUlNYLTs1eb3nr8VzkS8qqF5KKEPaP\nztUWoUNBm0buvzCOE4NioTethBHoCX9nsjWQztXpZ1cM67oTVUVMit+Z/CWW\ntI+zdYY7RpZJ3U2RiUz8n1v+GefbpIZyzGsVDlhFlKUgZSIEzytq3YxPr7j2\nku7HJDG82gRdIBJj2Tbfdv5sgSye1V2fQAigwHtsWw0FP74oAe3Bjeb7CZOS\nyAcQMhT4aKqH6s93BVRuUnZ29pFmQxPgBeEsFmGtBIHJyONZ8VCR/TQVC1p/\nRZlmQ+493HqlZm3n1yA0gfXWuDJUdSAnTrfVO/V2wX94NYWTakDDt5SXWBvh\nqn5EzuazKizVAXSAsCR6hWdO6c7Ddh5u7xAy1dF0q9pT3ERy5PBr9Lj0i3Vy\nxOVAqQfBocPMTj2hy2ASG6KE8n0ieQxw6JqfiX9eP+u6T5UerfO1oV2WpsaU\nEHAUWPZJJeJPuGnrb0NI0yastRJd0yRQuSrO55EgRDQ8rf7Tpzz/BJ2SAF82\nF32tJDD+K9jAfTQbj1unJhhxyne5NAzjr1Ps7JabUnh5S3gBYz2zLzWHLOMO\ntef0t85eRAZBGKnG+/QA40X3SQ4TModpoAt9SsUC7ZUXq01PSQqpHPyjj6qv\nYTEL\r\n=io2m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"7bb6b9b6e2c1d77cf7e65680aeb6a4c60e0300f4","scripts":{"docs":"jsdoc -c .jsdocrc.json .","test":"echo \"Error: no test specified\" && exit 1","build":"cross-env NODE_ENV=production npx aofl build","build:dev":"cross-env NODE_ENV=development npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.17.0/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","@aofl/cli":"^3.0.0-beta.30","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.30","jsdoc-babel":"^0.5.0","lit-element":"2.2.1","tiny-js-md5":"^1.1.2"},"peerDependencies":{"@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","lit-element":">= 2.0.0 < 3.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.30_1570834721909_0.09228713847203651","host":"s3://npm-registry-packages"}},"3.0.0-beta.32":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.32","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.32","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"a9ac75a9e748b4bce9241cc2631e50f2997023fb","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.32.tgz","fileCount":9,"integrity":"sha512-q6UEP+NBmTexqnJKzOK+dZPtaZjVzQK3up8T+fhnylJwzAIaAVEXXHY/nmcqE7NtGpk4ljImlhWVPwnvWpSXow==","signatures":[{"sig":"MEUCIQD4M/Fv5shH9rlfB0mIQvM0JAMDiQ91JcI8q8nT0HazaAIgQWcLlGXkH8fWjkjFXfgVh0b1TEAAbU13fQW1CkeRv0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdo8oECRA9TVsSAnZWagAArLUP/0DWoTeZPc8Rccycyi13\n8YKNUXqXHzVr9G4Q0/FupMx1I8l0D+RRSfXBc4e+zMaq2wyVCFpggnEBYtv6\nO9MBodWWJdBC4aRm9u18giQ+cmT7rica/B+XJ9Q6nMHDLOrgKeXmAvskgHuX\nksRyoiHrYxfHIlb/v4343Tak2hmEJGcIJZZjYgcNLrOyuq2igGE86BeWIn3Q\nJVn5NtKExM7bJdiaQO/8mqRI5O/ANBecVJ7xV5btNl5WS/HLmu9RboIQSsUL\nNYcXKjeRvRs1XBdnlmTP0Ua5WUWBXTjCOclM8RN3FYRNqtFz/ySaOh7lqsUb\nlvsLQw0IJtWKvGpdIF9+aJiE9xkiqibL/XIjuikv/0XiSEsLCE504pjNBNux\nvcxtSN/EVouPXM4KhjUWsnZMDmP54NLIJM7a92ELP56EqaKLPIaexN+XFeNu\nmDSVxSRp9nhvWDTkUxDxgGYGhnwIRHLj8CtvQUl96/yq21hXCriMklASSqAE\nGoo85GsZw8kGZXM3I7sJXB4cqV8PmlVNgEYcYE/gbg1kkucoRT3osTKTA6KM\ni6Ck6l3eYYzV93wfJ3ZMvbjwVqFYB/SE/pg83g4Xh893MIopGLuphV18U0Vt\nCye9TGOBhI38+xgcxH9+kOng42JM054O/RUY5N7DfnCUtzdAxBv7vwb+mnF+\nf3CQ\r\n=P19d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.11.3","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.32","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.32","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.32","@aofl/element":"^3.0.0-beta.32"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.32_1571015172248_0.03938230931158415","host":"s3://npm-registry-packages"}},"3.0.0-beta.34":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.34","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.34","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"662cb6b4f496315b51ea28077a356bf406b4a782","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.34.tgz","fileCount":10,"integrity":"sha512-wEPUCUXoYZhplsjQ96O8IjkyeRCHWlxpdqbsh5F+YAdXDATLD255u9fDmadN3S5iO0jIzErNmRgmx+WD+hdPdw==","signatures":[{"sig":"MEYCIQDvzYbJg9Q8PFKoNNmbY3WrhLFfO2f0nUm+30+VLqrDxwIhAJAdjCXaAZpASHMlMlJXW4z8KUJ5F22gGqRL6KK1v7Kk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpCWgCRA9TVsSAnZWagAAqbwP/0aboqfTybwAWoqHhhID\ncfYNJSllEZryiljZgm4IUnl1bMiOyL08pPPUslN7TRjTWemc8d36zzglR3zG\n+7b3jkIfiZKj3pj1qSVneeaQ0BHyGhc9HTGJOc+mVFQzzlLLQO8M8k7UAQ2b\nc3LimN3RKfHENzv6fMfRztNH7jtnzG06CCALQAC3TodTuh/s7JK7J4fVA18Q\n8SJ1WZsbB/RghrnVRAiIe9l4xHTqXjS14NYcMteAWZn92ZWT1UTXDkLH+n+k\nuASk9Iz4XESzjcJEKGCjI3Cgx3eYfm2RroIzidoBzs1JcroOx7BpPc+OxQOn\nAquKt72PKKt8JzF/kUAVCuqMi0ota1ClqPr2VG4/RY3mOQZfmFiqgFXiucvU\nH4QVfQbMa/A8xKIYtkCq0G06fcTi4hyk52wJiuuqXQr67bks6L2ehGoeegyW\njf0vJZqOWkKLjgKGlJqXT86h6bWtW3+ogq6ugH0DvWiawbcJtghnZqTj5nUB\n2agw6AoYBGXiT+QHvOah8ivwiEcZvXOfDMDoJ0qqPQRHyozjb6dmG5Nb+DCa\nwRGWORh8PQc0Gmw4CLU2U4bK9VBCuMmnpcXjK7kh0KOkozxnHn+1NpriTyIZ\noKdgqtxV7AqTZKsdjZ6Z+QDp/BBfDVbbBiNBdjXHbXaZA/zqmTFtWh+uWtA8\n27lR\r\n=sG8X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"4cb990815f59483bc2ba6051e55cb593245567e2","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.17.0/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.32","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.34","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.32","@aofl/element":"^3.0.0-beta.34"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.34_1571038623993_0.8887301825096834","host":"s3://npm-registry-packages"}},"3.0.0-beta.35":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.35","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.35","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"3d62f6bee2420e97da394ed126c7ff71987b5d31","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.35.tgz","fileCount":10,"integrity":"sha512-p99Ihbx09CUdHM8Q+QeITPKc3kJ7x+6kI/ewhQsqP/LUNMxveVdELtqZMb+4JeeUJbuJeWGOptG6SiLUI3heZw==","signatures":[{"sig":"MEUCIQCUdDp/XY8JA2g28jZq46X9gsTsuw4xeDUwnQ12ZgvqVwIge4CezGJCIfE5PJjOflgtJje222Fjc4b1IGbfvhh/mfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqWK+CRA9TVsSAnZWagAACYUP/02qHLsEjlz5YkMQy3/Y\n7b4xHQScy4EN2l7OTco41s/l20HMMuoSqK4svyA394SmNwgfl9sPgiATIib8\nk3t+X64+msMkuRzTJp5gaXHORdAdrachZ5UkVQrt7aPZUfYqWTp4v07/+LBK\nvZ7DtzG9hgsEgNLGKPGKV9noSi1TQhqrcp2n80y5TkGycQGAQ8cK7RFircjU\nQPafwttrr4V26bs/jrzJnKK4UxL5yMJDslXvNnnqAt93QTtTDytfTlLhPxzZ\nWRGf1VDYOlNY9SCMuDzRZbmuIPS/hdG4GGcXf+KphmM6yJsErFBVTZm2Shii\nkM4gijMy+WwEf2RX4Nc7lajSWf8hjCzlYwxArzrlfuMSUD777koIDqhHxPV6\nUtGOGEYOTFbUm5OflKaP1i/i79pcNuT1qjgv9YW1vpX0OAb6FGa6TTLQd/4T\nyDHQWuDAbXUxiOKAdjsKZUie/AHqqhbO2J7AgHNcVHX3JHUQVlPlgdjI3VuS\nh3Gw7fSDBYSFEedWpu5nqNQaJii4UUl3dbipYIGrpuNy5zBg9UwcN10nEpi9\nAooxAc1BCGUanqxM89NBqR4TJckBEw5Ag3VGPBJml0YmEJGUdydNnljAOBgs\nYQ4bLMT7dXsbhWzqGshSLb8V8nLxaQgKF3aPZ46trgv9c+QtXGGH+H8C3ypO\nAmFj\r\n=YRRj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"6506e91bedeb6cd9a30c22f437603e14e02a3ca3","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.1/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.35","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.35","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.35","@aofl/element":"^3.0.0-beta.35"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.35_1571381949953_0.7362743552798663","host":"s3://npm-registry-packages"}},"3.0.0-beta.36":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.36","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.36","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"8013d71eb612dbb48c55ed2a8cd2fad8bf324ee9","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.36.tgz","fileCount":10,"integrity":"sha512-1PUxqQJm5vzKn1FDY1RcJ/eOc6VzV+8b9tTN8CSV+shLBVX/7+3oog+kc/WYP4gIwUPhdqoXyQGWgq1bYNkqvw==","signatures":[{"sig":"MEUCIQCyVfwadpWUFqDi5Y7Y9sHQITMLAU6lgehMg9qy2+pngAIgPGL+3xmCKbehAAF77bVCgixDkjOjeBo4jS8X/PejmYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqulfCRA9TVsSAnZWagAAYaQP/isa7bb/JHIkHNaZJZb7\nR6UG5ArV2XjLPS/B5m6eDSbBzprQOJxIKq727ZyE641ktcycULWRBoWt0T2c\nPLYfizjCuy8c4D4Y084RuXDah8kKPIngzaJECc3nv+9Q6CmzRvBovCj4B0DY\n4kmQAM9S3oXKE94TqHzJlviE8JIq7V9jLmO1xPEE7LV0A/lBz9k6LtpQwX6j\nz4uFdsPPbUYGat0wx687T24sj34QY0tcoQAbH4LUbrCA6ixV9XSxv7OnNi/a\nFDo2/z4ezBV4ms667AkI+dmGeGtKx+sEDVyX95bi2xUtT26PvOWLmrNR0/G3\ngRjnVjCEevQlCfShtrayclOHeNvpWbwkMtSgGFU8ktyRhVF9XtlSn0gY44Ew\nG7aE0ccppI5HwzKrVQy6K77wG442eMgCgiqukovhFqeocmquRf6R+VwSe04i\nFlRYPbYmLDriAblb+U8vSVeUSWDz77BH0ertWLsta6TcXqOmEb4wV6Go3egb\ng0/dqe2qVPa0ivMZwTWEoP43cQIdHsWF8XkiIq8uY/PIVePlzWTN0d6U7nz3\nEBEMOFIXOGYjZT1LgdegPZxft05IlsU88f2+7cX1+M/LifCUaVQAxdcRqhVH\nLuo3K9mURAZjlxVNfj9FXqf18WCdKqjcyUbsQjOY2KhpMnivvudHtXQ62FY1\nb5mI\r\n=KGtt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"9eae9fc87437b61f0019ffedccbc3df7c8e02a78","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.1/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.36","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.36","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.36","@aofl/element":"^3.0.0-beta.36"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.36_1571481951235_0.11108988379363316","host":"s3://npm-registry-packages"}},"3.0.0-beta.37":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.37","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.37","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"843daa54263677436abb9285128d08c0f00c452d","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.37.tgz","fileCount":10,"integrity":"sha512-xNzQO3n37XcS+Vv3PiwXcFf5sm0oUTPcHAXIWjUiLwSIu52V0ITOKT7jE/HBr/kvZpYrqMhpEdQK2HsG3juYaw==","signatures":[{"sig":"MEUCIHHhsY3rxshR5LC1ZU7FTORigFGpZvaL1hfUYiJ0d8adAiEAnGCH40FcOMe5VUBa+P+oGdIIgU1ZJCJcdCQoH4FzS3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsT+6CRA9TVsSAnZWagAAN4oQAKAnqFVbsakzzOIzMzcf\n/+fTIPr9aKPRA8VcxGp8Ap7NJ8HNQtJO/nEHFfgseYwrtTu3LW9gicyMR8jY\nx3R2AoqB2tlCu5FDf8iaZX6Td34lzIpyBGMsdWT96JzzYxpqUKMoxD0DQQBp\n5lhHN13Ne3sA0cq5kgOG4saRNt6kVne4mSEvnBoiHY8v48Rx3Q9cq59UDiOK\nparaiPYzkJk07bW60hdxrOTdI+MunQLMsz/1F6BLo17zX6zeKT+IHv5aF204\npp7B1vbtR7fHpwRl7TUiTw0TqTjhtXdYjPVAJGGrw1fq9xAnC8Y7dtlqugn5\nSZAvLAmfVgj3VxTdTuvtbsmUF7oVuWi8P6b6XHOgFKWS2tKvYfRthVsXCm/P\nxkmzEUq4tOcnDUWSPF0LR5HG4S3NzsKPRWUxW+BY+V4rFi66ZCasQcyGNvL7\nemb8ci+P9DKf8riWhKGCPesgxX95fWF1ihq2tAqkTSWSDbh44XXaETRHvRVn\npHooIV+OZxKee44VGRImctE2VBR8sOFm25eMjeIIu+I5hmd0TQGP7j0CQNs1\nvqn69/dh3b8yCMVqugUjCUBPht8X4EZ+zwVWBkic32gNGt3mLEXXqndBFVMN\nbDs/vxcn9Yb53ZRnUzLqeNQSlFPge2Rgcv0d34DjPyjMi0WxseWwxI44KZEU\nAFDV\r\n=arN5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"90abdfa3f72b91bd0c98e09afbd59c21621fe846","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.17.0/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.37","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.37","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.37","@aofl/element":"^3.0.0-beta.37"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.37_1571897274017_0.11508790253525203","host":"s3://npm-registry-packages"}},"3.0.0-beta.38":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.38","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.38","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"7a141bb8a748deba0aa829d4b124def7eef3d3d0","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.38.tgz","fileCount":10,"integrity":"sha512-1dQb0fYJ8k/6Qqws62sUBumps5ojK8685i7/tHlqfnJbPhIxtKe3eeziEGHUR/31gBPv7KJeaCH6PXcO9ltV8w==","signatures":[{"sig":"MEQCIFEPrRHpHKW4kLvav8hTLpdgo3i73Jfa1v5hvNuRIzUTAiB/7I/GGmDu5uxLu+N5RzOwpM0dQaF0CswPqznSxhaqGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduhQnCRA9TVsSAnZWagAArbYP/AzLAMEUUxACDwPxwCDC\n2E1afMoVR8RcpwPXCpfsO2OW2vcLj/46jPSF6rubuR11Q43ajyplN1MtntEN\ntcnXR0tM61I+iLNmkdYNAmulFmRqyDyWKThrTyhkS/VWN70ExHBVoZHXf1Jv\nd3muvbv8w3audkqos6na4dL7lMJ/ZXcI5Dp1H6aq2pQqOfei/lUGNyEC7+/K\nEMXLxDmjjCQ9cZxecr0dieQPja/zOq1egYc6FlC3W6KA1upjA2Wi+sBMZiWr\nLU5gDM7paKnd0OmKpIjWc45dG/YUXIvSsk1/9AZqiv5vM966qNAdeAOhLslj\nURStaoeiUAG8kaJHuZ50EkdhLJLpl5pDLV3Uy0kxWKXLfYO5sYoW7pkPRyim\nZudJWO2zvxhJN3mA4dPebp5WKfEUE4SIjgNcBL5B5bNO6RNfNtJNktX8jk4T\nAEpcEUJU3gq8pdVNxnEAvYNmCZrZB6yNXUuoGSfRpW/PtDAdiWzAsMZRVsc5\nJNQAj17u82GGh6I9s1B7tXrR6sn4h1XVDiZnh3RdFhtIG9yBqUlYXjP/mXHY\nftuCA4+R53w6g3L1p+67oq61VulbY4RX+iBWSlwfEBV6sLAYuhqsm7H2x5++\ncjYzl5CZubclzeoHayBbwxLGLY2kkHi/n4BLmRMtR3/V5RK0VsePEVUCvgCt\nTvGj\r\n=HzW9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"9fff03a99453d439b551d48a69e5d642b9957854","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.17.0/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.38","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.38","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.37","@aofl/element":"^3.0.0-beta.38"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.38_1572475943020_0.31543270897385156","host":"s3://npm-registry-packages"}},"3.0.0-beta.39":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.39","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.39","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"87fc22d2eb1b1b20669c1f44ea73d5588352ddd4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.39.tgz","fileCount":10,"integrity":"sha512-kpAFVPLlmFVHwpefj/RQjTbJfQ+98JevRsQBlyeBJEFtqGESOtSdXU3ooHfOYURudH9xnWSumXtsoW4fgIW68w==","signatures":[{"sig":"MEYCIQC4AMT0u0SEOMIs2AsHoVN8QY8U/5P12CNAofWY4WKNowIhAK/5b7ubjN6OxcccA6XDUJT1Ys7cJG7rkJcFypcn/iEQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdujP0CRA9TVsSAnZWagAAvi0P/2cu0mV7eiEYDf+Zazxl\nk8DuJbE17Lem+UR2quDDXyw++lK9vsPCnqdSodiP3RedAB5tBcEGQy3XQ0kR\nMvedWxHFvMqsQkkSgorQD721iMmsNM4rx0UiCf7r9zfbxVRpQCzRvxrlzH7+\ndr4+Ka3jxSHEqe4Hf5UlDVoF/kephbOsQbePXhAqkSoCztHpUf/C9Pcvm6Gg\nCcWxYa8AuzgXtBC0HkxO+rDN3FLvbArJ2JYsHvns/nODkOkSTtHYwmg3H1/i\nSFjpaT8/jBF30Zt4QXbIVpUG64O04TMjOngPTXzOVETPNIrMVWjFptY7FkC2\ngixpSHCw7QDBAykSQ1kGuSVmmg6kD5MGso2jKWa/V4O7EejdKQ4mrncUCbMQ\nuH0TzCRA1F2IzOC+eZ8s60hsqX8uJWNYC0z5HwGUqjv0EZt5NNG8HI/wDI3d\nMhMO0UMv1G+LTsUmnJidij74A//oUsgKdqgIpPYuOzFq6MebzEOZkna6Uv80\ndNkn9Se1Jz2W9ONMUgGjAI2887iipbOXRruBYzU9tziTLm9yRaxNt/8jl0mk\neDipeSq57pd7Act4FNSlPT9uyOC+Kq3/hhoDaTYEkQgQ+5QZt7aNkrQPm6/S\nm1yPDRxh0Wjk6niffcfqedLzmROB+Dd+Vn5Cv4mch2/p36CMc59BNCU6TTaV\nfgZU\r\n=ucTv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"34d49dff4ba970447c184bbe8809a533b1146a27","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.17.0/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.38","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.38","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.37","@aofl/element":"^3.0.0-beta.39"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.39_1572484083593_0.7903335534863123","host":"s3://npm-registry-packages"}},"3.0.0-alpha.12":{"name":"@aofl/i18n-mixin","version":"3.0.0-alpha.12","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-alpha.12","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"0184cdb9d30229726924308883f3a1249141ca90","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-alpha.12.tgz","fileCount":7,"integrity":"sha512-pyDEkWjAFq3gGRwFiawupF2ROXhiYNciyL1sdUglssVOZbDy+sz4QUw4sxIoICv+AVLtipEp253j6AzA22gkOQ==","signatures":[{"sig":"MEUCIQDW/DXymdtyxw0n/It/1ulvjtXIC5oPB4p4+uL+7hWjFgIgGskmQyWZOR13JgAWhsknaSMPz2tL5f0k0FlaSxMQyZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvNfVCRA9TVsSAnZWagAAZ00QAJiRBrvVu6LLLrd61nj7\n9NUSgATpr9TC+NxY20sb6YHlg+m8qDyN/0J52H054zXXfKy3jTDeAXFiL4bv\n2UFZoBOtLgs50Crz2JqXo+j39xdxK1fzvPSzMOv8ZHM47RUKN0wbGAjDYTCW\nno98RKdDVxFgFfNmIOS0Sybf9A8E7FLt8IQB5LutDkMzv51mHRY13C9qJ/Y6\nBnpBqEx7F4/IhTRUPN3xIyhpQ3rMj0Nysy8t2FG51wZL5ogzr2KX3rNeqbX1\nBgInmmUkRfS1dZfllXx0BKfKAlP5Uk5Ka0ZVogopPhDbEyWHWLLypDs966WL\nwTdk92TpGhUFPSKKvnEx+jkbc3iavIju02CRxGHzoUJOBiLOPHRWYwAvR2gO\nV3kBpg2IdyxbKPAc08kvd2EcCFgCBQZOQHHjYozSh5kIpiOn9SFT6kkgK08j\npjlA2ldIw5S2RKWCKbesWbYQzlhIVUmvb6CPbXECWmHHx2281hGoZFlv4/Cr\nNPaIg5FUx3DxbYy2qmXMxJ/WkgqKzuh/9txNrr5YPQIPu34v2HOl/N47ro2H\nhPPX/yPYWVb8SXdaMRmUGDWrLbg7MV1JcMa4atFJsWbIFl/qZQQW67xtyynB\nS/cUP7JD/oT5CrakAvNRXDsqKfIutNmz+ceG8mPwRVlKeXOuixtwG2nXkCNY\nSaFe\r\n=wihl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/master/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","gitHead":"e76c3cfc8d75ca087492088254c9ef0e4010c0c9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.3/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","dependencies":{"lit-html":"1.0.0","@aofl/i18n":"^3.0.0-alpha.12","lit-element":"2.1.0","tiny-js-md5":"^1.1.2","@polymer/polymer":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-alpha.12_1572657108949_0.5544825404837612","host":"s3://npm-registry-packages"}},"3.0.0-beta.40":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.40","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.40","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"245e55bee19e5662b6d9f1c42a0e3d8a9c2cb533","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.40.tgz","fileCount":10,"integrity":"sha512-eLfV+NNIPBa+HGgP0zn4oAqfqqVbYgCAEa+irMSKSDeMxAfiVITvl5YxEmXcnKOhkatiTX+Bx6OPzPVubAAWrA==","signatures":[{"sig":"MEYCIQCRW7ezZ+/BsV6hf7L7AfyrWdpSZfoIFmvGXplA3JHwpgIhAJwmwMeilPWRMoOnPLHOQWc+P8TSy8plb35qUqGPWJl3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyeE0CRA9TVsSAnZWagAA6rQP/0QHk2rzniDFlZs02wu4\nS+4in4WmvIg4ae5dyiG5uHCop+3IlL9NG75Bxeu0JWWu+E5f9PpWseEg7F43\nIidEti9VAlHJQbiK1MdeJL0Mv6nZO/R3VfeMjsIMsHP7eKa5wJsvNS9IN8U7\n/VZbNtT1nJFi46/x24foyeQ3hbRq3Msmaj8hJS6xscKiMIhA0M3RyAgW3AIF\nkBtI16kmQYnZ7yM+caOg9fPk6A2CiHInkbXe1hXyKYilhe6HM61HL4Ln5aOR\nHlC9fcOYpaCLbSma3ITKnetL42CsHmBcmOqxUjdNoc03qts2CT10Bl0dpuuD\n0ki10l+mhYNOk+7NF0r7ZH+OLSYUsY2KSAs3Sn70nEDQBYIm/GqogxRqYNxu\nG/x4NjBkzH8LCRGTa5Mox4O1iFIli1E5T/gUo7yd7gns2xcU9Qgoi9btp9+9\nOjpfBSootgOh6J6kvX5RjOdQFdWGz1sVeWOWTN5mj7egGM9G6lSA8M50NaK/\nMVWgxHWVJSXPLfKh27j6obe5QOrjk2fNGmMT63Hwq8iSEJpOy34SQlm1pHtI\nJuZEBHgSpfK82i9m/sj7bJgsBjgHYXN/3j30uolASMNsKItoMi0nseRmxOU3\npZXoSQIcNq2WLUOkoFg45809qBPpkZtD0+UZEgeajHZ91rmNpKq3RSsLw8t1\nlAjb\r\n=pV7d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"0bfdc05f0d4406219d0b432a55fe53ab1726f4c0","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.3/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.40","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.40","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.37","@aofl/element":"^3.0.0-beta.40"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.40_1573511475598_0.6545827272446336","host":"s3://npm-registry-packages"}},"3.0.0-beta.41":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.41","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.41","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"882e5044e576237c9fc1d0184308e7563b87de5e","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.41.tgz","fileCount":10,"integrity":"sha512-bCQtIHWWLZp7OmTJEgp3ZrNnimq2RZT9t6lrHk2HfKBRMZjF5XeQZosk1ALYWru3ypCAvIoPCOS7S9sovnwayA==","signatures":[{"sig":"MEQCIDFB7XDesjLWQMF1miKxzMIEdC6os2LMXaORR0jp6xL8AiAfUysO9n7vSVRt0RhASc+/VIh7F+aAXbOEDnJiQvkhSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyjtICRA9TVsSAnZWagAACx4P/0DQ6OtAaSxBNaDUm6Hh\n+GfJRW+rq8YXp3YDrnf2E6Vjeg5sYVuE+TZ8mMzsPE6mAaTuB7X3BhKHXM5j\n2mbma/DcQQZ+AKh27I/kYLsL2wG5YsNZ47w8dvZ580YSFlnUyXUGJRjWWOpY\nB55c7ZHmcAxIiBjUibAZNEBVgOqetMlGGtX+4MurN5uwhHDLRqOsyNzu/Vvv\nInmHzKZSYKJZt8K803ZW6jztFN9qDoUMNpV5/1dmbM7GYBeM+JFW0vAKlR+T\nmXHYZ2Pu7ppkrYE/AnBxhJrEWvYsrdVy4kn0iIu/Q8ri6U+FkhTB3bZbFY7N\nNRxYqUGyThAN2xPjKidjC+51FVkp2GkOY3bNzKakvJZ7RcdUrx8tVzRjIW1S\nT1xa2lg5J49BBCzGXy/jpSpeHXCCh2J3zrzAGAtQc5TfGwuHVpmHfQfaDyCK\nf12K7lCXfWDWaXf8B8XKcS90aXapXeINrtR2da6oEUuAy5x1Cdzm9hCpeZNN\nlXNDuO7RFAC1yd3Oa4FeWsUoUN+iM3RmViboEeLmpVKiuTWQGBVpYulk0XdM\nSIuaVcp40XCfGvUygY+q3AmPmx0NoXLx2X7tYCQ1BNrkTjis4Yd4qf6WDddk\nolUSDlwUbaS18qLJAcbdW8kHuj4RxtiJWDlae6EZqrM7c21gOejWKNgJkXDt\nAVRt\r\n=EFhe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"212bc663acbda22a9679fadb2aa64484e35dc068","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.41","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.41","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.41","@aofl/element":"^3.0.0-beta.41"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.41_1573534536227_0.6212033889227622","host":"s3://npm-registry-packages"}},"3.0.0-beta.42":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.42","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.42","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"296959e643b0c96b96c127178eedc509347391b9","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.42.tgz","fileCount":10,"integrity":"sha512-Ik1klwnLdwYG9j/TCxlsSae+Rg5cyinQYYtj+kG1T8U+f+iUhQgOOE2fRiZBco2Rpew2wOH80090S4pZZufubQ==","signatures":[{"sig":"MEYCIQDZg1KOTnH2WIRmbST9szwY6vE6cMoJBfnCMhBgUkKHawIhALgyREMNSMQX7sa8uCB+CxwnoK/cJ3qxKMWCyNBMEr4g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdykjoCRA9TVsSAnZWagAA31IP/3inC2fceqLD/iLruChv\nQcN+AnUJzClZXZjhif70HAWmv+gFPtiLpghvaCMJ60cSoZlFZNdEmGwIc4Gi\np4AVETuwrprLX/7YgTMOeA9OVmmfs25D6ItcbIXiZwZLVPgciZot4gsJOV6p\nmdm2uUYNncOj1KD+1cgd56rWPmT8FVnju+xuv6Px2iOfwG5rzHqtR/yVJr4L\npESL6NU9OewIscFnRm22B9p6bLcxWEgMdolQgV5XEzI7FRY98G7A5CAq7v13\nSTARAK07GuiJMVVlpuWN6hZCvUe/pJNH2T5wXB8SuPWoZih/bE6fMFHR4Piz\nH+ZPphUD6Pe0zSpJ11PSeFaMSXZ5CY7SjS5xIJum1p7RYSVw70rSdnPWqW1S\nXIZSYCnt0Cyhb4NmlA36Urj6/jR3wLCMt3LG9IcGUqFgKCuxCtDPaJrXh/YQ\n+xYF2SdsVrGH9lriCOqpP7EPdSkXE4xnLnsoNYc1V8wUxvGH33IyZnYnjjoS\nI0YFOrDAm5w2OLk26URhdvLjm1rsU2S/oLZKRcOnuZsmFddzofb+9/QFunwH\nRsJAoJSxFGIoDC+6T5xYf1Y8cJ7oYFpt09g9f/6V9fXUiO09+oA3ycKZ0XHz\nz6q1u2O2VF+UNBSe3lyz74ZjomxkwEDEe7kYRlAQfFc1qt5ZUiiriCEN5/tI\npDGz\r\n=udxy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"699b13b7bf651fa15a25ee2873b72d9fa1ef14a1","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.42","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.42","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.42"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.42_1573538024118_0.9447077816671343","host":"s3://npm-registry-packages"}},"3.0.0-beta.43":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.43","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.43","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bb939b63c6904c62334b6cb60a7a29cf28d09397","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.43.tgz","fileCount":10,"integrity":"sha512-4r+5nA++gznlmUyU+ZjlCUhnIWtJDBVP+UurcBIgXhOeQ2rIv7iTp6lJeyL5n5t5YBEFExpIUvIba13+WLWMaA==","signatures":[{"sig":"MEUCIC33sllhWUSCfBva2AKsO6kYmfEKw1MRPluMUXh0SM5DAiEAlYjuSPBLvqo78vJ5wcztLqZSl41smT5AIdlzfMpXW7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdymwQCRA9TVsSAnZWagAAqN8P/37U02ndguHEVBicTa13\n5z7zfXsIYWHnp2QnHXzP0Kx9bSeYEyv0746n6E1/wkpDPi4THjPWSiD/tNOQ\nVOMEGO/50P9OC2uk/EVEqEBHoMfQN8u/F4vAqpPWUwEFIJ/sz0kMRVpjOQ7c\nmksgf+UyAGolrZuk7f+Z08rxj/c8/7Yuw1UnsqPzZ3uqYt9tB4EcnXXR0VUO\nAZXDgvbagAC3EZp6lMUyGCCX2kJPYr0Y8BHO5615/yBCZ1/Rr71tBLUwh8PF\nH5EWqKQC7Uu8WEoghS6uQxR6bsbghGusdvGaNg5puAdJ6guUJQ1PSsS/EwOr\nQk0riWlKv6Jy1Y9il9Eoz87xArX2V6aN2+54Wafp9uz9Zlj1Y75BfdqSLMoc\n6KpkV/+tUAYEpyf+0Hq4bSW6noIG+ZLGchYEi8Jvl9aeka+D0uy7BhFtgtMt\n5Nfw2KdMCl/8FDbS+LgRdVxRLUZwfgl4uUUcEMCed+2wN1Bfz/8AuwDnBajy\nUOPvbzV7cL9abaQYU8TH6j3a4qZf/4oMYyp8/qFRipeiv+NWWuQxU27LViWV\nnbtrV4KXhp9xs/i6B0GYT6oQcyE1lNDlQvJRh7+G66MgyfWAFjAbfALlCIQI\nwA9OHjUW1fC+LaEeMA4OkS08+7U+lAl6WhQ0+uWNRYnWTkDJxL+qqfDOgqrp\nRYiY\r\n=usoZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"cd2941c631e272b2506db2500b20487f63f7ca43","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.42","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.42","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.42"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.43_1573547024119_0.35570365085169553","host":"s3://npm-registry-packages"}},"3.0.0-beta.44":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.44","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.44","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"43f4707468968f7c6f85bbc38ff5819d7ecc49c9","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.44.tgz","fileCount":10,"integrity":"sha512-EjKFHzRvWpBDdokwuNdNADwyIlxRWboYDkgck9/QNkc9LlQ8xvf+X/ujwq6et8kmrW6S8j6CJs5Z7fTlRKMR8Q==","signatures":[{"sig":"MEQCIGNCPZaJTdJgC5f01SJ+c3UBAdHlokGLq3PzDE0yHhePAiBqpImXua815us+2nB0wIstrE3QQdiXF45u9ySUzbswgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46301,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdym2qCRA9TVsSAnZWagAAHScP/A4m55NhxEjh41X+gpxq\n7HyBVZE81jj6bCPD+NGZQ+nEFnMPeccJGWHpZZIRUMi7qGwVnOlLHLqhgYJz\nYNvBdhB65zm01QjwMUPVoHO8MAyo3y9hScgX9XxSsWwQ9vxAMpt2lJGAVBQ1\ncCx3jsjhJBDTOjCxp1JONPV3ofiwxSQAfxTBLlaex2GrwbbY+Fz10wXoqMgv\nS6fM27LMiZgpUFk02zPwJU342ql5HzMhwE/4LpdydCpwKPuP+zcRASeTfqGs\n+eAgZ52ExV1ERzxcp7H5JruwjebxmQa4vGzn+bigmCjj/CzCZc/78LDRJShf\nLMiJCuP1SmAd7IuWOqG+Oyidi7sQOhH21wgHhJoe6fHLNk/0gfqRZ+SeN1TT\nCC+phzjkdDc7mN7WI2B3TqQla9DBxwxFzFQFKs4eAj5lYkQPAH8SMPy3v8KA\naUfxHmPO60IEunPpIaoD2ij3Ry1VNU60vzQbUaICYP03tz5XS5jeEWDmvpGo\ntB8k6zDALFMsWgjOQgxSs+B3YQ90AKeAbOIVpRP46kB+1XpTCZrHRqE9ruyf\nw239RDTkEIkTFDQyPPBEP1hsY606J7mT937y+QUX0wF3gbntKhmKyfNWPkjo\nprisw6mHDmGOekbpaV0jJkg73W4Q6QpnzREjSwcUiZCGYRmRiWsGSD9oh61Y\n9yRq\r\n=vzvS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"91ca1686814c127c8420037364cc37a95c98bcc8","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.42","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.42","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.42"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.44_1573547433811_0.1519363913776801","host":"s3://npm-registry-packages"}},"3.0.0-beta.45":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.45","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.45","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5af4facfafc1b3240c6c57d1da0a0888c4016889","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.45.tgz","fileCount":10,"integrity":"sha512-Y323fw4jP2WER5CgWLS7wNSCP6iw65eC1wKaO8EhsDfKebcnIRL9BhMXlGRuInSdOpzofPTqakpFVlAo8cB7Xg==","signatures":[{"sig":"MEYCIQCfSOxy2HNFRXdz7Y6ETSTVHqq4WSKc34NaivdUa3T6oAIhAN4DthEH1gizP4I5a5XhVPI/+mqKZd6UDIg64B5mPuz5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdywj4CRA9TVsSAnZWagAAIVkP/iYG5oORJwtOS9laKjY+\niVk14ZsoIRi35GE2tFzrZstnI+rynq0Y2GH+M0EnrLSwm14nDc1YsvTrknu3\nrUL1Y19oajY8zGgQ73YTsxqeAkBzN7GVkRVGy7YNjZ7pYCAhdM3sZxmmHy29\nkkHN/5u2rWDrYFcbKeok5bRbaO755SQrxTdmN9puXD5Fpk87khuDXW+toLLj\nCEHW5jqyrhG4aPd0jIGHbyyMraFnS6NokVewnj9nXxgdmnK/EK7/un9S7Hj2\nlm1ErjRRUJKAt7oTJTy3010A9LqKFGn+q07Qi8DyMxf8Jk0mYX2hluHCw42K\nKHR8iyWjYyBJKi38SvYuKB4Oi9Qd06TgDGwqTRaR7QQUdb0Mf1KG9FKWjOSw\n2Mcsrwcj1XtWAc0OEYq0Xn6JoOf11XHznrPeucKGRoAp7Uf+yHIRiSc0dBYu\nQXKPGWSJfcBO5FkcZcm4UoQ2yR9kvEdSHfVN5I2cUHk5n+CBw63HDGwj0Yqq\ngi8i7jZgu4V7S6KMoAXsBgwx9THRYmrBdfWOCUemK4QgLPNf4/cUuW3BDMPY\nDZezlUDQ9VhrN1AHDA4XDWM+lFkxBeKH/lTuAmDygL/s3mGf8I8LiFWdHaVO\n5I9XDDjuZIXj+vm3/L/cylm154MRsnwrSdvxMwtVr3RCewfzSAPl1Qd7JosW\nPZo/\r\n=slFz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"3dee7d0950b9f25e260a8ad6e3ce2b9821892122","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.42","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.45","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.42"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.45_1573587191887_0.7608741154360688","host":"s3://npm-registry-packages"}},"3.0.0-beta.46":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.46","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.46","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"a48e7a13d3c6ba62f742ad5cb116bd533582056d","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.46.tgz","fileCount":10,"integrity":"sha512-1a797e5NMh0VSnoomJwFXvfv3Fbb91o9h037Drpq4OStKJoLs2NsM2weHZM7y0l9wjauk99n73lYrli27BmaeA==","signatures":[{"sig":"MEQCIGqPSsDYT1Gz2tBC68IpVZ52qeqScCqIhYeA47Hn2W9JAiA2K15f6leSYGQqlxVItsBsNvnYBTe3UFTaA1wblL5P7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzc33CRA9TVsSAnZWagAA+uoP/2DWZ1QGBEMh+0mNnMds\nBPnCPCJm5eB/esmNX95JGWlb4y5j/jJTrzErZoIrMJalnIIU4FjOrvn1oku6\n6W/BUCsWD0NJxy4bI+tMpVE3VIT7zRFwEyyukYNMQOJaCuZNq7+RH/VWbFx9\nZ8J36EueTU5CGDffX7JzDA30PHWMsmcWLljmC9tkFOeaA3COwtrrHi/VRkNa\ne83TSZg96EduTPs4isuFGF0IjMlsW6aW2ZkmsZSWEzmBp6EasBgdYxGJ8oo+\nPLZcYsbWrxEtrgba9UuUv5F6OvOY0ailqoiApjfK4dqb5M5SFvmLWzajTZky\nymNJoqIGtJ7plExbthesf0jwXE5OBXrLmpLxIxC4VjP8vkT357f9DAj4F8gY\nT97+iyx6JlR9mGf9b243y8syseHJxldjwfnYphEfyDFGA1b6bIEi8HfJDcnr\nGdR1Yvo1Q03fepXREI3FmFh+ipiRdL24jzkR2MgpPHGTL6wPZOO+eONqnuf9\nnADAl3lRSgZNtDI/FObUPlC9DfcjNBt4lyDlrE0ICFQ8tVAHlT1fQLVu1i6r\nxaPa6/9U68trUrK8wiO9kur8yftkoM+KurN8DjiJ/dFFOdkDDGk00segNNZ4\nu5Ckzq0Jx7sif+J+Tra7Wj37LSiIHRP+PVyzbAGB0ocEvzw/NnWMJShydTKZ\nSiz6\r\n=SIYj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"4d18597a6b3e63324cc8b2f401d986dff832a62f","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.46","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.46","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.46"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.46_1573768695279_0.11338571227036298","host":"s3://npm-registry-packages"}},"3.0.0-beta.47":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.47","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.47","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"0ce87e80b4f9c6a1701e24b5d4aa9da4fb9afc2a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.47.tgz","fileCount":11,"integrity":"sha512-nSSntT+UpX0/86LMFYTFFuw6TwcHqF1iXPOddIicZuYciAQtqU0es1wfhQGBVMP7Gy+5kLXN2PteRN1+ALPOBw==","signatures":[{"sig":"MEUCIQCO6BYvQsgkZZBp3i/G4ClVoBg8bk/2Ti+t3mxtxoMWGQIgPhzTV3uyqrNpIORssVpthKhx16qoBpEiUi2TfsMEa/8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzfXuCRA9TVsSAnZWagAAAv0P/RAHEVGIY0bECuiQ0fcw\nqOg+DoMGA6AV000hFWacEfTibzH7YvpJx3RrUuvVHw6hxDLBdNqMUR85MhL6\ng7EEqwLWRaduAeRfHuf2knTk2z1W9YvBOOrh5ulGiIDCgs3imNMUVs8pW1w/\nD1zi7pIAEogdmltJ6mE3Z8xy8JMltM+xwLM/v2M4SeQc2sAT/ApH2a3/YRRy\n+mm0EkFio5RiVadbZJEimJZeY9djlC0wlAu+WPUjamnSiVkXnzAobXAsz3HO\niRE6NtvDv2T7VkzC75O33YCxqne8gNiMzmB3+rg5luetxNR0iTJbo5BNtcTb\nVlbIhqBi4NUs5cnxOF/CFhswDTYJh+ZFL1HXnWjRJuh4m3lSM9qCGEJs/fqM\nbbEUmZBzoj47st3LavMMmWr+OhiYnkzFaInmD5ZK5ECttYLLoh+y14DGYHhf\n4uUxb7vUPlWZw5bbyiTMG/cyM/1SGONFvSkeg7P5Py8HWTDFwhmWThFEhHJs\nkcOHiRGrKfaMqq34ae8h4BL/sS7s6wJzupt9s0I0XnN8Ub9+YXsGyaPqP/gB\nmB167l3mrqhL2n+fLngspECNMESA8ohVC5asL4qA3UnGW7XpfNb7k/V5orVM\n1eVo+0LmkFQta8W2/ol3F0T/hSxQomQM+e+fNXLEbDm/ezgcggvnP8JCGegY\nZzl4\r\n=JIOv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"11344382e361206a6f67f05f4904149ead37c1ed","scripts":{"docs":"jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.46","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.47","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.47"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.47_1573778925826_0.5550003833966415","host":"s3://npm-registry-packages"}},"3.0.0-beta.48":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.48","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.48","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"e92adbb49c5a6273947a5f5bef81917e30afeed6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.48.tgz","fileCount":11,"integrity":"sha512-cP7l0BZvUvfZmSFZ41mt2zNj5EfGb1JPD5IlP4IvzNxmWJFlxLcGFHsr4OUkAevTT/Jjz4WnFrF4GjT03SkCww==","signatures":[{"sig":"MEUCIAxuhxJl0gSCoIVVUDLaS6eLFqpEpOtm84oVMpDNHia+AiEAu6yON9c6tp4RRgb6LLRNA1YAPuF9jqW4VGlnYhBjaQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0IfgCRA9TVsSAnZWagAAot4P/j8wX4r0T9KLzk76HDjO\n5nRdvCQlMZn4OXmgHGtUCQE+xz8BTFwPpPa7AA3b+lXn9BjNCZ64bDlvWEug\n9p+2zxYwu8WH3PHEq6jYsT7YqskUvkNsWPrFArrX/j66lD6bRWs90Q3bNbgg\n1sayIrMNkEodGGrhcZP7BGHJHyHnmNsEklEVz5f/XSgwQo65uw/G6D+FIBGP\nKBvlHRxUU0ee29pIxLMBkrYW4dGaMWvUq64fsRC10SPGxQ2ZbgML3z62x0N9\np/eDDEfUkcYuw9sq6QpPqqoJ+PR3NbAU9DScgmd7IIHp+Z3VygvzVXWegVmG\nBIs/OLZMwKSmiWOvQWECvWlM3fJV6tHjTsmeL3BJ1ugi8dWizRrMS/Jql6bG\nfyi8peLjyb6DQAidFn9+jUUgTwZb6ATBweopFRqbdQMJCD5AGC1sMrIq0+iS\ntsPk9WlO6y55w6B08T05RghT/3gw0OrQB7o4MqEHf2qS4yEM6jlzLDD9iK3S\nOaodDDSOYl/HYX4oMv2SmVQRbI/jUQuKK2NeBvh7sesDoCxpJZqVO8d+TqLH\nGi8ncQG58E3aVjM+4N3wKep0H3A//Bag8GUMB3l/JwEEmVLkPTQDPIax36Ix\ncH4HQK4wlllliUVLHBWGcO6fBUFsKt560QOl3nzQilQMmqbbRrfTBJywR275\neMJF\r\n=o0se\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"d77a51a21b591d1ac0032de47395878116e8566a","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.48","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.48","jsdoc-babel":"^0.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.48"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.48_1573947360442_0.5487474684344131","host":"s3://npm-registry-packages"}},"3.0.0-beta.49":{"name":"@aofl/i18n-mixin","version":"3.0.0-beta.49","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0-beta.49","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"852eaa4fd73bc69771329666fc80ece684816c14","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0-beta.49.tgz","fileCount":11,"integrity":"sha512-UT2h5mNiO8AWIeWwdIXK/8InixiYLzmfneGOG23cKl7xrSbZbutw1lS476pdtYURMf050fWassKEtJQ+LKLtYg==","signatures":[{"sig":"MEQCIFf07wdrzodskt5Wusl29pY3t6euxyy8vpnWBIlWglN4AiBANUlZB8Ki085VNj+kISxssgd0BV5FtPLZ7M1zZtVSww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0MCRCRA9TVsSAnZWagAAWrkP/RiB6hiqe1jdKtft0np/\nuor/hXdysCedH4S+Vd+XlHH0L16rbtq2O6rqnJXbqG/ZAlDBzCRl3fbFs43u\nzvkvknRE2lCmCGq+YaKDoeLSyGMr7L/QkY/N/GMQ6IzBHdLL/B9zAMev9JQu\nMVGZ0QYYorBK59KUF8NGSM14UqtSHpG+qHqPXCG99R/CaOyoKS8yueN+Zjff\n9G8GJTlnzoBBGqU4Zrfplve0+aBhUvvXQFpaCtzj9cYHLtZpMFIujWz+mcA6\n8gLlOjVCNeuEihp3+V8gfEmU2dKg+PskgoF5aoAi0SVS2osCzBPR6sKiRtMD\nA0p0Q1lx4fS0KhMDLEj0vDmqCT7AiZmqNkK+ND0R4xM9K6xZK5E/RqtGER2p\nK41yQerKUOpIPP2q6V92LdUZxdQH6l11K54xfSpcbSLno2cD7SaEeYJGbUCE\nfTlazP7eMKhWdSGIoBvG7gD5Lav8c3vl3wZn8GPvpPqKohksIdQlWnxABqym\nhCWhF1QRLpXaooKR8ysInczrZEHp1UmiHYDv0dXZhx3unFUlPUBymZV9Nb1C\nMc/q9cbWcjNOpVDJLAQMzvJATAIfwykpXh/7dQR4xK1G3AiKQg+WYhGhuwHh\nfGqv4/H5DdAMWArYjc/pL4NTlYfEPccamiAVVD/0IbQviCl/6Y+AV8hJc1Ys\nmEjV\r\n=+5X/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"a2642ff8dd100adac8db3d609f63e2bc6a2247f5","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0-beta.49","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0-beta.49","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0-beta.42","@aofl/element":"^3.0.0-beta.49"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0-beta.49_1573961873095_0.9697466130517634","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@aofl/i18n-mixin","version":"3.0.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.0.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"20feccd4a11b724c9ce65057ac5463957fa8ab0c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.0.0.tgz","fileCount":11,"integrity":"sha512-rebdWqQHNASfDDBa5/0VfygpQg9h4lmCBOhfyDAYLlLxbrY0ut3byy1hupE5Vtyr0lTOwfHT67q6Fv1opK+7Yw==","signatures":[{"sig":"MEQCIG55KAqwzRGdq6scvrGNUlPT8j7nfvBaOtdh0/PTu1YgAiBwmR7cSWBuDuioPBrV9Rh3y7WAxTfVaUG4b3HpB1D06Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0PFfCRA9TVsSAnZWagAAkaMP/2UAhm8WY486bVFr54dX\nVd7WO7bDJ+tt9jypSv1FttbZCHqaX2CZukIrNJKtXY4KDRMOPLOFJPS5cb5G\n+k2wjU9YjG0PCWdEKna8p4if0rF3maIHkx7dqJCeDK9ROSNRj0y9dyqQMoi1\nxJ9eQt15vuTdWqlIi12tjxqceN5hvbmzFPmFYSTBbQRv9s3wHtoO1mr8D8vJ\nbzwM8Yuzhfv55w6ZSC1o0aU7gYaVLnKp87gdLb6ibA3Y/gvGvRzlgneeJTFh\nSro/wWhDZJ4MgFiDOZMoItg2xLbrmwSwz+LJkMvZ5pU983vJdvfWaZadBzZ2\nJHcdtbdUd3HqPTXR6dt5WJyImVdX4rcBdWSSn7t6bXZKXy0/gdRp1PYb7H/i\nE5fKhWVPRUbPeoM829sRBbYk1U3B4lZvG4IPqNQWdZO0NUFyuskeo5T4zH8t\nI3Dr4to/n0LXq1n0fSvfkl1xf4eUqu1TmvCqBYKRdQLjQMpRA4FHgDEi7DvA\nPtv5/qaCSvCW9ibFxlXv13SLbUUNlLTj2gMmp0UbTAOIDMbgKtfLIUF/jX92\njO1beTEyUJ1hEDMYtP2ucwJ2IrhPU1QxKksyuY25FLY7hyyzEw3tanqxNlVy\nKWxILVA3kzGGOBKtTK9tVj7PNhBDCGTwFDdsTb8DGRfl1IhTj2dbvcAgeY+N\nuggJ\r\n=2XFY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","gitHead":"bd783440a25a2c579fbb506b92d90bf4fb7e0289","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.3+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.0.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.0.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0","@aofl/element":"^3.0.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.0.0_1573974366870_0.48342284046551987","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@aofl/i18n-mixin","version":"3.1.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.1.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"cf827f5a0a6b9b6c69f7df5b4c5d1a59d2d002fe","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.1.0.tgz","fileCount":11,"integrity":"sha512-69NreNcv+qD+34HNfs/yH789+Q6FMP0tYLop6wLYpa1KdqS+jkAxumuav800oeZ1CFWugAtvSToywT+xv1PyCg==","signatures":[{"sig":"MEYCIQCsDYZCX+t9/3NK1Pk+22A0GQJKaHVHzT5HF/NySL2nQwIhAMj/W8YSC9Koj/oeqFdH2kGPQP4ntWaxNERT5SDvdxTW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd11XLCRA9TVsSAnZWagAAXSsP/3ByfakR+PlX3x0T88i+\nDm7Eh0OOb5Af0VMRGy0RF37BKWw+zIPvAwum5inldT2rG4UdCmFEoHByNcFO\ndMc9HAngOagBNVEBMU4MsbwLgsk4N40RPoNrE7xLctluWslo+6+OAT/5rDtD\nrIc4RAw9j2PQD+sEwCN9q0zQzVckYy+ouq0hyt51EJEeE+nO1yFe08Y3tjjZ\nrbqpWc04Y1j6ZjYDtJxEQtSLkL7PgQGsDtLWzt+iw8gRPVfx0dB8dlPCEIEs\nMfvJoaiZYNwqwITn5+og2i30En0yAvm9qduVOjvEfq9D2aPgHiQ9peugOhrO\nC3VXpPBdx4+XZ5/S+M0u44Zh5YKz6xCIjDUxCZcvUuPJRXLnW9guX560Ghei\nzadTMrOd4SWzStpmTJsFg81ZVD+qHYVdeDGSYwa7vHEwkMSnfJkxazVVvvxj\n3wbHBcxDraMo4o35LoyhZO2WHZGpPWbdrvfaqzxYH+CIoyE36aBBaWSLG43f\n3h6KONf6k3U2H+GmfVrUqlCpX8p61qwEoF5ez0evr/i5Zcqr4PzG2+SPo9Ab\nTymMo6dToYQX5qpOss9Jvt5MxJsDVf5czM8+Dc9o7nFnin0DSLPpTSNbu38/\ncTmHxkHi21RvBIewcX9edND772M4xdctGCn7x7o/vreC+oa8RAMzzsTYf1Me\nlOrw\r\n=/gSW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","gitHead":"cb7c610ce117e6fe41168dcb3e2758d12900b277","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.1.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.1.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0","@aofl/element":"^3.1.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.1.0_1574393291387_0.6022204848489334","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"@aofl/i18n-mixin","version":"3.2.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.2.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"f5933c51395b6e52e1756683848ef6f309fb09d6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.2.0.tgz","fileCount":11,"integrity":"sha512-2oWEdReMaQPV9dH+5NTEIsxYz2JeCjQQeSsU58IsshlqdzV4BCcfMFmlbWjHT7o7MUKrINOpJDSA9fYZNYG6lQ==","signatures":[{"sig":"MEQCIGX8WWuhzD6fIPoWwK3ZDTFwJn4EWw7ZwaamwTyTm819AiBNRsmhc0qI1kVN6Xv/qmM0pLGdYCLMXfSHHywFGUShxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2jKVCRA9TVsSAnZWagAAOoAP/3pGzAf1YrKBfrm4Iwzp\nS+Hlnvv677CtS+F7pWJo80Ldw+YLRUd29j2tmHNiot4g0H8pGlUBsU20rl2L\ncu1yOswNHD/5X/6vbhsceyQlkNvElX/P3tZWDaoHtoUmivnHpLBnobkbWc6n\nXkKb5p8O2X+CRviL9HsTqXNXzbYHnbnrYsS7B1V9DJh++YSwtH/uXcGVI8nm\n7aMwlYuWQsxJTkJwZx7cWoTpIfddRLMWrxTVldg6tAzWKQWisH7ZjQZTCAeC\nL5R5iSbARZBG9L1DSRTWzQNCc66BmHKnTpaOi8krxxgk5UvZzL3ou7OMZrCD\n840O+ztCfngwr8nKITyqnSw5TB/QN6PUuUYD+Rn89CkczK5ryU636+d3t8Ey\nkUgxySmkgSeho14ZZsBOu34DxwQAyq29vUNDzMDDA14kMEU9qNJik52voyUj\nGa2Hw2xqfUiWC0h5oZgkLtZtO30Wqj6rUslONf+mvPqkcwDKQMy1jNqIaHB0\nIVJEHUP9DXv/Ip59HpEuXYrczxB8oLEZFxPgL+ZVNUpYWf+ifhRux9pTEqUu\n7ZPwVLzxCI03Tm0xP6QWwRZHYqVPNw/btf9kKw+/WfuFZPF3Aj0QQGa6JCtb\n1SJ2Fy36Yt+MNSo3uBqaC25L5fEcwW2leWOfbtzn5cf+ZAcZiH3GbYAYRl/O\nw2YS\r\n=Ds3U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","gitHead":"8275111725390a8f797467a12e045c905a78623b","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.2.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.2.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0","@aofl/element":"^3.2.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.2.0_1574580885507_0.7031563828956364","host":"s3://npm-registry-packages"}},"3.2.1":{"name":"@aofl/i18n-mixin","version":"3.2.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.2.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"96c7e1132ce7d7ab7521179e6443682380833a35","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.2.1.tgz","fileCount":11,"integrity":"sha512-sEOqXckOuyob3Ksx0Vf8gDgU0QtyKnyT7MLvaTYgEX4zD4gu0HhbGThhloZgF+QZkRJoFurS1H/2WFf7p09VRw==","signatures":[{"sig":"MEUCIQCy0xVSuJbypvkKfYf3rOpLBumC4a7RZqcvimcw3OLt3gIgVyRVBDnEfauChQ44BKE+oKwefejZyQJC0gVlGSXdUCk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2jlkCRA9TVsSAnZWagAAppMP/26Klc0/SlEZmIcUMXBg\nO8wuMhrt+2b258NTt6iwTl8g6mwZdJL7QPs5GXHiyoC2KyBIy1EpHD6zuLPw\nCHCsFChIYl7H6WFC2fGvgkuubtirwf7zU9MZpbUr0/glcb1JhzvzyUXbJyx3\nStqmtx7+7Fi+xFfdzFhQEiYs/vRKIlCzFwipG4ITRgVCzqAHbskJzX2EDCUz\nQfYMGlnauHxRtNZpo6+hB8WLpph26jMTJqFZ6v2h/kkJZK7K+269Zx5pZYxZ\nUcTffGS3fFYKbwYdbNXfD0TOxmkUhWGkAKAFbdp88Wl3atpo2+T1au2dYYXn\nIfYROHWaybMhZ//+xBNQKoefJEJgULNoTNAxkha+ZZ4E7pc7Io6Fz7JWqCil\nv6mPbCWzRuUtI4kygUx96VG/nkGxh8JwSDc9M4FYSpKseLJYRZdqA8CF2Nc1\nYtClF1PNed5vFpaQXst4gZ46hf2s8m2y7C5jsPUmeoZClOa7tcc1hRE7K7Ah\nE0KkGtFC0WdW75LKeCrI7Ch7YT/9Hnm0wCQQ0mct9t7HorezzKjBfzaWv5i4\nk1rpeYpyVIQP0amI5L7/h7wQzGWaEQbzhqtHeIqbGMjkPppbiQ7oOuJ4txI1\ngnF+lKFzAVqIaIBI8YfAwmfZHl93fRP1Ax9NFRufyFnMMZRT8W1X9JhvdtAr\nFhDw\r\n=7qSK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","gitHead":"a3a91753b98e4423d9fa5bc05d8cc8f8754fd040","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.16.0+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"10.16.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.2.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.2.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0","@aofl/element":"^3.2.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.2.1_1574582628505_0.9394710890206488","host":"s3://npm-registry-packages"}},"3.2.2-alpha.2":{"name":"@aofl/i18n-mixin","version":"3.2.2-alpha.2","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.2.2-alpha.2","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"df345ee39c0e63963dd00072220c4e24b032a1e4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.2.2-alpha.2.tgz","fileCount":10,"integrity":"sha512-K4wUaouSvlC8c86/7l9KWq1wsNJCpn4hEnoNyttqsPfdqaPR+uG3JB7Rmf+DfF5v1RzGRvq1T9NawD9YI590Xg==","signatures":[{"sig":"MEUCIFE+38cKUCYsRBmBerR0W1yR7jQ3sPOprJjMumbUesrLAiEAv40NH4X7VNAwIMPSU01GrDO6/uLhr71nfz7WYShlsFk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHiROCRA9TVsSAnZWagAAiScP/0RQ2UMoObup7VLdGI+X\nSjg/z1g3DvZzuYoHWjPc7SM9RtsexmGzCLHFVUSAV4kdXDHnP/2UekumhelO\negODaM6ufr4OEEjLQvChNb1Aq1rrkuKw6qFRjM54jijbzVLc49VsuOH6zpvy\nW9THXDvpHSKYKCqu9nngPfWP7HPtvKMiaWqoEUTvDZVUP6mOM1mAAvAtUytH\no9MkSt30z110OEGReMR4Jp3MouL12/YNqcZCQA0zWRXVlUghSNYPN1I8qLlG\nWGDDxY8mV8knCUgXpl3C0ZbTNEY5sMs3FeZjUGeHh0t3ryVqW0rvn0GGwXWA\n3eWDj06Lp/KDjUmMrXbkqnyZ5Uxkv5PFj3ILAqD5DrXg4eFjRwkaA1cXKqfv\nP58zVOQqey7yG7/ckmmL27O+S2tjtPG32GVNRZeYyawNy4AYt412c4qHvGHc\n49zpPVffJFfPfEQGCcIqi4BQp6ZBVfTo4Pt+pGXebEVqo6YYpqXMOrsO6ZL4\nb+b56nM+OmDIgcaigqv/yj8SeetMxjdhAYwA9HajzNl7M83KtIjVMbJs63ut\n0CHcJn2Xz5csAPDi3Wcybh1l4hvDdtvpAZKBxRTGH/fHyNAk+JFIpj66LUe+\nRfipcXGIR4bluk2oN/2YsBQ4AgJi2Xo9ooM/PawNsiA9yv8Do9XouYK9w6p8\nySqC\r\n=pql3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.2.2-alpha.2","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.2.2-alpha.2","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.0.0","@aofl/element":"^3.2.2-alpha.2"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.2.2-alpha.2_1579033677977_0.6359362629718954","host":"s3://npm-registry-packages"}},"3.2.2-alpha.3":{"name":"@aofl/i18n-mixin","version":"3.2.2-alpha.3","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.2.2-alpha.3","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"257abefb7606aa0a2901ae074091f20a54438d8a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.2.2-alpha.3.tgz","fileCount":10,"integrity":"sha512-FYw+OjM+IXSBEWoQnOKF+n/ZStSG5+UVkKOYDyvd9YGf3N2Uw/vGrhUCqJ/THCIxiX55eI6++wHunDsngtA+QQ==","signatures":[{"sig":"MEUCIDXbkUNOKox6IiBLmjV1YsEnL1R4ssXvyhWW8J0KgBeZAiEA3BrSay78O7LQihgI1NUrTFKj6/LSU6vYRkVuOiGUa84=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHi7xCRA9TVsSAnZWagAA9X0P+QFDJPYAVQVVglUOYsUN\nBjIvCa2UxdbfF7d2a1hi4CULeg8DUQizg4rZjGK/UBIx/wWLdQRdN6/4OTHa\ns6ulynduwy6ueFzdmWZk8YOxM+hWAw+yTZT25asTpffQSvT/7XWXfLpBbCDD\n3r1OyQKjLwYyk2aOcnZEyTFwjlgJ2Jm2THrv5Lq85BXHUIkOX1e3FdzwkwhD\nmPUF+EvVJBPqfxrh6Tx04t96Y6vyMaa/+Kkft073smTE+oRhX25GyDThaY1e\nlxuuX5WpuV+m9R2z6Opy7O3GFgkY6xeL5lWXb9bT0fjkbj28g5kkZHjljnF8\nxycNkg34qyzJr8xJRmgGPElVckEHgNuIj1tW52nJH5siu7yJdBCIWVaqpenX\n9ojHS5KQFsVrqjiI5kc4JYSNIxT9NT9WgTvOGmH58WY92M4jhaev2fxnisOC\nkocIljlh75oUstIk7hHsW6lH5fwtJn7LN2TW4x6kzpQ8wuVVGlGWmIkx4m+j\n7cIKOTpC26rGZiwBIZmRFlGmn/ad5Yc46+8XSR+fqRIYrpIkVm1mNcPmrpA+\nHbT0O1eZ4jhHGnWD8jjNL5Ac41YuzSeaMhzvUam0Ggoira3NVi3OVR6nKadM\nl9fBqt5Fg1B+E6nl9vl5MoNFrb6wVgD6W7MVt64iMi4+U354j2+1k0JfQIIh\niJia\r\n=8R8c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.2.2-alpha.3","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.2.2-alpha.3","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.2.2-alpha.3","@aofl/element":"^3.2.2-alpha.3"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.2.2-alpha.3_1579036401032_0.09912182074024556","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"@aofl/i18n-mixin","version":"3.3.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.3.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"389b0d0705529fe3107c42743fb0453732ab434d","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.3.0.tgz","fileCount":10,"integrity":"sha512-R5Z2bYRlsY1iM/EFqAkQMsB0Z0MNokEAOVwli+2MEyfX1gHvwvG/aYkRb5wehejRtZTC9s+3xi/b0wCWaR5QYg==","signatures":[{"sig":"MEYCIQCsxFsSrbLf6MOT+7wPOPYXuE5giXdGYdo+6z0cTjVc6wIhAJL/YiyGUGKX8v5te1YX1idW+nJGM7DE3hPiM+brUske","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKNtWCRA9TVsSAnZWagAAWVgP/RUi+N/SY3SAdqZyRw7c\ng4e5RgDih4PGIQtRmHRvHD0+7nmRJPWDuyy9L6Nf+qdoWhB+MN95FeJiFat4\nJ7hwZMGa8Va2vCviLLDOdJhrP5sD0vmXVDLWx+/BPEpIvQn7WhixdCjVn0wG\nNWjCQ25r7y11ZhrLOY60gu+EwOmT3Tem9wc69KEMJhGZZ64R9sX4+pCziC5o\nilAhtZPNvxkJ9+TaaPQoMkB0Oa9b7Qn1DOvgnVJzsVPiyYpefJ+UVaBeC2CY\nuRDKCCYkPtnC2DSqLRvQgzEQ5MVd8FAU+oHF3fW8NzMU8Gm0zFGuuNP/0Qr3\nwK2HQ3lSwOpCJhxpeEUDSwXhFsNXB3GKHXG0VP1v202dKKak6aGgiYHMzfNw\nsMUhIGYU4bEdlJGQkmU05C/C3iehpOjbfkm8l/GgytitH4satqcuZ2yCvqEC\nQgkg24+acXho4Xb9tmnDFxt/mlJgqrmX6tbs1rf5825/XXLY7UviKyOJazen\nUnMwo6OHQaNUEyBgmonOA5hvhtZlOASeBLZZUeOnhe9QnxZY4vqcGZJavu4x\nC9Tiy6zGotPuD2wmRJqHu/UhFFhHu87ScZWFJoXBJUJMK3nhVuLd5xL12Ffl\n+Knu9nQJflHNQTUicyYv1GVMzknS0FeGWFPSDL9RR4zX/nZpqgap2yG4+r3j\nDH3x\r\n=z0Cn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.3.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.3.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.3.0","@aofl/element":"^3.3.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.3.0_1579735894050_0.9218532991120929","host":"s3://npm-registry-packages"}},"3.5.0-beta.1":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"120564c42d59f21c3a52330e9f695f6b77eee268","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.1.tgz","fileCount":7,"integrity":"sha512-LlUl25B4V7vwbtYRow7u7lLdcbC1qv5CK0Ffej/hKqG2yNh04zDqCiUHTw0HuG5fk1kIPHCVXsoZMaYhSYaU2Q==","signatures":[{"sig":"MEQCIAKLTT60uB09FnJhWld301HdqWN0miGKXYmIginFbMO+AiBc9hsxjoaV9g984AFS/SLTvUmBnFM2m2dQaolBKf5eUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUbi+CRA9TVsSAnZWagAAZFUP/i/gjMimLsfnze+Q3XTI\nJ4FUcJb5nyOY8sf+ipln2cy9WbD4YYFEDcZlq7X6kW1JQWBUgeie9nuVVyR9\n3MPftCP3yraqSUCVjSeB+0xGmOGJZFQSH+PVTJI7NPq0Rw9R4E+gbihsCAMp\n/1VcBJdM4gZoMsY2TKaPSCX8xBygSkzIAlvK7lHPdU/bs5uOAM/f1Ve9yAIo\nQJDNkJV0hM2SGW1ZXPbUxoUI4XNQrf2rpYU//NdUfO4vSat02OghlaO3kHcI\n+tMj30g13hoVogcUpQLBtTWHgiWz3CKvg2EMyYxBbLiMsmeoadsd2JlGB3Ns\n3DKzmmFO3NVvNVRfbTChNLv1AyfRMrxXoopdKPLMFPlBzvOrH80CxJ5NheMi\nACxEr70q9z3JgFh2tW7nSZWZlTe5uO5rq31DsbwM6alCBAiBb89fXDa+cEsS\nyiyP0LsjDytIo+lnr0que2Ey3ZDqeV9/mdHb7KuvIt3y7MuIDt1lVhWutIP8\nuaaN1CTsIFatkIR64hALsNpqZ0KYKL//Jvk0q2dhxddwQUmWX7tsNDEXEKZ2\nyXpJmWoQDe2tmXgG9rh1ss+oIDYjgza/Dw4HzlRYLeQVnsCb2nXKuhGt03rH\n+2tPzWCiVY4wyDoVwE4yH0wpLp9q5t4kapNh/FEElHT1p97Yvi/SROcUsao4\nQ0Nl\r\n=WOro\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.1","@aofl/element":"^3.5.0-beta.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.1_1582414014307_0.2750735591775877","host":"s3://npm-registry-packages"}},"3.5.0-beta.2":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.2","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.2","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"4ddb459336737d7084fe0ce0a29bf5470f6900a3","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.2.tgz","fileCount":7,"integrity":"sha512-yE6e+10x/GRD6HYMYbA9dhFP6Dfb9YaBRXiz22yVasbsBCxnF1pKmRYVAN7KVLO0nYmOYvcDlyuDdUP1HVZitQ==","signatures":[{"sig":"MEUCIQCOSqi/FvDcGe72pJT3410F+y0l/aS+Tzi8CoNGUdqofwIgHXZkvhP7nTYdYwDa5kP81SFBXK8gafpTcNgh6pkF94c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUb7eCRA9TVsSAnZWagAAXB4P/0+c70RMxqUN4jgY28j2\nqhNeVcIZ/9cNuh/L4bVZ9z28sHxAT3DHS1Jx3NJcF9qdAFkZzsn5KQC4rbq/\nA+wm0g/4UyGN4Mwe2Xwmg2sgKcist7QKQcqLzDZ8aKI/hn7wIf/WRMFQJjj2\n8hQ58HfMo607ehEPHyWJlrFC3FSZj4BZa9SZjMk/JHXjn71aRhnm8OEoTuXI\nAV24Mtv/7E8LVciufgpV4DveAbJOMYiHEUIiO75ZqcepZYVxSJQOuqOKrwmg\nceuI6Tv9iuyeUpIu6fqfL9sSgQ4qWr9iFpv5g48hypWzp6JgMQca6o7ZwAcZ\n+OXn0TWm78Of4TwZMP3LpivJdtSkCO8BVCrpvVgp98oZ97qR8ONSZB68qJwG\noswInVXTI8ViBPhDOnKbFtR6zlFKqfQDc13ZNEUbieCbGhKZwh8SLE03yPs0\nOz2toosWpiOsKJaVm+yMIHLLdLGpWdHgWtNvBh7rVlkmLRY515OwS5dZ34kp\nHRK5bHrg7hT9om/p7G4/tl2kGzC1iwA8QhZVKAgg6s2NwoDduDU6ZeJ5JGdz\nSgGD4719Blh/cLWM8gFs9YimaP9h28kQG4p+sirjjbpORUkB8RZmNOR7XKbC\ngyNcwp4MZAAYmGSBRRzo37i3Z5XbwhjnVcISaYB3UD8bgbld5zglyRW+oLFC\nkCVt\r\n=Pcka\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.2","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.2","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.2","@aofl/element":"^3.5.0-beta.2"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.2_1582415581797_0.6468385835563379","host":"s3://npm-registry-packages"}},"3.5.0-beta.3":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.3","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.3","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"900acd0d783d0954b29be48e0a3d370f08f5d345","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.3.tgz","fileCount":7,"integrity":"sha512-VO7dj+22gYEJ7OAEGr+RcbYWBvTO9MErcG9QGZm3kusdK7RLsWXIK1slw4wXl1YVJ9lQWZblB28e0R37bW6/Vw==","signatures":[{"sig":"MEYCIQDcdpwCy1L9Ghwo99LJi1sF4g+QDNeZKOiuQiLHbWWorQIhAI/EHkQQK6MkbshRnjDZcob2x7bGzNBrOEgUR0I4Ah+6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUcJQCRA9TVsSAnZWagAAKzsQAKNHrpioKQ+AGE7mAVwW\nsWHTwvNzwCoa3FpKekC9ZgVtsXe4P8/8AjkNQKdrZHbXQ8KM9E3/1fEDUFCt\n63sQr6egODFpnoMBOG9a8z1AufJwlnUbpk/VUhopuN+1k5IASqm1gWETyE9Q\nx158rPN7SrVJcIOCoKc7O8ToI0pkwOF1QZG5B8RooogQvTgr0s505qDhHPUN\nCOcTeDTgtSslqi8nkpjCaPf7xGbzirm4kfom39HoF6y7mGEGpiHr8f3jx2G3\nHNBXcPuxcGeJwzNlCSccLsZN8kvJb5490qfkWxrB54k+yeTX5v0GrU+xtavP\nh2RssquzyM5nfjzZ0qjaJ04VTOxhNCO8lpkP25kj7h/WCSAsuJ5zCBG0fhWj\nmbzVmai05Mu2bwvoCuE6TocgpN/PQsM7d/J2itlh/a5w5Jc65j1O0ufzet0N\nLoxq0bCXwdu+JNeFxLLHm1cv1ZweeE4zzGh9rinHAZQhBbmOe7j0Wn/lP1k3\ndBorjhaYCkAW1mz4tZITWYxKC9Gxp2iRHMpJZvMs0t5YCU7MLgPaywLR1PzI\nH+T167OK/BeZHo1WMRQbtVd7oo7AWdUcu7u1rz/NYDVyldLpVI2YGkagk/mQ\nW0ZT1B1e+tDoo+wO/xyWly+oGUCD9OUY7HWev2bCwyOoPta/IGB+PfBo8cwi\niMrn\r\n=M99b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.3","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.3","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.3","@aofl/element":"^3.5.0-beta.3"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.3_1582416463975_0.04855318390195995","host":"s3://npm-registry-packages"}},"3.5.0-beta.4":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.4","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.4","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"22575f0c1c50d4309a89ed6da5d5310114e529b6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.4.tgz","fileCount":7,"integrity":"sha512-uzexSzpAfyTCW3KhFjcpoTpBDY00FC1vso+mTvZTd3hVYhFoG38Uof8bZNM5mA9pGGmnRCAdkW3XmlgU5pTsPA==","signatures":[{"sig":"MEUCIDuLgzAaILABHOklG8Yxm/ht27G52+1h/6lz8MB1WXpdAiEAunvMgZH48OchBrpuDwdY08uNNUmSalHk8l4RxrSzbf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUdwgCRA9TVsSAnZWagAAj20P/As6z5s5duzfHr1yZpDX\nSwIgmohexSOf25oKkgplS+Z/hNG1aCX4Su5bJiWyKlv+TfB4pPP5bZBuMHDe\nCLqt0Ysx7ABEpjv7gU5cbyGGA5qAINE2BpqOA/kL0TcUoEjiIpS3D4vDM2eF\nRHhSFBXohDo5ZlSCQUMV5saS9wlfVjMy9etjdj1eYsACRowGUaVEt+Kj4Tvv\nv2dmZ7vvG70UIvlz3+9IIxcVmdt2l883pWQmqjAU30qAsPn4nPC98U2oXZ3J\nUyVPuWro1TQUMAWpM+zmyITDYqxhh+bqSaoyAF2MTby+kEKGV7sqsWPHCiAc\n5PYLm7Y1iWOvr1Q5bEaCnppX4nY4QXgRNIVAik5SRDuF9J7S1qEU/nkICjGF\nLqMki9kFeP/fid4QYiP9JoxR7H2iFtjA/qhqpew9CEPcklOyVOUCWu7G7bS1\nuYJO5ZhCSu77zpND/0aefGX8WtQlYAOaBX4SV9fcGGxtWlaIt4MZPaqOnWJM\n6DIkTe5tKye5dNhod+gTDv4mX1Bui2PecCuyb9JKeU49+OO2+GELHxhA8szt\nklLlea9UMphVzKx4cLRq8fl0pwQUHar5S/H5hpFtEy6Tf7+OAUhGrJUVPmyz\nRAlzs/YfxOBxN5ZEejV+qi4IFyJHyixGv72ckXoHMqOOj9wJcu/fKu3NIXxD\nMpC4\r\n=0ezE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.4","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.4","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.4","@aofl/element":"^3.5.0-beta.4"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.4_1582423072119_0.7031613548129321","host":"s3://npm-registry-packages"}},"3.5.0-beta.5":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.5","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.5","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"7fb7ea1b9f54c5464f1f09ae508d825a9ed12877","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.5.tgz","fileCount":7,"integrity":"sha512-4h2hklLxiGaRc1EE1apA8ry/gjoROpeBUqAv9yO5fbuOg73BkNUwh2vjHgWjSYcZCKo8Mk+QVhFd+QbLVQuovg==","signatures":[{"sig":"MEUCIHQYIK2praJ7Elr0PbqliunFEBWFS3NJNVw94asL0ZkwAiEAmvIJQH0etJGzkh/at/ATg5HbjmNI1tnsK+GujtbKUZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUe0jCRA9TVsSAnZWagAAHmoQAI/SJgN8dfq2n2ph+2vC\nXkAXsZQS2aMVexxcIimB80CotrXhnuTZeJLbK/DDjKWcTUitaCkSdmzYb+qU\nvNZt6CXRqJTQ8JFKihALck+UIJBoXn3R8JLBgt5y2lDI3l1/tmHdMDNBczW1\nMft4VZAa7Z1uFXjb3uEdWMytl7uhrlMLvbSeJQnZxR2KbaXEUijEmTfkgPvE\nvhTr3WyXp2r1w4oU85F9dG4fdJ58wnRtoQBlUr9HB0CBwHmeNLPktfip3G8g\nxjYiBJiQ7roWdkCWyxf4TIyywULGZIhUgT8Ma277074r3lFVdO923pcy5Pnz\no/IPH9k1mjmtfWag68nkEOHfZJeIIoWE+UCHzgGOZK0rtVw3ISO5ZbpOfScQ\n1TcZ6dJq5Bfit3RewH5e9MtD1qCDSYX5hwCHJIDN/HOwjWzBYh6/BbjJj7lF\nR4jDLPY6f1bomd/ZXfhtUxrZ54MrdvOMm2hkeHTFz23oOMdxlEPo+CbcD6PH\n55KHXmQ/mRZEM6an83WujcADDi3QHsScf7vqn4nKDYMinY3ENn8I0vCSqNRz\nfrAhgQpawdrM2AJ4HQ9xIY3st5V2c6u2fEIspy8j98u5xWMadME2uoY5cFeC\nmQg+LmStOlmwcWnTg+Dz1ZBDJDjsCrzOnTKXYlaULMDlL1auXDvmJYo9W7Wp\naHw4\r\n=o7XI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.5","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.5","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.5","@aofl/element":"^3.5.0-beta.5"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.5_1582427427127_0.5808025119887901","host":"s3://npm-registry-packages"}},"3.5.0-beta.6":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.6","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.6","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"6ffcc150834116be6c0a150778ff5c7ebd6f52c7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.6.tgz","fileCount":7,"integrity":"sha512-tCC6ggglHDy8vxHkg19sgXB89qUrQUgQjDLLEDJCjtl7QHCqmHV08RWXszsV2gjFsJznKMO5F9d0jz8D/FNbTQ==","signatures":[{"sig":"MEYCIQDB2UZb//LtNARlXgA8Htq7K44ZGH5PVDiqCrsvQ70erwIhAMX8XXbpFtct6FvJZ3T8kZQuJdx9iUWnObZ/7jj6sKK/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUe7wCRA9TVsSAnZWagAA2X0P/RkeLSgyDeYI4Ze9DxcT\n32fFeXO99qQgNggXG7XMD6zGPQavRPIFdbG8rXLnmbv1XaXyUx6slco5aK4p\n/UYElGBj7v6f+NZaRxr8X6uaHFLNDG/rScI0s6mOCd+DoN41y6ob2wK9gXys\nP2Im1iXewXK560XyX9v4tNfmO2j4tF1SkSaUnC2cG7DGGYHFWXlJAzskSlkT\n1tjRn+r5itw9BvFh3yoOJjffiGYRcSuvKlc0Uz0XENET5sthkvkDfOs6rIeX\n39o3ew0A/8ljLMHJyr2XZzwWj2kB7XgtN72X1lI/sFXWl2pvakyzDgWkinfT\nFfsX5LMoHLfY9omzh/CYmFXBPupkMngZzLYI3JbEJhfB21Lhau8CMFk0ZkYN\nk4LfkJm6XeXGDNcw4YBUTUQDElJDXV7dp7slKvvATIDNtxNyHmtNY7QCia4E\nQOra7aeA1zgwlQ48M54KAmyBOI+xMrB9jxFq/mRh9qBhyVEPiZWH9UORPx6+\nik0gawvbWfP+E9d+DKuysOGng2bje2wGioAIfXbSHRCF058aaXDJhmdxrTU2\nYGCuHrbS0ss5Jma0xp3JjSRudNpdTqPpBip/gmhQPmNTVPSNoQ5xNH1bu71+\noAEjRbx/L4Kj1/P2wjuFs+rOr5k6yIK3uK9qcBhXyFpvmEjmNoeOliXiCDhr\nIRho\r\n=8wju\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.6","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.6","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.6","@aofl/element":"^3.5.0-beta.6"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.6_1582427887929_0.46686639206703795","host":"s3://npm-registry-packages"}},"3.5.0-beta.7":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.7","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.7","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"cc0d593ff7873cd8b0b4bb3c7bda9b9ca89e0d08","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.7.tgz","fileCount":7,"integrity":"sha512-ooZSoHXqmAU1o84yAPRGFcGMjGRPyiInpwgMNu/JVrtaAfKhPXdBu8e6ioXC1mruilFLHIDAOues/I8JSK82dw==","signatures":[{"sig":"MEUCIQDseG7RaNzZAUFOc0lBw9ava0pysle3kRN9RIYxW4XTLQIgcMyht58bjnQiVB5YIJ3bNEj5x8i+vsu7sUty3Ha8Dyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUggxCRA9TVsSAnZWagAA/XAP/3hsik17bKtl3Gwl74rY\nKCcNz2AsmgZZnx4RaEQ0LiSsLZrGvrJwMGbbwg7Wemgd4oaN3lgwZYKAMxnF\nBH1/NE2X67nNbhFqw7h4upNKyGTy+scyr2mSsuQLk+a4F6CQ/QaLPhVrjMlw\nPvrVkLdFG2u2C2KThMoQx4SXpZCf4SJs/3Px8dF6TRQ/4sR3qMCnJ2lbifDm\nEVLJGiji4dux5jHePRhttYUJZAM1UaDzwmRK248Gc3ROrwa4O+F6t1cC2gCQ\nexlxlEy/cnKuUgWitYZhcefHQaTo730YL41DL7b2HnMMZl88HGz/lmI1ZAv1\neQPUJ7x/4K9mzFjJu1q7ut5K3RGINRjx7tsrqL1XIRZo4uHfYcI5pMuAU/ny\nMn+VKajwTmDekArlpjn4GjnWKyV8UhfZJsfJ3yw9SoyUNLClhCmn003hk0kq\n5lVet/cMVBGMAUP4FOqloETPqrqrtneICadC30rNso4MGQy7wTriVCKAi4u3\neg8/yH5kQxCSgC1pX6kiuHaPGrAWBQ5upYPHDYP3JQL8EM5/r3pI9d2taLDa\nqYtqGP5mLK8y4nIB4pIZmFebLv4T2p20LXn28E4CfesEU5LLiV4pvUv5FyPC\nWYpL29eNwRGtQ8Fs4ie9fufjy2eocUesxjvNfzQ4FM9BpOybnMF1Kmg1VDGv\nXlSg\r\n=V7SB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.7","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.7","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.7","@aofl/element":"^3.5.0-beta.7"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.7_1582434353555_0.0620664243301412","host":"s3://npm-registry-packages"}},"3.5.0-beta.8":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.8","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.8","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"4fc48bbcf50f51ad3081a08ab15da9f0b7d1d6f6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.8.tgz","fileCount":7,"integrity":"sha512-c06vRsQedC5GpHB61aNrFJmtUQqyfBLmdEYyhIaMT0aZCEcX4bl2ds5pwewfPCcXSZwVglw27GzTP7XhBYCwyg==","signatures":[{"sig":"MEUCIQD2PmrCYUcPnjMf3+IR8RJ1AMZv+DQ5KY60EpY4y45YlAIgdNSgievgT21fAPYgb82xAr1GE4Zg+80e21pEzTplB0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUgjwCRA9TVsSAnZWagAAvqsQAJcZ7JXhFkTwSraDfOXX\nKjqFV/TJkJHy2IIRP2/ug45v+iW+LlNHlMBeNEw3ufRotJ2Aaoj7x7WnZAlh\nZk7YjXU20oAWB4x5LHg6ft5a6R6Awi98vvanZ8oVaiEJzGf3r60TeZcR/uUj\n3wZcjRrJyCIsyKDNUl2gyhEUgKWPxPSrRskrHIvXIiIa5NC/QYtPzKKJGFJj\nU1LoKdlF2edNpYwG7w4fe3g+YFnzODjsqaqDsWoijNU8OBIUrHOw0Jxg1pzQ\nG34HoznzEASZpIEJBrpAvMuz88NjwADok/6a/UlqObIBl/LJAzTozofJN7fc\nq3RZGakM1MJu30ujLW0BZohpT/Xn1zhrObwRFZ7xyTGFMSPg0e7PsbK9N6Bm\nyj6sBdExeWV1Sis0aqZ4y9bMD74Cl4hk2doxzTHbk8Onmbua9QUUs9p6cyig\nqIkqe8AuDDlDi0BT8s0zKYMojWKk8vPEo97c/9A70byxi+y2toLAXDFDw/M+\nb1dSjVE+au0l86htf+eaz1r6vM+ERWT72d2FHAlLjf42ISMZC1WJt6Yupt0a\n3t3Zm1a3w6qC1Qu0BOZyDKGq8TtvVRZPnmsb62H+W3cDVA5HlpHHXk5LJ0Pi\nxZ22h60iUnR1ssWvtIanA8GK0O//BzB4YYleSYeFfH2Vmup87HDX4d9SV3xH\n1OS8\r\n=r6+L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.8","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.8","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.8","@aofl/element":"^3.5.0-beta.8"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.8_1582434544111_0.19782874690559082","host":"s3://npm-registry-packages"}},"3.5.0-beta.9":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.9","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.9","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"ae58c91fd2ddcb2f6132f4bea12374bc6f33b888","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.9.tgz","fileCount":7,"integrity":"sha512-NzHxF70/W98Xi+l2MW0MuGhfkKlnd0lGm71ci15Yg8GrGZ38KVD9KPKYSKrHqNE13nxyr7nQs3F/LD26TME/lQ==","signatures":[{"sig":"MEQCIACZ4yNH4X8yUPnS209mhKUCf1j0lV8fghwdKR/5FEsTAiBiFbm8DjnEkJzBD+oDckgWBt1XP4JiX9Vj3WvwFi92iw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUg6qCRA9TVsSAnZWagAAvSwQAIBz8o0wZx33M2ms038W\n1NU1QhjmZ/5Oi555zMh2bzqweVJDQiMDG62An1ijGvlB8lxYr+CQ5O1GCfBU\nJYNlgUbe0FOBGVMwlmiHBM7h8bE8Bm09yUgPxv1VQwWj3SnvlLhDHh3TPQec\nCFh/dmTVY45J5fsQoGbm8/eaiy826xfXOMm7VOyt5v3NSrZWY0gW1ZRFk6BI\n/miJOK1s8WKVT6iTmbok1HHEaTSQNyG+/pYmA6gqEIcq8Jo7u+GQh4YgYzUn\nluW82vn1D46U3XD7iITYxNHldRiI5cIeYTI/CVcr2Pg20cPFBVZ7qp3/1pNV\nonwkwIXxCzAzoTkLVdLEFViNJuuZXj9oAWE4gL3af+xYBLyGIsNvY2AadcOi\no7sVodQi8uwKdseOLp0648kQmQnADt0un/bQvjfPQ5wZj3/rsPH7uc4kuzY9\nk6Vy2IbGlN2cbx0Cuh6dazFuGpZfYUx3YxZOGEICAKS32iHs8r+9d9h1dzE2\n1/CLd1Zei+r++/s35HSnCsJe7ruodbYIlQK7jZGrqoAjtHNKB1APnJ+H47Ve\nLE2kJe4UC+92JCLXyEOs88v5W8SFcy2gcV/bW3odaHpZFU2S2/NKv9f5Hmwr\nVPnmi6SVrmSBkUUt0lOGCWfVr5iEQeCQl5WpyYlEcsPPFz/zu0vdzcQeNLDw\nxHHy\r\n=ysGq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.9","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.9","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.9","@aofl/element":"^3.5.0-beta.9"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.9_1582436010252_0.6730193132914428","host":"s3://npm-registry-packages"}},"3.5.0-beta.10":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.10","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.10","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"2ea4b2ef1cc750eacc10d372f1a3f555b6805f3e","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.10.tgz","fileCount":7,"integrity":"sha512-wXaxB8DYRR86pSbbNG8gXEnKfrBWwj2A+foqfjfN7R5KmT7iXh9cwjVkTNc+tsYxpSveGmKMVxtmuZslw537eA==","signatures":[{"sig":"MEQCIHLbNkk929RLse0cIIg9tf4eZuw8IVZjkuyfq2dYzeflAiABENBqN5bqZ1XuOXC+pYk3O4sfDaYUIJPHcV10CdKpxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUhK7CRA9TVsSAnZWagAAM4MP/R8Via3Z8pVSFQLbGKQN\n/jjxADc9X000b0vlBmSax2ay0ynfVyNUHLSfezXiv9F69CtY26Igfubc+cu1\n+Ufk7+9Oa0f2CY0M87E/X4hcukK1ELA92Wvz746f2Uq8pC7JFAYW5gHRgPEG\ncwIxW+bsGOx5LuiHmaCbivIWZulvcV7R1YSwe9u+KGzgtfj9HsoFpzcNwLoL\nMAdJGY9a95mkpEDIWDI8fe3bEA3rkVZHSsgoMqJycOOHNd31MBDX2vLbC+Vi\nEe5S8vumJHYm1lhSH9mKNwg+Mm9T5oBFhsq6hI7m7m2ACaLVAKYDRwmh0RvD\n7ltZbVvvpPX9U7yH/jHjc3IS7fOxRbXLf0TNmgb8MEqPzvxlJlA7MPlQWAdV\nsYSEM3HzFX+H7STYIKapVzAItWmR397VzPDOlKpoU0QOKl39AOrjtjRmsk8z\nzziZFCmk4SEKMUX024fYdBR/JLSSkG3FefF5DLMXxvzzvWcwJuKkpgYPfAh0\nzn5m0tF799wmXVdxRwjp3KQ5ykrX/AkiWYpaHvNFqw7yhdpH4eUWewfQWo9B\nenISqKsJa5TVk7uuS67Emr1tVD0ZQ4bGFdLh7QGmQtXXE3xE0y0TjlTcVgwF\nmsLxcel3XIbTNJrhqathZbF2E+n4BZsEWpRgVTYvdUl2ozxprlEq5PKj/4nf\nqn0+\r\n=0BYw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.10","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.10","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.10","@aofl/element":"^3.5.0-beta.10"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.10_1582437051240_0.17855452789508774","host":"s3://npm-registry-packages"}},"3.5.0-beta.11":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.11","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.11","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"f609330ffff043dfd6001c476a1aaccbbe3c23e1","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.11.tgz","fileCount":7,"integrity":"sha512-Em2kqfYEl9QSER+1REQM98BcO9OcCoOyNiVsUAXLBiNf9cj7wfdy5cWnz4Gt5gBdzaxGY5ixLYt3dIWxBiyXgQ==","signatures":[{"sig":"MEUCIGT6u/xzyS8TpzHr5SBMX6/vja3GKv+E6WPypxfRI0LRAiEAi2lJyHUW6uf4gE3hteVurtQUWn/SbcjcCWUxphffyoM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUiu+CRA9TVsSAnZWagAA77sP/1mJuIFZVcQskDyirTA5\npSoYDNspOHH9w45Enx3lUiehu/AiTnwr3lV11+WTntN1YtU793HFKwwUhHpi\nRZNMKe4aSmhI2h5uBi8Lmw8AwseTMWpGJStHWuEk18J0Hf5PJ4FrgmrPZ1eB\nooqxgXPfBWJlpXaI5nF4r5T4mD6xDc+uxa/L+q/Yx6mvVfimWqwwaH0Op01+\nVhk858G9eyeTjEFxnIKRUQwPNf68+2MrC1sDT1XaRTvjZ9UzcL2Nb/lw1eTr\nn3kTR65RnAomd9lODXz/LPKWJTIxCSb4YDmo0sC3xNkaGNrnw+keucUo/bjp\nk9swgkjJ+D2O8Yc4R+VgssiNAVHYqTcgRed5XwXADOqVIy1SFY/J9kANRUgN\nKQt5W80PWkkE/SlwMZreUJsCcBjfRoVO3GgRRExAbyujhUmucRK0f0tHSMeo\nc4ikfI8I2op9x757tIkokMjJXHvGci7pPcWHCMbu/9LbA51vMIMNGpEQgBbY\nDS54ynaGMPWdCOruUeNkqdCpb+O7FXGSnZSRN4QsoIRGo1Xh/MTr2vM89Zt6\n+qnF5wlhsLLSJDskjpDW/5SFncHN9tyBHIFU0WIgAHGPT+u4OL9lHE05vxVv\nphxyQGGqxuel0RqGLdN3HNkGJS+/HvVFGeTc7+wZvdXub3J3eGXDRzfggyn9\ns06S\r\n=BuyL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.11","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.11","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.11","@aofl/element":"^3.5.0-beta.11"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.11_1582443454259_0.9071889320816457","host":"s3://npm-registry-packages"}},"3.5.0-beta.12":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.12","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.12","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5a0ae6b90cb5b088403b0a16d2e385fddd27c9cd","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.12.tgz","fileCount":7,"integrity":"sha512-QJZq3xh6KjSLxIhY8qMNTEMFUenSSBPnR1SfQ++/tqmjfuPcvCVUwU0FeWzlA5HKlgkzr8Nv3BspMlpx7oHHSQ==","signatures":[{"sig":"MEQCIEdi4A+gotn78RQresBEnxx5dBs9RV+poqO0KtyEvihsAiAVgmpabxiDZ4i9J2OqfJPdPfJnlqjhK7hn3iBLBx8Zfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUj8vCRA9TVsSAnZWagAAhU4P/jzaufBy1Ay/YeTet1EH\nnRXFl/WRNExp9iGMuhQeMY777uMW3BOBQiySyrEO8Lx5UzwC6KT7003yR/6n\nD48eSTrodi1Ve39RzZa84jy6CgXfy4J7Xiv0EIET3YO8I2jZmJRCoVTAGyWs\n1yvsxW5gbPR0vJ84s7Yltg4mV824Jxn92tQfBTVOTW9Dp247N8jyTm7zosIs\nEL3OXdWerf/1Q23aOKJhVNMyGa7S7oaJjaeT1qd0Ir/PjIP9mhkISAfE0qLc\npKxaqz7ileR3mLRXT1w4naLWMokuNZvaIXaKSqfrh0BVvA2exD9IEjpWatkf\nMQ8aUyZpYA9NM4QdQLaMiiG7szOElIouqLbM5YxpU9VCmFyT2wg2XpzCprHe\nnNhR7VdJKCXHF40P1kwN/Sk2TLt0V/+Fd2MNOtufJQdvZ5sRM0/5PyI+Yu9f\nSilBJpn/l1jfghdWGncXabBMOmQHme8EjZMTp2V49VeAi4IzWgF0JWeAPLCU\n0ZU6heYQXS/sVU+tA9Vs7LSdgpqIa/mAE0N4MzNsJWfLMbFrzUUW0CfEz9d0\n7rB80XIBTo5tSvUpEvcdQ+8GikOjIHj2onXpWuQR8Mq/u3k1+sgUpBTrPtzK\nj0R7X2kWMFaPZ9RAOeBpqdxL+IQDcusz+GEG+CdlELi05Sw7pYvfQjcGrFQh\nTznF\r\n=h+Ya\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.12","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.12","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.12","@aofl/element":"^3.5.0-beta.12"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.12_1582448431013_0.8666133001725658","host":"s3://npm-registry-packages"}},"3.5.0-beta.13":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.13","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.13","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5d9dcd0e00f34ef0063adbb2b31fcbe1440f22c5","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.13.tgz","fileCount":7,"integrity":"sha512-UI5oEbwGudUfk6jYPY9U40C7JiQqKw0JJLARdUyjn4nhdkfKtzSmhUTg4vQNwR3un8EJWIOb+4oplxtdAlMZ5g==","signatures":[{"sig":"MEYCIQC3kExrbF/kflHI/zPIQzdIwlH/wcLuSbHmyper9oplKwIhAIm+PM4G0p4fQ0YNjKKwhCYZgXherSFrM1X+uoNHZ+MB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUj+kCRA9TVsSAnZWagAA4ogP/2Zs1oJOMiaebwveoSC2\n2RLtrrYeE9NY2QO+j+MLegl1cIbpj5JH5i3XLyGlJEXW7DDC+rylTjTDDdEN\n7+StqBKLWjTBkU24T1g1YazA1v2cr+HVvkCKzPokzSCdt6d3TkuuAR5iEN5P\nojOrxMBC6RK+kXOLrT5ZzCsNFsbwTVmfNjrC+tUtBHyePMCLkbAJuIghs3i3\n/3ZkmUrOIqMWk+lM5JxDJxRbldnWyKYZHdbA4jk8eNTIvVPGfHsPPXi+A7QK\nGhz2If9gW2mvQdUYFkg1vICP9w/dJ0D0fRTXj5cJYS+32x71sNUyB5QA9TtA\nAicbtifagt3G6+72YoX75BA5VgeKkrkO3OqU4ssJD5/fMBh/akPQjftxX07+\nQTNIOaL2TaCeV1NsOef5yR/7DmlTjZKRF9g3KO78Kc39eSk8Ks0XrsDvBT8a\n6H+kiY2wxbVPtVUIHW/lWK4yEBA/7t/gSF4VTCQweZrijQ20/0yn5nEX2+hi\nm4PnSN/eUGh2ZO6Dxg04e7Qw7hucm9+bUn5pQUiyxPLtwsasKKoeKwlg4hym\nG9F0/2juZVhgS4LSXe120LwfoejVW+dLFvfMyOXkb05iaZbH/HPen+HIgHAz\nGMwznAcRRtVearnR1/3T/FjnX0mULCDqhDAurudGvypGbsK4TPoscXKHiPJI\n2QTA\r\n=E3uB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.13","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.13","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.13","@aofl/element":"^3.5.0-beta.13"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.13_1582448548232_0.46460886655515976","host":"s3://npm-registry-packages"}},"3.5.0-beta.14":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.14","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.14","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"6422318ec35394dc1ef1810e84cb274a3a2233d4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.14.tgz","fileCount":7,"integrity":"sha512-5wwwSyYFQbvbnES8uFYFtsoEjtn61L/a652suEGCL10bYMGqvKipfX+9MIDwMYhnu9DfYHfkKUelgCsv9XlRxw==","signatures":[{"sig":"MEUCIB0rmiqMpv+9EF1Ip/S6w7KxaLHJnEaGmc6eWynZIcqcAiEAje2aEoYjYIZkZAQXeOSu2G5KHZ2p8DiGwu1zzmYLO2c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUk1ACRA9TVsSAnZWagAAjQcP/ArRnpek9Vy5HU2/3Z/l\nf8EJcj+oiPJQT0aHh5wPLNuguzp+09/EwKp9u1CSXfekbJGjjU73eyVEJcfA\nmAdh48SNVSR8TNMGTtAGHb7RxE8EPLvhmlww3SujOF53DhioJw+9Y6qH/EVS\ncWkpVBx7q+5DVWGSnsljjG/RYqEjPdWhu6dLs4Kt+jxx8t2APDTTEn03hd6G\npf3R18Py2rM1BIqGNnnz+RRMsuaRfXmZT2RUQNEhKDXf2IAYX/zaP6KP1cUa\n6vIDRlo2Vhp2ydCr0RIg8In54BWeMn7vCYbu20tIfQBiV3afB3c4L765ZthX\n1YQJPJMSSM6neC7LNc/tSSVPc1EaDg0Z8zfGonQgDLu8U1+BeQ2RIbS4TV1c\ne885scY5onSNRq+4oC05sMFTk2aqA1xBCnrgKTaCaL5OoXxoOo1GTprKzf2L\nndJHGBKXBWok56QSoI8PFYVM13JZAHCm0vrSK3lK92kxMjFDssNbZMaKsfMU\ntPqveOahyKw2eV3w6qx3HnmoP7Rheif3DzKt5zO9qUsg4HtW95y/CdpFarSM\nETK9UChjL6KKtZTRZf5/yJhG5InTZeWhXJOhVQWWPsasWxhC5qE/DI9x1a+f\nY8VXkVcf44DHB+MhBk1lrMJg0Dt0AsYgw1K6zMnXTsS7kyoQ3SMqcD3UGkC4\ntcNs\r\n=3gRA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.14","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.14","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.14","@aofl/element":"^3.5.0-beta.14"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.14_1582452032011_0.06610504281912699","host":"s3://npm-registry-packages"}},"3.5.0-beta.15":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.15","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.15","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c0592e62eaed99d2e21ac0bfeeb2afd8daa2d9da","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.15.tgz","fileCount":7,"integrity":"sha512-Z3C1sr6OD0DIwgcH9Ro+7fBrV+/kcM/spCoTCvN0cpgSTKM5x3NJL0weK9PbFeIRLwz0M5ryXVxypCPYGEYIgA==","signatures":[{"sig":"MEQCIEVvSrd1/5H62kUwdguOjkL5HOkSjrRBu68GtSm4TFKgAiBtrcKUZgZkNivzGS9f6OGgzqtUHhn++Lnfq86Su9zMiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUmbSCRA9TVsSAnZWagAAvnQP/01lBRw2ePWUgw3a1EHj\nkcRA7COrZashWpzH9fQYQXdO5R1VJCUZ64lL2+A/toBzwKg0AK/ARr+EteKq\nmxQZRkC6gbdB02btO0KYxjXSwLe5P5TTE1ullpinn8IiX6YkvrWkZHBsSuqb\nVNxlOgaWQzzylnZaqe+tLK0JUiuSi2timdwvHOAjhyIVEMgTxrnhacVnSfu6\nFIXmdDtC8X6SajDkz4+guJQjs9eCimtfYUtBvUWM0I64OEXXvZXG+1h9ll/4\nHJFjvKGeFj0PFuy4nOjMFHxK1dLUHxmKxjAsWmw3ISeC2ByexVPigBNfO1tv\nkdsHFN5LYJxJaIKb/BzEyCbsfDFw6nDGY0nAB6UJCmd6c+dFtg8iH/F8BtNl\nGjVqCM2Zdykkp7MVrvVclgrXuWo/DOsxBhTKPuRAHqddGj8TjdzJWII+6QNX\nLTFiB8O7fqDRO6MPhpoSES2o2Q5QWi8YgxztrVe2YeWvyDG38SI6MRNXvnxa\nZb3i/j7bOu8h6XHQOsUFU55pvMNEZpuvtp8mMNtM5j7XEaAMpWLEiI6erNlT\nl9y/Yd8A62KD5VlpOxu3ytY/2F7NjAOeqojyoz6XMidQ5ed+OrhH3P9j4xni\nZliejA7AAjxyIzQmpMnmOblLEp2UTTEJqbkGQBfxIYleoaUkl88gCzPj1IFy\nF0qY\r\n=34zl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.15","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.15","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.15","@aofl/element":"^3.5.0-beta.15"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.15_1582458577570_0.7549567912373873","host":"s3://npm-registry-packages"}},"3.5.0-beta.16":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.16","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.16","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"fcce0fb96aa324b2a0e3155a0aa25d042da4111a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.16.tgz","fileCount":7,"integrity":"sha512-SCcttCU6p9xJ2YU+mc1bO8CYA48PjEh233kGJKzMzsLonhaBFt1wlK0QQSvA08eAM000iPQlBKBwZxrZvYj4Dw==","signatures":[{"sig":"MEYCIQDVIPIzgwQf/atolcAVukywhXyXqQoYT2CiWbQMVkhQ/wIhAORdG/amlCdfUsDOxmhhx3K2BCKBccbr/jgswnikWDZ4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUmkFCRA9TVsSAnZWagAASlIP+wZSuxfte0mq0LgBIkh1\nCGV5o1v5AVvAB3ET8Ia3X3rlAv8S6RUeDkPGqiULgK3cxoj/UBuZkduDKnP2\n5EH8Lm5LM8fuMxr4Zw08r85wCrUgh7OjqhIRo63x02Wd0TwR4HTJOCWDU0Go\nLiGJ/LJKOtbF8Av0YGkpIT74DeyEbJsk0zagRRn2vg6cKPS88Af5JVD2n+2v\nO4AH7zqL0sWAm7c39tS8Exgz4aoNretm/44gIOssObLjkg9IFlLH9zMRtijO\nuPJAeWr4heOdLDwRIVe/CAutMmE57K+1yohA5sVI7W0EjeVFQulCpSPnSRdx\nzEZKJVq3TzIBAopUeQc9L3dC9/p0EVZOonJYFKZ5VFe5frlcgr4pM659anoC\nJWLEPnOQNzanuKgwZ6/ayBvZvYTxjiiaHv331nRPaqs79YGAhzNWvoPYloPB\nw6pGi+eKjNDpuF7yTgeKYEMIlpUeXtlPCQefEYnxl+3tFSCsg2VkHbJcPU6Z\n9QK/GrTJT5NFUTv3GszXIW+ptAC5M3vKddfhLSlm53Ng9ZYuiAQfHmKUvweW\nIW0s8h9IiYz3yJEZO0X1DDpe0GWNkpzSbrLNDs99QTJRuzENSHLwMRNPlgQC\nKBMnw5gkQPpuW8UAPsSD68pKFwhS1BxWvAvdJlUPYc/Pywj6LKYp4K1nc4Wd\n1GwP\r\n=TdJo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.16","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.16","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.16","@aofl/element":"^3.5.0-beta.16"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.16_1582459141351_0.39543674081697655","host":"s3://npm-registry-packages"}},"3.5.0-beta.17":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.17","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.17","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"8e16f3aa3a974e26a4b64b59b4e64589756e1c78","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.17.tgz","fileCount":7,"integrity":"sha512-Zw6lEyLJn9W8+xkqAnchSUicqhLSh1DNxIFVIgltbpkNLm7TQLV0pEnqTtFRFU+0rWpbesPrdIc/1aqPb9mSzw==","signatures":[{"sig":"MEUCIAhv1zbCnlsvJ4LQIl/dzN2VZmvGum41FshinbStEqmBAiEA/WAw4cK2rrb9UswtqZZRwCY9aKTdIgVHleUAecytUvI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUmy6CRA9TVsSAnZWagAAzZkP/0SP7wrYAe1yjy1ue6Bi\nB9ECoC3WfLg4/tMZD9Uaa0uYhyG9wlLvPj1nAVOYLUM8b+Zk8WfVf619JOe9\nBlk4EenWi9P5m4BVXvEmpQI+jGsSyOU5R3bRpiuIspo0DXsQ5R9xPE1d5mIx\na6JgrB5SxLQKEIYBt9OsfFh4JTjGEaer9gO21Tn95X0JGgYuIZ1n+tCFITXx\nHm3/7V1BJA/qKJwcQAdltZukPzJdWTbsgOzyOl7ty5yD16xN0fGBgUuuw6o4\no0NOLjI9HjvjJ14LiHJ6LnmMCHSu45v00NfRdL85T3VkzUFT3qLSTzNcbSLU\nSHTgfBTgNkFRbgoZvAeu10QOscA0hUR+kxcbz3wvo+ERDc6PJJ7S5Ck16Ujv\nU1FLhravVdL6Vx1Eh4YbUAb2mSRznyaGb1W4tXqGV9DrW8s0+K6BPU9jgcqV\ntU2N+wpKVDb+G6Fj25oQQ0dI31suDLgrhbXtkPvXulvHacy456yuP/+iuT1l\nFAwBlB9NUdVfVKIJiBePla8ADK4B//GuzR/ogmfy6t604NPfxkMoHE3c9LDC\nFGK03aaJDsYzJkiC+RbiLzPLh3/h5UlBvx9CA6PbVNBxmrZsw0LHlC28Lyza\nf0fEhoFAQYTWXqReW8yEXRjz7NKuTCC5gourIUtU1zmB/AHdVsjg+tQKW8XI\n1Bti\r\n=bE5v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.17","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.17","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.17","@aofl/element":"^3.5.0-beta.17"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.17_1582460090203_0.7718328335409688","host":"s3://npm-registry-packages"}},"3.5.0-beta.18":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.18","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.18","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"fc8f09aaea13f23b2add0ae33161e6a28f34cb40","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.18.tgz","fileCount":7,"integrity":"sha512-Yr/jMHM1coz+J+YykDUcGHk8ViACGGgIX+5FV6cDEuOusnlv0fK3T7iCti0NdimIL3lJzCzCczCGKMHxF8zXQA==","signatures":[{"sig":"MEQCIFTS4pPzQ+u/MFYXn2Zl/1b+WfaDmF7pYK6CsSBrr4GuAiAxZKWpisCm+834lYMwwDA1L2TM0g6sTVDYgzJhbLdOow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVJu9CRA9TVsSAnZWagAAaDAQAIbjo27yQBHCpazOnaSY\noiLvh5B7FBX97Bda9rPVPrnJfqWfod8poxAQ9SN9SzN+Cd62lWp739kgn8TC\nKDPAB5tdvaOgcW43ufohtgJfI361nyGrL2FMQ88mEDvKM4HDK9JxxNTAzNga\nwn/Dg6UUNiEof76GsM4JDUIrd9RUxqZDyVaUSVjyOqfoFoYbwIiLS6aVIcWY\nAT9jyntNw8q7PH0Ci7hSncHBkoF/qg5lDe6LoHpCpW/d4kROeLiccmmIFXYD\naA/jX/aESE9DXhgpTUnGqQp+ELCdYJjci2ZSW+OEpzenkbwocd2Z4zrEd7UP\no5s3QVaKAvwOxDDcr3DFKHV4FnF06wMSfrlXqfH298nATyxvb8qPPKIh3g2J\nKhR77Ng9WZADZAGZQfi9PrhYUaX+y0NWGvciNe9GPRCkS7BSjUVPnfBDv40y\nd8aYlvmZAXOPYCONaDrrTFYU3kFDAX9/8MU8xFMPE+HRoPEmr0zmftt8WCzX\nU3H9/SsOioduxJWjWP8zgSsbtjGnfh/WFMfv2S4k6N2sYZ9wR4Yf4UP2vGzz\nOIDr8ukn1ljSo1gOGHjcj+JKbmJIxm84d46Ho+YhdsUQ9JgrhvF5TKGQOgK8\n08a8TQOR/Elo4tPIBpHnWWgm60NhBjZ/R2yjET6I2UnwHnFSY4fnZRr/XVp/\n/AN7\r\n=IYy+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.18","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.18","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.18","@aofl/element":"^3.5.0-beta.18"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.18_1582603197161_0.988231517449452","host":"s3://npm-registry-packages"}},"3.5.0-beta.19":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.19","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.19","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"124c11ae4759ca518285418ef2de7f5e0a17fb43","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.19.tgz","fileCount":7,"integrity":"sha512-u9idBD3CbeKPKs5yJ+MuPDkI91x30Ixvai57KNNfrZCXunPVJQvzmgmHfpEqXpbT8xJTBUSVfZ9FkRbwi7xHlw==","signatures":[{"sig":"MEQCIC5Xa29s7wZfqlH469ukr6nfyr72Ji5Gyju9edDK5OXDAiB579O5L17e/Yn8xvYeMohfraZtSrN9ItcjHB/Mj4roqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVbRqCRA9TVsSAnZWagAAaWoP/3XMhjyNAAqEeMfk+TwL\nOMOKy82z1vL6ibmPaxoCjqel8WLhHd7CkDFu8eMwQzVRuWP9/pCi/vzIwsne\nf1Y/WKKr2jOnys9e3iiJx94/UF9J3Uhryj+O9hE4Hm9B5+f7wJ5JjmzWsk1y\n4asEUO+cKRYDODNOg+xKRppvJ9QyCim9OtoDEhlu4t1cqRGiOEvlxBxGCll0\nU/PPJNlvhPIFRPWlrqyaWz7dk38VGBpaGf4UL+haEyI1d212CqhQkDkqr9eh\nQNszCMS8nTl8n3AN9OYC7nLXSs1AkNI43F6l7l2vAKP/fxrXeiyBlwiXjfsR\nYIPlFfaMBvekomHo0lm6YEb0LY7bRQIo/s0WHcUaTKDft9U4COemvYxRTtvO\neD1RIN2MAAuE1rsm0vfxD6wMNMAralG3vfeRj263CRy8LMySht77TFMkIoGO\ngn8Nx8ywWxzHYbtE0Gq2C5G6Fpllxh2mIxJBl9ReIktgqnwl1g5kLO55rMvo\nLoZPjZui4X6ujrRJSRwZg/hQNa9dZFlLF3yXRjobIaZOl2Uqdc1e4BJadhBv\nqyTHkfNAcm9sX2k7MlORzxVqKVlvzYG71RheuZhdmfH8SxTYhrmJsj7YnACi\nYqE/FQSjj1ikQd8SLExVz6uAKT0u7lR90NskibAxswZUTjVk24BbngacHwTU\nFQAM\r\n=q8lq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.19","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.19","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.19","@aofl/element":"^3.5.0-beta.19"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.19_1582675050132_0.4796228394194755","host":"s3://npm-registry-packages"}},"3.5.0-beta.20":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.20","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.20","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"3f296e89a71d78940eb6e7b872f66736ce283d7c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.20.tgz","fileCount":7,"integrity":"sha512-MnE2vcgwsc/fmCd5o+Lg6nEdJAMW7X5P/l/S61/FfHJXvGohLsORPVBesC5iRuy0ucjjjBEkJ9T2k50Cy11XJg==","signatures":[{"sig":"MEYCIQDTiEdSCNc1IhgMABkdkpeXnzrUjjj4m2OmupCbU+aX4wIhAOoz0mp6/ojndhiAWSj6aURs159YwniGwz0Ls58RF644","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXZVYCRA9TVsSAnZWagAAbZEP/0QY3NZ8DWiYrJpvQBlh\nP2vFv7YAzYa0VMiODLNp4ao2FmOyHxn2ueCLUpKiGJJkOSLbF1XmCrUnhkvE\nG3/1AmAp7L7cADIM0btHhYjLkE+Yr1//Nd1rXGyV10/sH9VmYeBVfr61mcto\nW4H3tkKAZp6UkcUjzDxGZu+kjDEwEOiqY3JbX2eeffYfh35ABng6ShFRVmr6\nRGmJOr+xKM/4+/o47+gwENG5se06ouJBgZblWAPZB/powUBX9/Q1mUrng+Sk\nkjvSK7byOX1DerQejGPvMFBmC5DvKM603ThxtPBeuRsqS6MkUtSMX5KZcFMW\nsdsvEt/P/J2bBp6joiVUgDCIjJ0EN+bSpNRJbrc2L789NF0DsgRzxiGvmgPf\n4BessYhyLRej/rXuUH3eWxud9nFtB/GFyUglBBJ+C1Hi78Dnc7/OBRr/xUq2\nZ21T3yV/OR+bs6L3ZITe5HQ9WS9Wwqqt64BVgGbBkuNGV+2n5tfe0UqR8VZn\nNLOZZXvubT4UjohigeOoFgTlRBYnhajxAtvY4JA8oKdoWIzm92yvtVbqSNX3\nGBs2bDo+IBXsJPawqey5qAPhhLbDZngXhxJJlM++fkCF7mhFKNfxU/JRxRFA\nMH7b8APS2hmoXUMkDsQGyJgIhhPdLQWFzKYGUBGnZlJB0VIsAWG9iLy/wpnW\nOafd\r\n=zWZk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.20","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.20","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.20","@aofl/element":"^3.5.0-beta.20"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.20_1583191383802_0.41266715430101497","host":"s3://npm-registry-packages"}},"3.5.0-beta.21":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.21","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.21","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"3e59e5b4d96f3dccb9d5720fb813accaafc41ea7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.21.tgz","fileCount":7,"integrity":"sha512-lteyKJbDGnpVTjL0gR3/A/vRzyJWlGUcmDbHN0nAxIrY61THYE4B1/O5DB23f3ZKmCu4HgC4mvcRuIjohwDl5w==","signatures":[{"sig":"MEYCIQCxy5WqN3jYn8pae0qUrqfciJnX3SeSNF8rVH0d3wvwhgIhAIF2HqSIxoSwTKe7e56P8u3iAF5qIxaS1ZeWWFeqaNuC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXZZdCRA9TVsSAnZWagAAjXQQAJnnXK2yERBDf8QYRZRL\n4GUTRAz+mkMF/j0Trm6BPnWhyxjx03fIMbJEQYOlIIAYhWb6yeQPRnrlEw9j\nzN0fKYygHzLimglKImdl4B0LJfRAmIrV41OeE839K22hzfSoqwp02Vwh4paQ\nHZGL+ExWht803Ftg5SwHNQoOmNsAnyudoBtwHHqvta7MS0szt8IklK63lJFM\ndl4XtTfoW59k15u6Q3n4f3emSjEgO4Gx4JCGwcd26FufbBsHfEUtfXLGC2y2\nyqptGUlp5c45fW/InTZbbz91xRFuaPNd8X/wHPb65hrAW04jX2ol6VXTtqr8\nbCUWND/7ziIYywq1n8iBgC5dGwFLZaeMfu7hD2Cv9bhZbvpT69m4hPVekpXc\nK4la+HQx1EN2vxqBK8i1BaXImwTf1H9ZeP6jNwrNlsB3Vk4Zo4qwd82F0tZr\nGK+hmjbYCMfdS+Cgvypj+wT8DqeSb3JI+gtjPgdFXGIy6jKOlirGjRrZbnfu\nYqwNJBZdAW58g4zrB97lJVQSCSKKfRa/l9AHc+QaOZvcgPLK+A9pF5+DnkjJ\nZ74+Xk/2XNUxmEGbGjNFBduN+M772V+sMUCFiCuvtOdWwmxPyuZUYoianB82\nV1rn4SoC3TUuHgy6+pH7cOtKNtKqiP78mnNNRwlgQEJLfpGFwwq3K3SYLCPL\nYUwJ\r\n=c0Bm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.21","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.21","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.21","@aofl/element":"^3.5.0-beta.21"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.21_1583191644683_0.8929792207567813","host":"s3://npm-registry-packages"}},"3.5.0-beta.22":{"name":"@aofl/i18n-mixin","version":"3.5.0-beta.22","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0-beta.22","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bf9b4ab06ba7ae90878f836fc941df23c5fdbf7f","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0-beta.22.tgz","fileCount":7,"integrity":"sha512-zBn9fT/PWuOSTT4ZDduyC52F1THv48HvUAE19e0WbPdH287/U1sB3D0GJDFfmcibPYEVmeEhEUK4IBwBonF1zw==","signatures":[{"sig":"MEUCIQDNEQZUIohobYSHQQtx24hH2chx9ZQ4yU+uZxBSMzbFogIgaiDLqlnd2UW/QgRObsIuddzkLLK2VDTOin3oWkT5Rbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXZnsCRA9TVsSAnZWagAAK0cP/AlSVsCi8C4O1m7MBZZG\nDmOjbPKYdKZi7O7aeWNENQTYasU/QjTu/EBJ7s/ZBHT7u4z3oYmyZCRHNPBl\ntl2UA0bSnCTdoHy8t8LDeYOnkgFhS1N1O8Bn8EhY7tVt3BjIn45QkLMnYDpj\nUICUdbOAh/qX5JbWvKsZhpIRFTNU6GCsdr4t5bOTtkVGGR2yGYwwM6y+uFCG\nAlPiunyi6Q/vHUUJGk4bi6zUlK2OuAwPjnGnINp47HoBQgfWOC25ZWYTCorp\ni8pXW1IU5DmtxdbG42LjawE8T9KkE9L5kH6uUqOyi/DYdNMayrkk7GSw6YDO\nXAl/pVS/hzCJUw2LLWIQVdc3qD5GlC53YosmDsaT3bgLqBLYATJPrtf8NY48\nIleJpQ/TzjOaK4tHBs/UcE5Nt3A26qSe3/okHgusIl69SQoms5yQUoG8eo6H\nGC0xBK/mLbIWePP6pw6fk/L/6D7YWuvFznfIP4//VEboUnt6/VNDY0USesUe\n99OYHH1Ceq1I9UzsqjkE8lDWRE+00BhBL2qf0A44zVW6U2QmY4atz0vzvJUM\ntUwSzdOPE4F00f2wBz/+7VDIDgtx+B15aUThZj72sLyAFcE1vIz7DLWYz+DW\nH8NScekMs7ph3+K9rJIRHs3CK2xPxGpaFNIsRK4dZt4Idv+4mW7w+VjpqXh3\nJv7f\r\n=PubE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0-beta.22","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0-beta.22","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0-beta.22","@aofl/element":"^3.5.0-beta.22"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0-beta.22_1583192555994_0.5213104204720507","host":"s3://npm-registry-packages"}},"3.5.0":{"name":"@aofl/i18n-mixin","version":"3.5.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.5.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"0848b1317b56642b6b1464fa412fd89fabd8ff79","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.5.0.tgz","fileCount":7,"integrity":"sha512-pOq64J7Ul310V3h0ZKD1U7p8UrRe9HDGQMlZVl1pN6lCsz0NqiQLdDUjJVIzCuxGaga0y8Wy8+8ZHDAhz/DJMQ==","signatures":[{"sig":"MEQCIBH30vxQF5AbPwEsaevTl4DHHP50XBvRT45iSZ+nwYmxAiBZ708mWRqOdNLJv9dKQcuOu/ghKVe/YYQPUqxf2h/M3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXZ7QCRA9TVsSAnZWagAA7scP/jqnPUvjrb6w5ZW/qPoD\n8RK9j+3GaWg6FRT72G/Qn8CfBfIZpPnGedRFGUMwBWLW+i5qMfLiEa8U10f1\n0PYz8ONoy4nJSLws4/VDHAN9x3n5GfERKAH4ztWqWeEYNiQJOfxqrZPPZqvi\nU3znmL3hMJoMV4QrJBQ1o8iAcZFsTcp4ZAPJvQABIN2ZYwGThCzW1/ZBDybV\nF7lfZ8P3yJjmAByFJooagLwI9eVVGVvJnVlX3d2YgvHvWEVHMSEHtRQ9jyAC\na5D7B2gRMaP8SBoSWKdTvNEK4XU72c7DwdbM5W9A7Mhmf26x/YP5Wpgs3in+\nl96PNadZIJQUG1mSCLeiSf6HHgE+YjnwRj7IgdNI27F5UHeF8Ki8Gb6/8ond\nqf0OHT1Y1emcoWD8skvs9Qa5xoqcnV8uAbWMyuqtZ4PeuDuCbG51B1Jm0ZLm\ne6joAwAs1bmmrrdnPSI9LragKLqJCnFW6uGwOMWxbqvbK/cp8Sxr+5KaK+N0\n0nexq3BhnBPqAeVH5WgJsE2fbI0W/r3XRC9lCg/gDgVS9rguHaHh36RADBrS\nKRaP00cTDP158zllXXOdapGKiiYVSkOwg6lZaHq5zCb3HOiireCJF+5Wl6UJ\nJ8ycPmIms8jIHE7dLvEwak7hDuChJsWJWPdpN1tX+XA7U9Q96X4hCTGNxPO/\n3TK/\r\n=kuT7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.5.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.5.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.5.0","@aofl/element":"^3.5.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.5.0_1583193808282_0.7944337035031848","host":"s3://npm-registry-packages"}},"3.6.1":{"name":"@aofl/i18n-mixin","version":"3.6.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.6.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"855246db6a1f2a134988aa23780ab50aaefffdf6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.6.1.tgz","fileCount":7,"integrity":"sha512-h5lkno7xfCs6IN/rB72RRyOpoJvhHxCshQPpEaHXYVCKUXmM0HY3Yt3TQk5FfQ4if23FY4hWCTolsZpR8KdSoA==","signatures":[{"sig":"MEUCICSmrPqsjyTY2XR6v811HSQc1P+TeHj1Y6yv1MVLtlb1AiEAwwyZYxbINj6/9cv80uH54WgVeJazffJwigIiQgkaOYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ9/ECRA9TVsSAnZWagAAJAkQAICQuVn7O9IAehN/I7TW\n23E9MI36GAAwEBdVNv0RsSgZ3OzDiU3LdjSk8bwQ/vFdXDm+x/RqxYGlRxqb\nDZ1zQnRGFT+EphrHcO1Fq5RkyWw4SvynrMEEixY0D0w22fk3IKfl5IyBcGF7\nYqsS+0GyWMOriWLjb+g7dho8kHkkf52VH4RUGwYChEGgpJEUPW4cIQETFQGA\nrVRuekKBIdBIjdCP5LlDam488FFrJ8VXxEZmJcLAx/kIQ727wUKT4N9Wahgn\neInNJS2HvutsckEHrZAMCXK07U5ekcIOz3JbfMuV4oZd5bj40oMwOB+S2QQ7\n5Y20X4VSnxVHdrVpBS8aMfLGW3JogAUnPOobqf7hgRgSF9r3KtErIIe8gMaE\nRmqFsxK4qYzqOXPnFv4Oj12jYlUTdYA24zwU6qfQIuioEtrCCS/TXKSceZoV\nj2rZbIb3K609RjjZ4i3v++tfKFI2qeflt9CXvHXbwjdsp8sw5CLU2bbZtmpc\nS0K6w6xkeP1thPNzljWm78UcfhT04FB3zTA25EMP7giBMUgzz7QpfBU69n/5\nEHFAA41OeKztmjeRiYwmaxB9/mMQGLaNfwYrqGYAqOB4VSGXzQHTW5tkLw5T\nQa7fNKc66P3RChRpkA1QADOGYEdLW7JiyXQUW1P4WRZ+zWJ8HGml6/RqlqFi\nowxm\r\n=/Kz7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.12.1","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.6.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.6.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.6.1","@aofl/element":"^3.6.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.6.1_1583865796239_0.703379380504561","host":"s3://npm-registry-packages"}},"3.8.0":{"name":"@aofl/i18n-mixin","version":"3.8.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.8.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"4730b5f5feb1ec44f5f4d97ab6e7d47fe0948a3b","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.8.0.tgz","fileCount":7,"integrity":"sha512-LjDtFv6noWgT3mzOgONwaIfgoN2EdHodtB9ZoFaQIwHZi4c/jn3A/92d+vG7GJhvE/g5AzGBIXX/BaB9RkrMyQ==","signatures":[{"sig":"MEQCIEyTGpPjhJccmrzOnJhnWI6q0ZvwNwHCI5BTZbtrM9+7AiATDChMxz1yLpOJ3xN3IcUDz4JwcHsrS4gZXk9dR6HxgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuvbTCRA9TVsSAnZWagAAOs4P/3SVl2GJVAB5ZdPApgsN\naj8/Xo/U3021EGrZK2BY2YcLNkNbB4zOOBrnEGkxj8sn1m+PrLa6qZxIJdy6\niPOO7DKlWGlVd52S12RVDHes59ouuiFMz+XiCpfFmD1udP1Mf0lxzhkgFl/C\nEjyU25z4NucGPKMf1HdrV2DGZbwWHSekg0Hs2GWbeqOVh9q4SWy/rV83rexC\nOg93G6McGiQ3RuE8pDFUHVuirDoAS0LMcq2S3asLjF/cE2sGNYHGLqim++DH\nas/5li839268vxKcYeec9KW10+6v2EGZu7SGiMkXsH5vPgb/DtrmXAg07M7m\ntQqYv5lMn9Fr3uBypjunQ5eNrpqZ49UZ0xb9pFUaTqAvGJioAS+QnBAsi/jA\n753Lt6Qjy4zwFQ3Pi3B7PxPNFkZ/Vr6DmgQhqz83TAwkSyrE7Y5Yb7U5vGnu\nUB/+73z8kevAVOk++QnKLBSbdLcMhRkhmJl0PMqykhLU83kP1Y5MtwtQWtfP\nn2MaazSAi15qLI8tBnqco2cPYZ/xAnd1bwpHUzzm9q2YhnN0F52NdSQFYfXp\nSHVgiCmoSps5QLUDMmF7heJCuTQTBzlYY8wE5tggATHaeZzXWIiAtdSZgTVv\nvilusbGXfhNAWIO8gbBL9XHenuz/ltLvNbeKJhXQjbUubvic9w/TlCvBBzPd\nAbb2\r\n=hxuw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.5","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.8.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.8.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.8.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.8.0","@aofl/element":"^3.8.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.8.0_1589311186971_0.8798727792156433","host":"s3://npm-registry-packages"}},"3.9.0-alpha.0":{"name":"@aofl/i18n-mixin","version":"3.9.0-alpha.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.9.0-alpha.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"4ac79cbaa05abda738ccef72404bba4cdec0b150","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.9.0-alpha.0.tgz","fileCount":7,"integrity":"sha512-sLqj6Uls3dUwR9uYQ7D+BualWnsXRuiFxfhyzEbiWoho35d/yMpVYYonp5DmwcgIfbOEk3n93/MNiwBwfJIyOA==","signatures":[{"sig":"MEUCIQCX+0UnU4WcDJg5U3AViKvmQh//8KlYvUtnB8kuthO1MQIgKp0YiloLhfONa7RTKUFRgL0HbtSrMuymW3H9KPHaIBM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuvlPCRA9TVsSAnZWagAANAIQAJZwyvQ9z8ksV6Fl8JA9\nrE+cmdq73zrqz+Sfp3o0FHUgZjmiLXa9CuuuZZ30mJcEDiR04TxlNeI8WFsf\nt5T9aiRCGNJ1063jZfuWNdM8uzTDz0GW9thsTK7G2nwZhMbW+Qq8nwOmpHCv\n2HgzgP+2qp0gE0tpda8z2wArxJ43I4Au0lyucGvXcAshSQrQBFLde0L22pcX\nrAxhWVMyWiptQujtTR7u3Z9/Aoo30/p4/NqOzu7Zq/0PAG8EeNEEi9pllyfM\nWljnjSCDQA/3WArKBVzX4wqTL5SpU7Iqq8yncZaI2pAdVWERgDtpK9NaZHre\n4kxFExnm0AH/kCjnspTNImkddADefsWi4MvkpCk7XRI/hRPZJIk2S8QUlasg\nXsetAOJG21YvybAgWpSbtDd33UwEavDqH+f2LtpXvYI/HqwDLF+U782oQmF4\nQbsNxJPs5mvnO5kqLVYcxwgHhFj3rm1wsvInSPNLTJNanzaPylqlzm/fpMfp\nU0G+29bc/UQxKUiCMlMa+uhHVzWWnHhLJV32ebTy+fbO8FpvjVc5bpzKqox1\nqqs1rS0QoCNgyHGW1NQxpsZmv7Eus8KsHCvyxbG7Qj/l+ox1tNJlmxgKNkN0\nTr8G6jJomBZ12XZjcu4+BHhB7VXbkd+62KsuUprycjGnMtv5RCfVNQ9Ilxpv\nZZmR\r\n=W45d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.5","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.8.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.9.0-alpha.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.9.0-alpha.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.9.0-alpha.0","@aofl/element":"^3.9.0-alpha.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.9.0-alpha.0_1589311822794_0.5901747757022162","host":"s3://npm-registry-packages"}},"3.8.1":{"name":"@aofl/i18n-mixin","version":"3.8.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.8.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bcfb6f75e6fdbd05fe3acd5809e0f7c66d431f4a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.8.1.tgz","fileCount":7,"integrity":"sha512-g5IT6SSUq5t6twGIAIvDpyCPV0KGCLbVzjlNl/tlkvZ10Hh4mrHAF4gzo1CNhlQ0vWjrs+92waJ1Xt+uVsSoYQ==","signatures":[{"sig":"MEUCIAL+DhGsMrneDg2aI0KVX+k2qESg42HMKn/zr6x3B1afAiEA45UHmfZLL30gr/HG538IxDD7cWn36xVlCuQUl5+wG1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuvvVCRA9TVsSAnZWagAAa+wP/RqEiQWKASd5ijZTy46q\nHKQt3MKBf2D/+UBM0pTonN3VpD+PDnbDMMbdpQZ7EI4bDIVrC9iLvZGjlhd/\nbuyGcrRUXxDpZJaek5lEGFOwQpCfbPcyflEW1JEepnOJarg35xDo/al9e8EO\nfYpdm3A08StOjjp55tB+BoaykDVlbMk/nDHOh8TTu4G5ZTJssFEk72EnUSGG\nq8H+43Ma/F6Y6rsIqMnHjn+ik36jbp9q02ZYIS7Cp3sNbeytI/9x83lXA3uB\nXIdhO29sFdsNXipSi6/wke/jG0X09w3rcbKNo2B/N0HVBJJ/yI3AHxPzgHQO\n9clIcdfQH9gyb2lWvInlEjbKf6ZXamm6D/n/t9V5WUuYg3edMc6htix7cIS/\nNM98/unrk1+kHnyHyjggvrvQIXD0F5GnYGMCbmI+zbEQ10bvT3ot9XaJkRJM\nIM3l922tR1jn54ApBEBC79x4f08NmRMWvCJPILXu5W5s6OMNB0JgSnBrS/Tu\nzq9EzYVgNNRTy+DrhSpbnq/ZAqlV+LH+ueWuAjG+n8GJDOrbymneE/bue/ae\nLF/chZQ5Q9tyYNuF7edhnXZmzjvc64thjsLQQtRt1uhC2CcNvliraqqCY2f6\nD1DuCLLBbzAbDXkkkAQtd4/9Ob1nWJODwwHP8mb1624v1A0XHZSqKo4PTh/1\nzn1l\r\n=/4E+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.5","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.8.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.8.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.8.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.8.1","@aofl/element":"^3.8.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.8.1_1589312469322_0.3093510946409379","host":"s3://npm-registry-packages"}},"3.9.0":{"name":"@aofl/i18n-mixin","version":"3.9.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.9.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"37d7fed63106a436ceed7a1df569fd14b0b31dd9","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.9.0.tgz","fileCount":7,"integrity":"sha512-TQ/vmTRV4aserQrA6en+T6WCT6s7LraQpsLAYkjAvxDUDVoBo7BUlxhLU1v98FA+zis4F76vLKQHgtTurpcsjg==","signatures":[{"sig":"MEUCIENEv4hU2ojWU1NXwvFeg6Go0EzUEAYLBMONlQLdb6IzAiEAgIfiwVDwpIqsRENZRt6i8Mf4E4MJobzLH1V7+brORk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevthICRA9TVsSAnZWagAAjeIP/22Biesl4EbwInAB6JcG\nZowbXTl0rXmx+xlaXPxt7Hw8BlcJ/617hZjKQ2U7cc+/MQKhjAQt1e6DAKjJ\ns+XCJjhG0HjGKEWWzKlGjkn2Y0v/RtF69/Uo4ul5uXaWnw3LZmuHSvt2oac8\nkTaC/197NhxKaiEVX1Y+5zwzAF08DuERkUZVP3glaB6K+Booc4+kwFmJU/tF\nnesz0D37YW7iDKsNjb02Nj/KtGRBDyNW1AP43JmplfiEVHJUnls93h/dzz6V\nnruWVg9rn+x7RYESa+8OO+lar4zIkEBX5suEfnN4AX+pmKb94jo7QbvzXzyg\nnaDvQx4GEtbGDusSvOQHDKu0Yn7OryNlzVxdVJWeUmdkbssZYaJNduy2lUGJ\nMvvtvMy+bHfBukC/7eV5FZzZDIKmgjjhvBv18X9xqn3qTVJBlzFR1tWRS3kF\nbA4V+6LNGtV1M+h0jGv3pZy9BQJpRPusKpNjsYHMu/i034eajMutcC5ZRKYu\nHAzepw08Z+cGuTCdNcXCockK2fD0I5Anu1G7MXIy33M4zlTWdyyIAgHTkevT\nWAtmBKjwWNVmicQWOyhl+QnnL6+JdNEr6N8IwQdCJmbQLMkFDegOQVgEW4M/\nA065F31c3KWZI9mIXuSs4MCJv9XpDjlMG5ZzQWFfA5TZpx9t26Fbo0fdNy87\ntrMm\r\n=70aD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.5","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.8.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.9.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.9.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.9.0","@aofl/element":"^3.9.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.9.0_1589565511577_0.8781392089692581","host":"s3://npm-registry-packages"}},"3.10.0":{"name":"@aofl/i18n-mixin","version":"3.10.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.10.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"3ac8f9e4d59c43d5b06d7fd84b48d1e41fe36a56","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.10.0.tgz","fileCount":7,"integrity":"sha512-cgT3ky1JCL3J+JFkRC8XiBSfLCZ8r3aO6VwhS7Lx+k3oINFql+IfDHI+reR0vWOZha0A/hO+krOY5d7IGxTGMQ==","signatures":[{"sig":"MEYCIQDlOrha1TIGmb3/ielSYWiOBpaSWmywy9i44hOlcaeQ5AIhAIQuZFuX+Qr6aruhXaBL4H5d3NH6MA3fAbeZHlZ3R+ln","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevwaGCRA9TVsSAnZWagAArY4P/ieYMRFUm2irBGm8mrTt\no0yfWF6OMBEDuIik+RXgUSIypHO0BPIKAbw9I1Z0cQggOJ/oT9h89DDtHtl8\nZZAjgPuyRc5rs2hceMwwlP8/IwnHknw3/Z1MbzGQ8uJ34KL/Fdk15BUZ089a\nRCVAmIdJN6zr02TfxnMMC5+KJFMd6IHaVrvn9Bk9UTqmBMMO7viMYNEZhxwk\nen07BQHlykEtWzli+z/x6GWscXg9dbFkzY07Lqms9jlGKkuYOzew1vgFmQHf\nIuSI5B52KR6xXks0vTYOeom2Fti7O5ogseHQL2RwUGfXnAIdXU6XMYHyj2LP\nLw7CbwxQ90kAib+baRDT85h6r/MVMbzXm+pRTal02gRWXeabTfqYlq00Nuug\n1cnEBZl9dZh2EnzC5lTM4pwlM/8CjAVdQJ+dDIhh2zG+NBuiqh/g331AWhnQ\nvUrjRQaSrrutYFpSl3TGi6+kYUhczYcevcAeLPICliNEyR62Un5nNdaeWlzE\nwxTMGQEhqd/L3J4l6TsyILo+Vv6lcP9yrMdmqogoqm+d+V3bB826HLGkfst2\nIJ+RzDGWRRqaGfyYEjA3m/3ZG4gwDk2/tSMrdSenxC9yVsEAAcvkDgGAFgup\nM/55goOtL5kElIl0z6jcSayEIooZ93EBe5d4Zc+lJTTuCXtlLSxryvFjJbwo\nww65\r\n=+LqP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.5","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.8.0","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.10.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.10.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.9.0","@aofl/element":"^3.10.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.10.0_1589577350420_0.3094414707399167","host":"s3://npm-registry-packages"}},"3.12.0":{"name":"@aofl/i18n-mixin","version":"3.12.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.12.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"b91b3eb11eae4a4ef980334d25711b73b19f7e34","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.12.0.tgz","fileCount":7,"integrity":"sha512-0nqDd211w3KWV0hU9oexU15xWZo/lD7WGrejyB00//2D0JgfbLNtAV5azR4Sm7/1ywHz5oywpAytdXSelDke+g==","signatures":[{"sig":"MEUCIF3bCBigXC1PTY0k59PVoum6tc1PtzXSUteVOW5IlvRSAiEA3jsFoTBUDsHxm9jW0oIrVLxYA2DNV9yOxqvqecF1Dc0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB3MCCRA9TVsSAnZWagAApPAP/3XeNcHUxE7lUKVNdl2p\nc9BhQqaV3AZXWPTq1WeRWa4xHZfPnXxzRPMpJxaUQmgULFNUN2A+5oPY6SIP\n2nvG9pBQ0wCkCQUAgWCxRTFASrPLIFU4M5M5LDB/8FBN3FPM1Xo1Y7rVmnA4\nN1hB1QP4m+NvuoAe/2CFxl+KOkBqvCCkvsJBBBg3QO72wLx4EtHWN8LPI6RR\nf493n6xA+YIn+iqY1ad6jz4ux0dUog4XUiBJMWmjHPvdeUuFggH8FC4nTtYC\nmqbNzj9mcYFyFy2mtldq5oY+pGs3aSO0yO+pw1N1sCKtsRL+in4cD2j+KHJP\nm9XFJoVeYSNcHdbGYKpphCbZrfxSeg3fyMq2FznA6HMTD2i3NY/lxmvifuIM\n4hmws7aEK9YJW/YTcCeAYId/xxUfo9wypDV/gg7ciht7XAFngHH70LNsqb9I\nFHv6rExRf3PjwbmGvd5y5yTFY/hCED/YYq/Yq26JkDsPOslYHIBXFiBsZRnP\nYE/VJ9GhvtbFA2Ngf6ossFxopRFKyx8jSRWXfUZcmH4NswduLen6dOD4xLOc\n7l01CgQxYYNjxbZfFec9PR2/TPP6OLxckF/6qF6nwDq83NICmk+qZ2mIOl3L\nPe3K1GJGsMu9NmYh9ofPlr0ou8gotjqT0V8Wf78EICf2IFY0q1Hh44/zpVJt\ngvDI\r\n=i82p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.4","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.12.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.12.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.12.0","@aofl/element":"^3.12.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.12.0_1611100929976_0.632465636345731","host":"s3://npm-registry-packages"}},"3.12.1":{"name":"@aofl/i18n-mixin","version":"3.12.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.12.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bc96f5274865fbc3dafdc23f9e4f2f7fdb0633f2","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.12.1.tgz","fileCount":7,"integrity":"sha512-wSqebT9z9G2QS6Aw/MqRS5axiV8ynwj0FNSuF3543AxnkSWmeEdM/zWOYNa8zDeMSnnvT3q413W0v6Ov/TWBMw==","signatures":[{"sig":"MEUCIH/UQhBaejONdv/FZI0C7W+hspcHms6StjsuTKPiPWcLAiEApCJkdUJa2ItlkrPknmUkP/rI7Pw8cTYiB8XV47+GrIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB3WSCRA9TVsSAnZWagAAsQwP/04dG1ZQr4uFqDfhuKnB\npdfFwGEqkd3cO6OJAlZUMHe3XlTaBAdB46FR9QoV9ideALhkEM18qx0dOwVW\nQyib/z0U95cyLvRXKd2pFz8vaF8m62QM4rFg+u9fe2iC+fyTXYju75r15GaB\n5hr74hHg3lIF3c3dl449v2VnZ59NKyi27D+pwVphZraxve9QAqPeDGOTAOfm\nbyFwwzZFBkzSIL7LR2BSJsGD9+MHSeFlT5Vos1oqcc7Nu8U2PRpFEG4BTwVS\nK+9N2x8frtPCUgXn/oaZ86UiTtFyxZzAijtwrnEbbNzh0vjpOXdVocYjVHkl\nMlhIMA10izC/QfU9DXD0NMCvd0KbstNuiZq879OOYKTOcjnlb8GOHKrVYY+l\nPdFlTayo+AjmWGRYKFhDL9/066jeoQz+PX5Psr9jLWag69I9HEcmUhPeUj0a\nVVpUo2QJW40GssL9w4dIZnpLu3p9GkvtzrW7Bp8xgcDllmbIyt5/gkwGBdKE\neoYCtBQwh+8eEKovdaXVzHSsPIJmPZs97fetfOfrmLSMWasLTz3EjP5Zq0l3\nTSNLtrO0Yi87OgvZRlg9rsGiuDmSIvnS4S9JazGr1qiY7V+qeATZiJ257GdZ\n9pssF2ThK/j6Wnk1y1mLeRstZH0ZyR93/0Ry567M0iH8cwg2PTXb619MKRh8\nbGvC\r\n=Qxk0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.4","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.12.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.12.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.12.1","@aofl/element":"^3.12.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.12.1_1611101586506_0.725954268522498","host":"s3://npm-registry-packages"}},"4.0.0-alpha.9":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.9","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.9","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"a27f2eeaf2a16d7e1bbd304e72c7f3fd4163984a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.9.tgz","fileCount":7,"integrity":"sha512-XVHEOy5I4YRXWPFSr1IzZCkYMEDQofFcLNkjYwuq1bYQ8PS1vkcV4IlbMKzkpWM67KfYzs0/CgWSmepvG8qX4A==","signatures":[{"sig":"MEUCIQCNv5W6zDUpvqz4CG+wT1AyURVnUozordzaELWd1Ey67gIgar8Xs98QGKhws+gcCC3fzWpA2sCG38JGPxiSTjn09IA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGgDxCRA9TVsSAnZWagAAbrYP/0ItCdI1KQO8ozLVExmR\nV8PLyUXUYbicVoEfNHt3bqbMdXCM5we578NPCZEKyts9cVLC+9DpRAH+HeSX\ngJ3KzTAE8X4eZCvA1SScRGYvFZLxZP0gMRYFyFO3irFJofjznguSHP5Qsje5\nNLvodc79MtLoi97UMB2aWjEyRLrtgrSm16xymntrNmDe2Tns62i9MfnmAPv4\nKJF+IggxRKnAY6/lvzfFTwon8gkvvNPVjbkd1PtWYJJqiRxvf+cKztwNDCMg\nKv2wqgOCuW0CliEfCZIs2cW9gVe6uF3Zi12fUwNVRuV/eMi1VuhaFI+NPiHW\nPPvGAsDsQoljGLtEmY1PcWvXksUvp+ub0EQ4dDFbojVqwFk94kNWfg3K/8Hz\nb46eDJbVqKi/L9u97E7z5dhd0KOpB7o3P9jWQdSTFOuZvgZJNzo+JkqTnyM/\nMauUZ5ImVNMWRRbNKmY5CPYSZaMrHmtAvUujobZ7f0CCJq6aa3vKKVIfWox9\nNqkRo7t0YxVVYneDQmDnSAgcBnbrlkwJZzpI+/TRw0o8A0gioyCkPNx9RcGn\ndg9LMLcIqdUARVrMFJLBAeZj8Uz/ufi4jOaebfD+jGJpEcmyAaKmKls9cHpD\ntzQmXAX56bwcBP3eIKdXQfJJWSBbDMXjBDzCYZI8GcLNjyYfH9AG012jqbYY\nap5C\r\n=2wIr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx @aofl/cli build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx @aofl/cli build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx @aofl/cli build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.5.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.15.4","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.9","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.9","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.9","@aofl/element":"^4.0.0-alpha.9"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":">= 3.0.0-beta.1 < 5.0.0","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.9_1612316912723_0.305261878787739","host":"s3://npm-registry-packages"}},"4.0.0-alpha.10":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.10","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.10","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"da2e5a09017fe09adbe72ec3976e0e6553523122","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.10.tgz","fileCount":7,"integrity":"sha512-Enlcb+LKztSJYqaWPkhI5APJl3rPj/39pJxSyj8Tatviw64ojqn8X8SS+RFo/Cw2Fle0W/X353WMt2/jqpSH6w==","signatures":[{"sig":"MEUCIH9h/kX53Dyt+BLNoSqkkAe9OHUuf2+FnjM/yfBFVzDeAiEAyjOYvCVIvM0RkHbMSZD5WK8qxSXguQBvdq9HeZBE+LA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGgLPCRA9TVsSAnZWagAAeDsQAJ0EYx+Sz5/fz2YWRI3v\nfIccdLewoIivx9JPGyUAFA4sMdV3szRhQFmgaLIVhe9wHj0mT7JawBnP7iav\njbtb/zJwsA+WRpXCEpG6jAs81dgzlOXS9uVt62aBMmLNtjMxL2A/Qt26n1fO\n/tr75zHnTnx76eEtqRP968i74UiOm4R5AEFZJY6+6LdZGLpaWsTDQTRQHiHG\nzEdua+zDA2MRl8U0Pk3no5+LYFE9sTq3ITwBysLuBCScgu7MqTe7Ni4enm+Y\n+1PxLliSsyfRnLE9RvoWadVSuJjUY/CK76chmtasrnveLd3nAEld/LO4DAaK\nmwzGmpk+SkNCjeqQiyQPU9QVJCVjlPBToZbmC4rzyLAp/yRygb75qX2ofPYf\n8I/FgTdVRxV1r/R5KQ7DLCKWZd24WrQ038+JvPxZ3kSqppsZReMsyWzp7k01\nyx28AI9qMmwWE5LvVHfJLI1jv7DPqaYYLn/nKZRjM1//kUwb3j621gJS3GOP\no7LSrPpV3FVdM31oIRnR5ianaDS9o2mRPmIsrQF9FFhAnq0iuKxlUiwUg5yS\n+wqy94UAfSILJydDKiAmJ6UCMWkwjNWM26KWtrXOFz7DRtsLd4FwdsdBm7zl\nfAd25cKWD5d1pFZd/DVClB3slZVuhR6uRrFd6u4ZWD33UnSImIPziqeWPTy4\nWu6N\r\n=xY5v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx @aofl/cli build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx @aofl/cli build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx @aofl/cli build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.5.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.15.4","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.10","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.10","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.10","@aofl/element":"^4.0.0-alpha.10"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.10_1612317390793_0.8725176924919305","host":"s3://npm-registry-packages"}},"4.0.0-alpha.11":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.11","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.11","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"6063ea9335257f78663a7f0c6bacb4008a40ccdf","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.11.tgz","fileCount":7,"integrity":"sha512-PFrbAOw80SzWXsIX6b4TVvo6TFjSgewgrDOdDC8iUxR1yhC0LKna64AIbg88sfS/OLHgQDtMSXlYnr7zMYm6tQ==","signatures":[{"sig":"MEYCIQDw8iX32p+IeFL5i4w181IWtadvZA1SDakYxNtoCcOYigIhAPMRIIdIP14TBR7Zk+n1BEGzznLByHXikW/K/e0uCjix","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGglmCRA9TVsSAnZWagAA8kMP/i8UdJPeDLbKeOxhyb7g\n94vaBjvhVjMBbOjvlYzDR2POX3j4kHbROZHZs0mYamzj4rP12MmGdsp2GbUr\nS6eJN5qQEJhxJAqoawpoh41ZvqXlZfTLJ4nGwGj3vwc5CdXsatOq0LcDovWy\n1LGQqMrXeoKZuEBZzM0JGz1a2u9QN9AkkJkDnStlk4nD5T4TeNKI6Z89oH0p\nqls7ng4meLFasjYvved8tRNb8fztkkIM0q8OaBfQWIw74tC8VeVHVZtIv0Ua\nAAD3DRAmAPHAv47JkUAOIeRAr3+Aq+nlUkmkVOLC+UV2sA64JfMvd0cZhnw9\nEXtf3zxQKx79ODNsL7qSONuCUvDslSZlV+njltpKznsmCe7O2RClhTqXWbfJ\nRgmq0jBBgU5JN9OxX7trJOtD/dx6XcllUhPArTsXei4lxKgAVSiWR0Vw/BCL\nbi764KHa4kf/p/PSw2HQ2OxOkdxK52NoKgchrtnUXDLBhGBFIhvF3MkyKGic\n9cYIuQnYdiDn8KaM5xA36An7tC7UuB75QD3TKcFVR73p3O0LbUAKx2XSkKwl\nPv3lty4DAlwARDc1e8b5M6tLXz7w//cz/zRekGHq47AlsF/MAkBpjN+/qtWG\nBMQoOsj1rHnyC2zr576g0AtQjHvEREjRrcbqOuhlz8vXfHNEYy5tkYW1uTd6\n86K5\r\n=iIkN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx @aofl/cli build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx @aofl/cli build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx @aofl/cli build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.5.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.15.4","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.11","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.11","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.11","@aofl/element":"^4.0.0-alpha.11"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.11_1612319078292_0.9614345772195361","host":"s3://npm-registry-packages"}},"3.13.0":{"name":"@aofl/i18n-mixin","version":"3.13.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.13.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"badd33e43ccdf69465a34823841f5870d11d75d2","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.13.0.tgz","fileCount":7,"integrity":"sha512-8aSiKR2RlXxwlH1U0uC28SFuJmskP2MG7h3nNFZxtLrAcUCHPLtKPNu39DYirDI6NQITnrSXKzl0+VRWbmRlcw==","signatures":[{"sig":"MEUCIQDITQW12fx9QRDmOpj3DLocWrH8PboVtv40GdFLabgMLgIgSoy9nGNw4UIHk6aLXh0VkRQoIUB35ffB0nH15mad2B0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgODY5CRA9TVsSAnZWagAA0E0P/AkQGR57zl8woM9pvSZs\nrT/4G007Szijegdhi+EIjPgDgqKUvRoFetqFJWt9hq/XGDfUy9GkDwjTbY9+\nXp1nmkbG1hgfbQW1FnAurRLEMXjHxPpPbqfciSZibYhupAyDX38fFR1HUvoj\nSgJ6xoecUI9ub8EZUedAa6uR1o/Ew2zP+EwY9YhAHAMLYrHWfaig+dxFlKEa\naNcPnDrtfWlUPHnuLzCRKoscNrhgirmu0tCNy2NSodefrdapWeZr46OAQkeI\ndqKtBn3cEbt9TLX2GLaoV4YH8Kvsvv1kUBjzz2rxa2d0Ld2D5q/ydRM+OvKu\nU7TI8t5MP32F2m6zdVaRe1zlePTYwyA9gWQ/E5OQ7Zz+L0HSOqI7k4FpkJjH\nVy+3O9+qeNwKNo2F43HpnbTX3NJHqgryAyMhIFW/k9PfuQY73v0a3vD4/ujy\nkweUuqYWdPmz2Ef/aJ+rn6XHzupYO1zSVI+ed9LXhcKdGO6/7BP8q4KfN2nH\nXh9UoON5fbcyiby4H3BGmhi2/8mmmkyasa0cGmKC3/JTCu6K1MbgjWhq46yZ\n4UH68OdBFARoAlYL4rM9Ra+6yIOU4l7U6wPVrSE2gAChqq+J4t6TRuDmYk6i\nEUwTAqu59UA7ruv31uE4/8tvi8IViMznl7VQy0hYKI8+JA/HU+aLZQAXu4tT\nb4n0\r\n=BdB7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.11","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.13.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.13.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.13.0","@aofl/element":"^3.13.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.13.0_1614296632675_0.29183693014989576","host":"s3://npm-registry-packages"}},"3.13.1":{"name":"@aofl/i18n-mixin","version":"3.13.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.13.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"6e4209a9d6a68b63e8d6821912a2c9120ce3e406","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.13.1.tgz","fileCount":7,"integrity":"sha512-DeS3JuQUbSLBPzm2TlpVlQsSXX6BD6Lh0qb9wsAm7ebQJARc4zSX0d0/vJLPSQdhtlZAYWYjcLWZXjS2j6wpYQ==","signatures":[{"sig":"MEQCIE89u3RjB3NEoMIhTlITZWnjSMTjqiZpjzHeQwTgNaQFAiAhBpswxlvI9K+LH3ufgYpu/jtiShK3It6StE2+PToFhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh11qgCRA9TVsSAnZWagAAa64P/1ygLHSgO3/XIPglanI+\nxcQlD/vRsx7rFMvmpoK11YUbWUGAYXdi/UBT4TSFz0ZY4jeDgHmEPyL3jiuh\nD4KaeSO6zYx6pbYgt0Cl1LweZXsLmiWGpSBHYWQCgTSqV2o8eNJ4Y2P9UHNt\nOv3lz9Qpc+4N9eZWlRSxJ59K7Q6FYt9Q/dtKKMpEJKg35Fn8DaQLIisqTDwA\nLPEa1/lNHHy/CQ1k52FCTD59VrfiQWlgNKpAMYvFofzV451YCre7ZfolrD4W\nd85l/vDBcWPUStk26QSpE9qpMFwQj5HnK7vzxCNVYSWDXgyVkzehcUYAqoO+\npAv0ocV7N/+JAcj7jCp3wcSNUONh0H+QkvQQo/gTlWD/StZNvGaAiyJ/ls7v\nqrKOWJc55VgmnEKkV5GKIKDamsEL+RcB6sVevComrpNt9ZSS2hraQXhxByfU\nMxnxL2+zN3usx9KvclQbdDDqHdZZ94eHGWCY6Vrp4oqTHXl3R0TNYT7EPiUr\n6Vp0rnConr+QP0KcgSgsODYfVq/HOTwuwhUZR/Of1jgENrnS2O8JW2pdfH3X\nErwEzWs3CWSsuBTXnhLfGlQTF8mIaCD7JfTZp4Wqn+pZU7vl0wyagPQUCwHq\nKwz7PmoxSSj5MrCKUSSmlKKT4U/w2nU0QwLHgLCdcFEaQp3HlTkEMYsQhK5V\nw0Nm\r\n=oKKg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.11","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.13.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.13.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.13.1","@aofl/element":"^3.13.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.13.1_1623800942154_0.5162223993081922","host":"s3://npm-registry-packages"}},"4.0.0-alpha.13":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.13","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.13","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5d687c490923e8129f1ff7a7909af18c8bb6a85c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.13.tgz","fileCount":7,"integrity":"sha512-C9uE5Y7AfyBFHKYbXfStvNeR/inI7ys1uWpMl3/c4pvuKxc4YdhmUretXka/lJYXiC0cZmUP5jzND12LEIpZ9A==","signatures":[{"sig":"MEYCIQD0ugBxdOoXjbOlZevRRCLeJarfIOj9j4G24qWA9x6iwAIhAJRCiSbTd1iCs+jgmQeB04f0kWcPR6vsnbKu7f4PdMMA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26739},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.15","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.13","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.13","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.13","@aofl/element":"^4.0.0-alpha.13"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.13_1632439944304_0.3700460263626759","host":"s3://npm-registry-packages"}},"4.0.0-alpha.15":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.15","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.15","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c8e3639c06537b3dfe0813a559997c29d22b940c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.15.tgz","fileCount":7,"integrity":"sha512-60nTAoevEJpJHnywoSVh3e7PlHDmvNj7aJhEWww758rEUTSuOdcKCMMcMasYE+FWfVfS3YHjdA9FBW9+OB4JIQ==","signatures":[{"sig":"MEYCIQDKqv7313nRBZwbvXL4HO95bnxRteaDxgryH1ROgoRGlAIhAMKs1qTqDBpKvMthLptx5MerEz9DXcgmO3a91pN+LYzr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26342},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"7b448cf64b30502883b3422662a9480ea25f2d60","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.15","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.15","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.15","@aofl/element":"^4.0.0-alpha.15"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.15_1633539839346_0.3262963300568047","host":"s3://npm-registry-packages"}},"4.0.0-alpha.16":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.16","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.16","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"b6afaedf432893e1be3a106865192a66c8cdd8e4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.16.tgz","fileCount":7,"integrity":"sha512-kahP4dQqNNcpmFIqyNO2i8jhafgIZ/Jq2RdJ/80+HTt4LroM3GDMcCI4G4oLC1OLmtmQfgn34Ri4WaKDur7sgw==","signatures":[{"sig":"MEUCIAQIdxgavxvjXiB5TXvS79SKX4Lch1PJj5MlSqHOg4phAiEAqrMD6MAT1SSeL4ezx3PWbCMrQj/C26iI97fWng5QBlM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26339},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"7b448cf64b30502883b3422662a9480ea25f2d60","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.16","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.16","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.16","@aofl/element":"^4.0.0-alpha.16"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.16_1633539914239_0.029967694201110895","host":"s3://npm-registry-packages"}},"4.0.0-alpha.17":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.17","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.17","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"7fc5d38239a6e1c5c985a803f3655a0b901dbdf7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.17.tgz","fileCount":7,"integrity":"sha512-JWp2mi5JG6uEj4dasOr8rHMdgMJE9kxaEGohyQP6sRnXrLFa/vo//bzyhMLe1m5xNwUjpSL5WZlrJpQmPGS2Vg==","signatures":[{"sig":"MEQCIAwGKzOlFKwdxwgrtnNX2a9Hj0Cz2OcnJzthuSnl2WnjAiBWeR7oWq8tmHfPBNPOzK2OD0y5qdT4IJAYSGNUfvC4hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26339},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"c7b3ad6feb17eaf3721a5528e86a31ddfb350ef3","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.17","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.17","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.17","@aofl/element":"^4.0.0-alpha.17"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.17_1633546057172_0.6345441101346847","host":"s3://npm-registry-packages"}},"4.0.0-alpha.18":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.18","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.18","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"a6072954b8c75d8b5dc4f31201d507b67131b682","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.18.tgz","fileCount":7,"integrity":"sha512-tLUay1f7UcmyrhiYuBKAgYKTlBKF87QtbKbR7D5g3ZoDTwcl7+SWvWck8oz2dVbAab++ecmWPGvp6WpkjVcsew==","signatures":[{"sig":"MEUCIAsQx3GGoi4ehTQUynXeuaYv08R43fHTePmMfpSYxD4nAiEAwChiH7yWCDZrZLghKbOWai4WdoMExAT9fO/LtU2AzUM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26339},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"3971875a8be8fc1e4ed7f6c737cc9aa1653e049b","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.18","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.18","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.18","@aofl/element":"^4.0.0-alpha.18"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.18_1633563640077_0.9215348783911046","host":"s3://npm-registry-packages"}},"4.0.0-alpha.19":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.19","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.19","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bbf2aed9869a01a4440c212ed71e8ffbd3c3ddb6","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.19.tgz","fileCount":7,"integrity":"sha512-E/b6CYph6d3jdgx4MTGV5K08K7ifslrxMPGWsGV6bvUEwXHrLvVoGx0v/5J2P2Ui97NyYMuyBDhkAsLziI0GsA==","signatures":[{"sig":"MEQCIG37ahYMJDp3UBRtbaH1Fhr7mZJo2ezkLLyZgzLJGz4jAiA/1OmnESHi2UTTk+QpxqphtRsqTf1lG2+gfD5kgBZoMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26339},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"79369e766cd4fe78098059b93d1cbd7bb5dd8830","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.19","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.19","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.19","@aofl/element":"^4.0.0-alpha.19"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.19_1633564056214_0.07297577352780049","host":"s3://npm-registry-packages"}},"4.0.0-alpha.20":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.20","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.20","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5032c4b25e1a2524db5d2736b571112de76bd8de","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.20.tgz","fileCount":7,"integrity":"sha512-MkmYrOAm+HQ618lFm5zxAq3x4sZ8tV6r/cn0CFAVUJ5nGt/ivlcck7DOcs0J3hNWSCE104R47KnpET9scd475Q==","signatures":[{"sig":"MEUCIQCJ9+tIWlt11qoScl321AVkAqTvh9PpUKs1a5F4JBznZQIgZMK61pmRH0PEbkbu9d0QNz06naU0JJ0wx9wd0dmh5N4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26339},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"398f195bda4d61023d6d7889598f5688c276f1bf","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.20","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.20","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.20","@aofl/element":"^4.0.0-alpha.20"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.20_1633564503556_0.4400400894120611","host":"s3://npm-registry-packages"}},"4.0.0-alpha.21":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.21","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.21","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"ff555ce1d041d24c10558de8f344bb91df4df887","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.21.tgz","fileCount":7,"integrity":"sha512-FKd//wrvJG2jU8P3J61Fi3anXX+AgE+jQx5lQ/biLKtCoVBBGpcU75N9kdksDwnpOhHpoNU7imQmax1cren+BQ==","signatures":[{"sig":"MEUCICQlT9ixlh5zHvMVg4NLvXtpDqVTOQUAXOA9egA5lAumAiEAiAfb8ZrGxSAzx2SpQrENOZtHOLKiwrbLag0ztV62sPE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26339},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"398f195bda4d61023d6d7889598f5688c276f1bf","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","@aofl/cli":"^4.0.0-alpha.21","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.21","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/cli-lib":"^4.0.0-alpha.21","@aofl/element":"^4.0.0-alpha.21"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.21_1633712770087_0.11394316655898362","host":"s3://npm-registry-packages"}},"4.0.0-alpha.22":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.22","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.22","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"70f7de9e46c4690a0b7218880ba5d42b91a72f0b","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.22.tgz","fileCount":7,"integrity":"sha512-qucxMEaUoaaWbv7zhGfttb5WX8ZyrikoBUg1Z0Yu5tetCH2T4rZUj2QiPk63B/KoDlN9xt8BBLDAU8Lh8DlJWw==","signatures":[{"sig":"MEQCIE3tXYiOMgDU72iGMOOmhPDWnLfPul/2QWh+9hPXB23AAiAFjRUgIWqiLzWuitra+iQYhvHcrfja4WFJP5ZNKZFMHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"289b7f60d1cd721d68cff783afc623c3f51cc2cf","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.22","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.22"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.22_1633984771650_0.12131907017751464","host":"s3://npm-registry-packages"}},"4.0.0-alpha.23":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.23","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.23","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"b185a93665613a27a7e1eed62e816eb7b4b66a06","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.23.tgz","fileCount":7,"integrity":"sha512-/dI+l8Molja6gA43O8IPfa7oxVGoyuzK0dYiPbFLMOC1cK4R2pMntuSV4rVFz6Z7k/3SOSSihYLefBEAEekv6Q==","signatures":[{"sig":"MEUCIQCsTWMx7TkydKVYswTP4kymD0nXlOiPSqqgf6oA1/8RrAIgVhUR8XJw2mAFGFeVVO/YBUath07vhoKfbPFXnjXXn/0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"a2829d023883e5cc51126ee549f70629ceae8e8d","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.23","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.23"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.23_1633986449395_0.24215538551769233","host":"s3://npm-registry-packages"}},"4.0.0-alpha.24":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.24","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.24","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"aced889d5b121745b5d35a33d62d5f8c0f2256ec","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.24.tgz","fileCount":7,"integrity":"sha512-mGN+BBxf0m9XNgIzWoDxaibFHtOIHfiXTjTjRy1TW+S0SH2j0DxNt2B+GODx9un2cBk9GOQAHqayntJJ2l5yFA==","signatures":[{"sig":"MEUCIQDnEbhzzuLhuq/n5DKbQFPf+KDGENfGsiZtv7yhJPplxgIgaDFsCf//vTa6mJCjb5pCcQm7cJw9E0ppl76fc3RtNB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"a2829d023883e5cc51126ee549f70629ceae8e8d","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.24","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.24"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.24_1633988821346_0.16511982745299214","host":"s3://npm-registry-packages"}},"4.0.0-alpha.25":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.25","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.25","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"5c71c3ee40ebd81f58cdf67359ae9b4441f7c299","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.25.tgz","fileCount":7,"integrity":"sha512-Y4H386Aauk4j37HlAje8D/YbImFjLMM8s0b+eOzp6OYlJrzi/a1GMbTK53g7iFa5V5QyBdRaUkgw9/Su9G+rEQ==","signatures":[{"sig":"MEYCIQDU1sAqLIQc4sa2KA/PUP32pfPAEJg4ZaPcUuOL+VJx1QIhALIFlzQcQHOzj+YfIkn0q+oo3+GlQeTjc4TuOkRy7oPj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"8e4d611be609be11acccb9135091aadd10134e8a","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.25","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.25"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.25_1634001650627_0.08553074113716352","host":"s3://npm-registry-packages"}},"4.0.0-alpha.26":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.26","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.26","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"9cf92efdcbbc62dc3ed8c1199a3eca306af3c767","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.26.tgz","fileCount":7,"integrity":"sha512-KnBCIrQzHZK5GdF5XM876LsuhQ0MLfZIt2C1/CqZe2BvuO8hg8kZAbJVieh/X9zOpYP4POI23EBN4wuUo6wj+A==","signatures":[{"sig":"MEQCIACBePQDNE7sLhR/4HS/Rn4k9ZdKMfmr+/DD0AdwE69lAiAG1OeclWQLioWeMI0577aA3y+BRr0OZxALAQo7mAww1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"bdd06521b3653befa1b4c07318cc120a700672b2","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.26","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.26"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.26_1634002481746_0.9890963583602121","host":"s3://npm-registry-packages"}},"4.0.0-alpha.27":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.27","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.27","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"edf459506454f0e3aaf3709fd9b3c58ebec84db4","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.27.tgz","fileCount":7,"integrity":"sha512-WEyxU6d6wHh4gRxNuFghN+CuGJIfwNL7tyQokKpqHZkD2J/nnJBK7dj7XaR6rOU2QeR1GDY97H2XmwCchFS1HQ==","signatures":[{"sig":"MEYCIQCuE+ffRPVc/w24KRUBg42wWkkov3T0T1WM3UptZ05uwwIhAOTXNNJE9/KXirYrRLlZBlkbhTOk5euqSXULlgah3WjO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"bc755f21b39459dc3a8b57ab25075a22313bc107","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.27","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.27"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.27_1634151999693_0.41510127560861787","host":"s3://npm-registry-packages"}},"4.0.0-alpha.28":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.28","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.28","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"194d0c65dcb2dcbc632059ed9aaa6ef91d0c1aec","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.28.tgz","fileCount":7,"integrity":"sha512-m+1QfW9JAla2doyp65+iebdMItB9oPHvpCvlixUnuyzxNtPrTuzaCAnxRsLWLQ13MYTkeyuFWYj9IquG16mE1g==","signatures":[{"sig":"MEQCIGTr6Al1RCQi2CFET/pFXEJvzzynRjL9YqewQDrwZuraAiBWoK2koZaL2EfXPJepsbDru/BYal4smF3e15L+QGetvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"7dceb248f691c3214f73ba1d048f26b2653bcac1","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.28","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.28"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.28_1634163509918_0.1265958068388915","host":"s3://npm-registry-packages"}},"4.0.0-alpha.29":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.29","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.29","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"86a59ab9f9fd33972789f907e455989c74662c70","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.29.tgz","fileCount":7,"integrity":"sha512-Z1Vqzoksds80BO/ZChR6jz1sY69Tm+usBmNVJBd5RGJfbXIqmKco7wPFMlCI6AmBKA33Wc3uoTPatr31bNgKQQ==","signatures":[{"sig":"MEUCIDB5kuqEYZuAeCk8l5wngf9FMw2YoN1k+5X3saOHmp0+AiEAyZTxCp47U/o1NB5b0QtEgnVt83ahamslxT4EtCJXzpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.11","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.29","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.29"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.29_1634319361034_0.6960997015881263","host":"s3://npm-registry-packages"}},"4.0.0-alpha.30":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.30","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.30","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"1db6a42beff5e4fa658390036ade444184ae0cef","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.30.tgz","fileCount":7,"integrity":"sha512-Td3tPDGcfXtTp8CaaEHooZHDF1HgCjOnK+LX0uSVwEQlHAAEfFh/+tdwnbvlWX3ksIESrhpyKj8TarB0heUcEQ==","signatures":[{"sig":"MEQCIEksTSR4GLh+/pDy4XuuV61cQOtRkh/1y/YFG8TFnTclAiBlr4uoqg0Utu7ryd6Ng3ofCnAeU3N1Al+Fnq24AIe/0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"13ed83fe4429533b22fd669328dd6c8829dffec0","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.30","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.30"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.30_1634323868032_0.41938816320786243","host":"s3://npm-registry-packages"}},"4.0.0-alpha.31":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.31","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.31","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c9b228e803af3e48c0528e371614ce1b9d4ea544","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.31.tgz","fileCount":7,"integrity":"sha512-NzcoBVxa3C4B5NxDLceJzqX2Y7w0MY9L4tHqvYBM1ndbRLiru4bgQfXJhEf7lsZZmHYvorFsAbYcfHNQVd8rHg==","signatures":[{"sig":"MEYCIQDqyYLQ6f+hzGYpYGWtaNeFYnxx0EHyj1y3DcpM4CDbMgIhAIgHs5MiuGukSiPVAExYKnDJs9uexVP+/66faHXPuaf3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"5bc1713dfbc60e5029713b6ad88a4a9fd46d3413","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.31","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.31"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.31_1634324131630_0.3663811140700335","host":"s3://npm-registry-packages"}},"4.0.0-alpha.32":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.32","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.32","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"1e4d253effdc138bc68c9a7c906f96ffcc882587","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.32.tgz","fileCount":7,"integrity":"sha512-li5TaWZ7mKQeks77PT9/35OrCxfvbZ1q1PqomYaO3e0p22+xO83DX6VJUgbichrGQwksv+/dk5CWnZZcs5QhcQ==","signatures":[{"sig":"MEUCIBPNSklmRwmPc9KzuPlfKhLkd6814lKDb1DYibdNyNw5AiEAvMUzY58BoQn1z00pi/5nTrBDcWzwtJ1den0NIxHUbYE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"77786a7e5219aff408e59d051e8380ca1a63021d","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.32","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.32"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.32_1634326793143_0.751939166110072","host":"s3://npm-registry-packages"}},"4.0.0-alpha.33":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.33","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.33","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"99d3dedecf805d85a604f1292e44dd018cfabe9a","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.33.tgz","fileCount":7,"integrity":"sha512-InVcUWaBkMBrFFV0LabYWfkrwnFWG0yli8AjruliyetVvTbs2x81TCBQ5GBX7tOMGZIhbfWNKfXW//I/7GwAEw==","signatures":[{"sig":"MEUCIQCBFHPxTjpNev+YeHVVAuexaWjJkk1LNWaDTOFIsM1eaQIgSusPr0x0Jq8mO4O4hoaqKVFYkD7EwdvEuSmpgZVHKh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"41b432602965620ce989f21e02748f53f69f7ea5","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.33","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.33"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.33_1634326992954_0.3649114999156262","host":"s3://npm-registry-packages"}},"4.0.0-alpha.34":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.34","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.34","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"b86d1a2acea2e44b895192ff5deb4cefe04d9d3c","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.34.tgz","fileCount":7,"integrity":"sha512-YyYM2DIaKoRRYONe7IA0ZmxWyOVx1QN1W4dRzj5KvgNp0hLJ2O3qyrPkPNlru8e8dv+qIetNeZKklYsTQEBjqw==","signatures":[{"sig":"MEQCIDXw7ZacH/VPQqTrS+FdXLCOaAhns9gWc1+WOYH+aODRAiAnsJX+eICtWNwqf91FhliGECYYfpcHP+KKVbYJfQ+Img==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"1b993e65b04444692f40eaecfc3dfbb29d50d98b","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.34","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.34"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.34_1634327598507_0.8619450932064585","host":"s3://npm-registry-packages"}},"4.0.0-alpha.35":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.35","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.35","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"41a6cda700087418a7688ffe47dec7164712aa21","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.35.tgz","fileCount":7,"integrity":"sha512-v3U3Sr67M3wHc8FBQ7Lx+VhCh61JqaGpwxGeOD6Vkny5h86LF0WHHhRT7NfgPzunhDbyD+e3bjxEi30mEhj5JA==","signatures":[{"sig":"MEUCIQCZMKdpZtuoxQxGiBPIDZVPrUpwWPao92SrALc4i3QLPgIgTlWPCOQDgIjgZjhK5uJHImb6HGRLDRnUVc6HeOS+xxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"5a6a7f303fc21acc73b55413f38f534ed4bfb714","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.35","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.35"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.35_1634328023028_0.9547632590216133","host":"s3://npm-registry-packages"}},"4.0.0-alpha.36":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.36","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.36","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"7744ac1fc58049fe11099ac90c476f7e3bd5bcdb","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.36.tgz","fileCount":7,"integrity":"sha512-luXIWHowmvt0B9s9B3KkwHbeQoFhhOGS5TvgJBo6ypGiZcoCnYyGnFpo1le1T/pnB9zcFqi5Le2WdzojSohwgA==","signatures":[{"sig":"MEYCIQCyUbVTUb8b/vxmIuVaEDuCyBrVCJuXlhDuXdO7ith7aQIhAKk5E6JqqjudQDAFYN64WzfTnnTHBYy2CpIOw4oII0ZT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"24aeaf86244b6f9f352b26d04fd9976f9430bfe7","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.36","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.36"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.36_1634328233214_0.5292780485432338","host":"s3://npm-registry-packages"}},"4.0.0-alpha.37":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.37","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.37","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"9dcf5314aec2f131c9d1d82de7071a4b75a87036","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.37.tgz","fileCount":7,"integrity":"sha512-Ya8vroIBPgCsIAtBQgRgGe6k3XKblioj02A14jk0NiFuuOil89KJSpzxMvNaxI19HL/WJtoRDeHEZYwMhKAo6Q==","signatures":[{"sig":"MEYCIQDHVPX8IwH0tn5F52dDc9hMMiV3NxffcI+8WuylkJt9HAIhAKlIOVOSfkLG/G5RW1j2DYcarwONaCFLPh4ssFgMiq3l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"d5e9c5a7ef77e315b759fb5bee226aa3bd3aaffb","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.37","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.37"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.37_1634328395709_0.9312535073036126","host":"s3://npm-registry-packages"}},"4.0.0-alpha.38":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.38","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.38","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"85494caab59bd82a0f2a5acabe12b2a196db69f7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.38.tgz","fileCount":7,"integrity":"sha512-aV/8UCCXDAfaiI7D49+mcf2qOm+NLX3Rktv1tL/qUvYG9f5q6vwpp5bvcG94VrLASFCzxMzJI6u0XR1B8A9dIw==","signatures":[{"sig":"MEYCIQDl9uppmliS8AQzmVMrfiPFAUlYweI5XFhefYtznbiVVwIhANL5vAW+stQMcdNMRfKsLMiZijRmS+WpHQNRzgVX5Arg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"91457836070b2b300b852a461787c56ec880a85d","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.38","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.38"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.38_1634330774014_0.7287970553955545","host":"s3://npm-registry-packages"}},"4.0.0-alpha.39":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.39","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.39","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"210ca53420d027ecd1e526ac2f8662f2f399f922","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.39.tgz","fileCount":7,"integrity":"sha512-j/wi5aoXMY4kqi8sP0Oh/TCQyq/Sphib+XUR8aUQ6PlfJiPXSvVRpWqAUA/hyRHU2dBLnB7F+fyKLIr59bFGXg==","signatures":[{"sig":"MEYCIQDvhX5g5e7SbLW/Yt222Yel1EOmWAnVkG4mRKjAEShMHQIhAIuaXM8+c4bfDBTR1kDnlMK6aLCo52KZyagIU6x9uSTD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"f4c22e986eb7eb2e564e469dedb36c65858bf5cc","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.39","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.39"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.39_1634332211638_0.9816221660807636","host":"s3://npm-registry-packages"}},"4.0.0-alpha.40":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.40","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.40","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"a5b89b5c73a1b40bff5a3aef6efc1a37e1f5dfaa","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.40.tgz","fileCount":7,"integrity":"sha512-j+23Tr+Xd5/2oHkCwV/ZiC8OzB6TNmk0r+iXoIrXFzsvzkD9BcGfrZVPU8pXBDcJ1Qtl7zFH2XeRlhyKe1My0w==","signatures":[{"sig":"MEUCIGQdBwfh0dMaMredUPuPFrknzt9+uoV7/bzo2iYxabEbAiEA96TKs4I7sitkZblctOYy+T1j+CJBxeSqflqhOTx/FS0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"e93b1f585c2cd94383438abd74737a856ca68a77","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.40","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.40"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.40_1634332806366_0.2619118385401833","host":"s3://npm-registry-packages"}},"4.0.0-alpha.41":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.41","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.41","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"f2a5a6b8cac63bc9c7ea9ba00d56439b23471af0","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.41.tgz","fileCount":7,"integrity":"sha512-W2m29x5H228xse7Vvhb5HCe/U5lG+2wPzpNipAXeuYO2LsG1t9Kj6DG1CmkWqWmyJfO/+W1kSZyrRkZiXCdtLA==","signatures":[{"sig":"MEUCIQCj6LChy8QxJRM0xSJPpcU/ZEMSOnFdA8STgzKvQsVfnAIgJbYml/h8LMJ65DhHKkxk+YHE21pqMrAMrl9w+R1sz6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"cbd55bfa3cf5e87bf7b5f27b3d9b6efb34e3ad85","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.41","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.41"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.41_1634582072712_0.1405033954332029","host":"s3://npm-registry-packages"}},"4.0.0-alpha.42":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.42","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.42","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"df7e5713c3f68950694d74aabab32aebf3597784","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.42.tgz","fileCount":7,"integrity":"sha512-u9A8aY7bCt2g7vdrJi9dmbhnFwr2RaEp3HNx1TmFK0upbfFlK36tYUWL7dE9AeDsD9bD8Ss1jjWH5PyqyDpxpQ==","signatures":[{"sig":"MEYCIQDPGwMefliZH7iH1vJLeCILMw+PD8eVAqwo+s/O2ozXlgIhAN9kMByULOiKBmF7+DA613XcLIrGulcZ7LFXxwhxBrkz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"f64d10ec558694ce4c2d4e8b0562d4167f8e28d5","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.42","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.42"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.42_1634586040544_0.36720911168429904","host":"s3://npm-registry-packages"}},"4.0.0-alpha.43":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.43","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.43","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"8ed9518e6e755e9f5e95a7f9f18c6dcf53b81ee5","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.43.tgz","fileCount":7,"integrity":"sha512-SUdvzssOJsrvBDWxUvIblVMu2YiBDsH+2177UgK2gVMYXy8T3hvsC+Ew4s9oxD9gQI2Lf1nMx7SXd5W2Y4dfjg==","signatures":[{"sig":"MEYCIQDd+qaYEtTm1jsbRTq3teIzXZcbqIpma7DHj7Pnduz/eQIhAIguv52KLohAJdrpYELjsyr52M05oio/j8THXbJRJnGa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","gitHead":"6763365b38cb5be764e669a3b568be9f1cc4cfed","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"7.24.2","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.43","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.43"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.43_1634586293511_0.363359230564527","host":"s3://npm-registry-packages"}},"4.0.0-alpha.44":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.44","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.44","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"66c9e7072100995bcdbdea2fb1cfce677c25e3d7","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.44.tgz","fileCount":7,"integrity":"sha512-hm4GANRuGPqugLpT2HIERk7xY6jZtSp4y+W+kXmszbi0cRqmpfJlWP9Nb77CFLM7LaMmdLPHKO2XJITuZ/BN9g==","signatures":[{"sig":"MEUCIA3Rr7N2zEqmEpHQCLMj4UFEYvR6USr3yO62wLm2eu8DAiEAzkHrYV38Tcc5SSIlGCneehUVgROBZgwSm88DKca0lZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.11","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.44","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.44"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.44_1635874779292_0.17067393795225017","host":"s3://npm-registry-packages"}},"4.0.0-alpha.45":{"name":"@aofl/i18n-mixin","version":"4.0.0-alpha.45","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@4.0.0-alpha.45","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"bbd930e77b41b7b0e298d6cfe3a4c0e94963d426","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-4.0.0-alpha.45.tgz","fileCount":7,"integrity":"sha512-gIynSHpYeIQxyANLbvTo8p8pC2bzWQfWfwa4TdwARToykwO1u6oCnq00Xnh29nXzCQZ6v0hdMn8f59Ep8ccNQw==","signatures":[{"sig":"MEUCIQCOsPIQLTmKH8ajeqsR6fvvOhif3813U37QO569OSXn9wIgbuqn+wuxWzLq50dvShJl5gHnZqC50ENgiaH7xIljCHA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26263},"main":"index.js","module":"index.js","readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","browser":"dist/index.js","scripts":{},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"6.14.11","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdoc":"^3.6.6","core-js":"^3.8.3","lit-html":"1.3.0","cross-env":"^7.0.3","tsd-jsdoc":"^2.5.0","@aofl/i18n":"^4.0.0-alpha.45","lit-element":"^2.4.0","tiny-js-md5":"1.1.2","@aofl/element":"^4.0.0-alpha.45"},"peerDependencies":{"lit-html":"^1.3.0","@aofl/i18n":"^4.0.0-alpha.9","tiny-js-md5":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_4.0.0-alpha.45_1635876959122_0.8805457974659361","host":"s3://npm-registry-packages"}},"3.14.0":{"name":"@aofl/i18n-mixin","version":"3.14.0","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.14.0","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"c6721ae5752bda599dbe923abfd7ebea5d93cf90","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.14.0.tgz","fileCount":8,"integrity":"sha512-ccPwdh/MnoAe34SxSo1NaDjtRDP0NdKO7wUr288eiA/F7A4yzct1hUVV9pPS+1lVa01SGICpt6tzuOKbriuPqw==","signatures":[{"sig":"MEQCIAw3IRZSkbLVvOcTSGK5GOQbstZ015v1fIZKFNR2jJc8AiAw97fWgBmSk3aAxifv4fcR5ux/7hbaNmnpHYJ8rJB5Kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiM8/eACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2ig//WEfRXw/lwVW0HpcCDM+1MP6bAQtWgObMhpT3vwA81OJHXu9b\r\n8YgS09qif8lWmC4NbD5tvTNpQvL61mm/3CXh5WME7OmDVyBMqtNe4C/NB2ig\r\nNt9oIHOke246EYSGLfWHjI4QhPK/mlFlJGRGaydBy7pUgoTgRSyR+3zZ9iL9\r\nJjoBQrSSicBZo1rTYsVeHame2v2FkDzcv3+lU6KWbCmqeaKX6sTS7FJODAq/\r\nez4Npe+wIkX/7LFZqVZj74NBIEZltPdWyrEAEwfYUfer7sDQtmM0V34KGyuu\r\nkL98023/HAM5zYPBh2iuSbUm59be+u/fgXlMZPeEWVE0yJSO5u35OLO+0DkZ\r\n/ywS5ZL1UiVvpAmjQDDmD6VpB7HR8ziOI3fLSQ2sV3K/H86NolFKhl+DNVGa\r\n7GfzAuX0dMK9ctH8ySNtA9upaiQp0AreEoT/wcuVmvifZZ4O9/iox/H/vieg\r\nur60/5uf0spQmDEuVaI43osPmR4+UXLwMvt2QfCvzwtb11/cR4CWWXF5yxST\r\n+VuoUIdsZMI4QH+KgTk3gUH7rbajXzBfj1Xo/ojKrJ9lmpJWMUXy7B+EFdO1\r\n76ZQbP/dI76Zpat2iPpzf5yJG1uoRQ9b3K/KlG43sPmIBzw1UzGgaOBG9cN6\r\nvWITMMw9ps1IjOf08p93QIesSqdwqgXAEOI=\r\n=Ksf1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","gitHead":"01a200342c31c108d1ab1039ee4c972f2ee63fa9","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.20.1+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.14.0","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.14.0","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.14.0","@aofl/element":"^3.14.0"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.14.0_1647562718742_0.8831363607023086","host":"s3://npm-registry-packages"}},"3.14.1":{"name":"@aofl/i18n-mixin","version":"3.14.1","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","_id":"@aofl/i18n-mixin@3.14.1","maintainers":[{"name":"alexdinari","email":"alexdinari@me.com"},{"name":"ariankhosravi","email":"arian@arin.io"}],"contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"homepage":"https://github.com/AgeOfLearning/aofl#readme","bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"dist":{"shasum":"e0bcb1d4041810ae86e780215a9f17ad30d3b6ef","tarball":"https://registry.npmjs.org/@aofl/i18n-mixin/-/i18n-mixin-3.14.1.tgz","fileCount":8,"integrity":"sha512-UBaikkKYLWXsuRPsUjfpNochjImtgbJom49R5Jdsa6gQnZWGQhkJXhyW2SaohBvxgSdNnAK0gWZfAkUYDHjeYw==","signatures":[{"sig":"MEQCIAqEkZ9oeiS0nUn5Je+VJ2KwTZBEyjP88d8AHyUvc4LFAiB/5A/CLqNpcNCttTYiUeM/wBTlkfpqRauuC138zNXzNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiM9bTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmor6Q/6A/ABI98rOUZocpLEFcjdZ0ekSM+H5br3vI9J6D3y2C3Op3r6\r\nWn+emGQvlIaGkAGiRhEYPTwNp+QanVnc0aJ57gfaSvm3m1z/S6TH2K6cOBVz\r\n+K8YqlLCIzqTuIdMhu04X1SoEsxNotG0eU923gy+q7IKmoRXx3NTZ60jYcqc\r\nF0rRMz74uq8CrGz1/LKXLHUo1huFeb84Sxr+6nPhRsW1cT+ihlRlvJh/1Ti7\r\n3UNU8onxeGXhtvXZBKIvzzPSCcqQeoBfKqA73HitfgNP14/qLDhGZyYF2ndA\r\n2jMQn4hNbDy83Fd7UjZBlA7Z7KUmi9vk+yGeyX8aHKLnQHfZm8YcWXivMGdi\r\ni/TQaQepiNsUiEqrC4sPPx3E7o6SgRK2d0Sgw9+MMXiw8k2fu0M+MGIU6dkW\r\nDlCAB/eFzmhMClhw3VIEWxVJULpz+qzVF0CFuHt6+i0xOfE+mWa4CAt4kfTt\r\nJrck+nzA+a2pkNYnDYpzAGhmMwLhpQl5pVdl28utv8Cj0IuUI6pR7KavPG/e\r\n0Q4VJ1rFdwe1de04gUTZZOAfHD8PIB4GWSUa+6fgzHMPSW2i0LBRwkWd4ZSD\r\n07pZZd/Tswql7oPc7pNR85ku8QD2+q2CjMWevXrkUeCbotuc5voPP0XljRUI\r\n5OaScsIY8gaCSJaPkLnpsu9lgLER4uuRJNU=\r\n=nCcF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","browser":"dist/index.js","gitHead":"65857163479f835ec51cc1e23ec01c45eab43008","scripts":{"docs":"npx jsdoc -c .jsdocrc.json .","build":"npm run env:prod -- npx aofl build","env:dev":"cross-env NODE_ENV=development","build-ci":"npm run env:prod -- npx aofl build --debug","env:prod":"cross-env NODE_ENV=production","env:test":"cross-env NODE_ENV=test","build:dev":"npm run env:dev -- npx aofl build","prepublishOnly":"npm run build-ci && npm run docs"},"typings":"types.d.ts","_npmUser":{"name":"ariankhosravi","email":"arian@arin.io"},"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.20.1+x64 (darwin)","description":"Adds i18n support to elements","directories":{},"_nodeVersion":"12.20.1","_hasShrinkwrap":false,"devDependencies":{"jsdoc":"^3.6.3","core-js":"^3.2.1","lit-html":"1.1.2","@aofl/cli":"^3.14.1","cross-env":"^6.0.3","tsd-jsdoc":"^2.4.0","@aofl/i18n":"^3.14.1","lit-element":"^2.2.1","tiny-js-md5":"^1.1.2","@aofl/cli-lib":"^3.14.0","@aofl/element":"^3.14.1"},"peerDependencies":{"lit-html":">= 1.0.0 < 2.0.0","@aofl/i18n":">= 3.0.0-beta.1 < 4.0.0","tiny-js-md5":">= 1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-mixin_3.14.1_1647564499506_0.49250760514164305","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-08-10T19:22:15.322Z","modified":"2025-01-18T00:20:46.348Z","1.0.0-beta.22":"2018-08-10T19:22:15.464Z","1.0.0-beta.23":"2018-08-16T21:36:07.057Z","1.0.0-beta.24":"2018-08-22T22:31:34.512Z","1.0.0-beta.25":"2018-08-23T19:27:28.965Z","1.0.0-beta.26":"2018-08-27T18:20:03.437Z","1.0.0-beta.27":"2018-09-10T23:19:14.903Z","1.0.0-beta.28":"2018-09-28T00:27:30.582Z","1.0.0":"2018-09-29T23:01:36.292Z","1.1.0":"2018-10-17T22:26:24.502Z","1.1.1":"2018-10-29T19:32:42.850Z","1.1.2":"2018-10-29T19:32:53.495Z","1.2.0":"2018-11-06T20:46:44.301Z","1.2.1":"2018-11-18T21:07:09.614Z","1.2.3":"2018-11-21T00:12:15.226Z","1.3.0":"2018-12-06T20:59:49.464Z","1.4.0":"2018-12-28T02:39:01.503Z","1.4.1":"2019-01-07T18:33:07.333Z","2.0.0-alpha.1":"2019-01-29T01:53:52.165Z","2.0.0-alpha.5":"2019-02-26T23:15:15.507Z","2.0.0-alpha.16":"2019-04-25T19:57:26.280Z","2.0.0-alpha.17":"2019-04-26T18:35:42.931Z","2.0.0":"2019-04-30T19:31:38.323Z","2.1.0-alpha.7":"2019-08-18T05:14:08.958Z","2.1.0-alpha.8":"2019-08-18T05:57:42.431Z","2.1.0-alpha.11":"2019-08-23T20:40:17.547Z","3.0.0-0":"2019-09-17T05:22:06.139Z","3.0.0-alpha.0":"2019-09-17T05:24:10.515Z","3.0.0-alpha.5":"2019-09-20T06:32:49.346Z","3.0.0-alpha.11":"2019-09-27T06:49:32.659Z","3.0.0-alpha.13":"2019-09-27T21:57:27.309Z","3.0.0-alpha.14":"2019-10-02T01:05:54.381Z","3.0.0-beta.6":"2019-10-08T04:49:37.971Z","3.0.0-beta.8":"2019-10-08T05:48:11.303Z","3.0.0-beta.9":"2019-10-08T06:11:37.403Z","3.0.0-beta.11":"2019-10-08T09:42:48.939Z","3.0.0-beta.12":"2019-10-08T09:53:34.751Z","3.0.0-beta.13":"2019-10-09T04:13:21.724Z","3.0.0-beta.14":"2019-10-09T04:33:03.011Z","3.0.0-beta.15":"2019-10-09T04:50:41.591Z","3.0.0-beta.16":"2019-10-09T05:05:59.220Z","3.0.0-beta.17":"2019-10-09T05:25:04.441Z","3.0.0-beta.22":"2019-10-11T04:40:47.520Z","3.0.0-beta.23":"2019-10-11T05:39:52.619Z","3.0.0-beta.24":"2019-10-11T06:34:43.012Z","3.0.0-beta.25":"2019-10-11T07:34:46.060Z","3.0.0-beta.26":"2019-10-11T07:49:06.176Z","3.0.0-beta.27":"2019-10-11T07:53:59.445Z","3.0.0-beta.28":"2019-10-11T08:01:01.674Z","3.0.0-beta.30":"2019-10-11T22:58:42.016Z","3.0.0-beta.32":"2019-10-14T01:06:12.387Z","3.0.0-beta.34":"2019-10-14T07:37:04.104Z","3.0.0-beta.35":"2019-10-18T06:59:10.120Z","3.0.0-beta.36":"2019-10-19T10:45:51.388Z","3.0.0-beta.37":"2019-10-24T06:07:54.186Z","3.0.0-beta.38":"2019-10-30T22:52:23.157Z","3.0.0-beta.39":"2019-10-31T01:08:03.809Z","3.0.0-alpha.12":"2019-11-02T01:11:49.060Z","3.0.0-beta.40":"2019-11-11T22:31:15.745Z","3.0.0-beta.41":"2019-11-12T04:55:36.423Z","3.0.0-beta.42":"2019-11-12T05:53:44.372Z","3.0.0-beta.43":"2019-11-12T08:23:44.273Z","3.0.0-beta.44":"2019-11-12T08:30:33.997Z","3.0.0-beta.45":"2019-11-12T19:33:12.010Z","3.0.0-beta.46":"2019-11-14T21:58:15.509Z","3.0.0-beta.47":"2019-11-15T00:48:45.965Z","3.0.0-beta.48":"2019-11-16T23:36:00.628Z","3.0.0-beta.49":"2019-11-17T03:37:53.249Z","3.0.0":"2019-11-17T07:06:07.035Z","3.1.0":"2019-11-22T03:28:11.670Z","3.2.0":"2019-11-24T07:34:45.653Z","3.2.1":"2019-11-24T08:03:48.663Z","3.2.2-alpha.2":"2020-01-14T20:27:58.117Z","3.2.2-alpha.3":"2020-01-14T21:13:21.253Z","3.3.0":"2020-01-22T23:31:34.571Z","3.5.0-beta.1":"2020-02-22T23:26:54.418Z","3.5.0-beta.2":"2020-02-22T23:53:01.935Z","3.5.0-beta.3":"2020-02-23T00:07:44.097Z","3.5.0-beta.4":"2020-02-23T01:57:52.279Z","3.5.0-beta.5":"2020-02-23T03:10:27.267Z","3.5.0-beta.6":"2020-02-23T03:18:08.064Z","3.5.0-beta.7":"2020-02-23T05:05:53.680Z","3.5.0-beta.8":"2020-02-23T05:09:04.246Z","3.5.0-beta.9":"2020-02-23T05:33:30.420Z","3.5.0-beta.10":"2020-02-23T05:50:51.360Z","3.5.0-beta.11":"2020-02-23T07:37:34.394Z","3.5.0-beta.12":"2020-02-23T09:00:31.170Z","3.5.0-beta.13":"2020-02-23T09:02:28.433Z","3.5.0-beta.14":"2020-02-23T10:00:32.113Z","3.5.0-beta.15":"2020-02-23T11:49:37.706Z","3.5.0-beta.16":"2020-02-23T11:59:01.537Z","3.5.0-beta.17":"2020-02-23T12:14:50.302Z","3.5.0-beta.18":"2020-02-25T03:59:57.297Z","3.5.0-beta.19":"2020-02-25T23:57:30.305Z","3.5.0-beta.20":"2020-03-02T23:23:03.892Z","3.5.0-beta.21":"2020-03-02T23:27:24.784Z","3.5.0-beta.22":"2020-03-02T23:42:36.150Z","3.5.0":"2020-03-03T00:03:28.427Z","3.6.1":"2020-03-10T18:43:16.381Z","3.8.0":"2020-05-12T19:19:47.169Z","3.9.0-alpha.0":"2020-05-12T19:30:22.887Z","3.8.1":"2020-05-12T19:41:09.501Z","3.9.0":"2020-05-15T17:58:31.694Z","3.10.0":"2020-05-15T21:15:50.564Z","3.12.0":"2021-01-20T00:02:10.107Z","3.12.1":"2021-01-20T00:13:06.629Z","4.0.0-alpha.9":"2021-02-03T01:48:33.253Z","4.0.0-alpha.10":"2021-02-03T01:56:30.950Z","4.0.0-alpha.11":"2021-02-03T02:24:38.470Z","3.13.0":"2021-02-25T23:43:52.879Z","3.13.1":"2021-06-15T23:49:02.334Z","4.0.0-alpha.13":"2021-09-23T23:32:24.423Z","4.0.0-alpha.15":"2021-10-06T17:03:59.540Z","4.0.0-alpha.16":"2021-10-06T17:05:14.366Z","4.0.0-alpha.17":"2021-10-06T18:47:37.517Z","4.0.0-alpha.18":"2021-10-06T23:40:40.178Z","4.0.0-alpha.19":"2021-10-06T23:47:36.355Z","4.0.0-alpha.20":"2021-10-06T23:55:03.688Z","4.0.0-alpha.21":"2021-10-08T17:06:10.278Z","4.0.0-alpha.22":"2021-10-11T20:39:31.810Z","4.0.0-alpha.23":"2021-10-11T21:07:29.540Z","4.0.0-alpha.24":"2021-10-11T21:47:01.492Z","4.0.0-alpha.25":"2021-10-12T01:20:50.766Z","4.0.0-alpha.26":"2021-10-12T01:34:41.918Z","4.0.0-alpha.27":"2021-10-13T19:06:39.852Z","4.0.0-alpha.28":"2021-10-13T22:18:30.072Z","4.0.0-alpha.29":"2021-10-15T17:36:01.365Z","4.0.0-alpha.30":"2021-10-15T18:51:08.197Z","4.0.0-alpha.31":"2021-10-15T18:55:31.825Z","4.0.0-alpha.32":"2021-10-15T19:39:53.274Z","4.0.0-alpha.33":"2021-10-15T19:43:13.120Z","4.0.0-alpha.34":"2021-10-15T19:53:18.670Z","4.0.0-alpha.35":"2021-10-15T20:00:23.259Z","4.0.0-alpha.36":"2021-10-15T20:03:53.367Z","4.0.0-alpha.37":"2021-10-15T20:06:35.888Z","4.0.0-alpha.38":"2021-10-15T20:46:14.166Z","4.0.0-alpha.39":"2021-10-15T21:10:11.838Z","4.0.0-alpha.40":"2021-10-15T21:20:06.525Z","4.0.0-alpha.41":"2021-10-18T18:34:32.854Z","4.0.0-alpha.42":"2021-10-18T19:40:40.722Z","4.0.0-alpha.43":"2021-10-18T19:44:53.667Z","4.0.0-alpha.44":"2021-11-02T17:39:39.432Z","4.0.0-alpha.45":"2021-11-02T18:15:59.302Z","3.14.0":"2022-03-18T00:18:38.960Z","3.14.1":"2022-03-18T00:48:19.665Z"},"bugs":{"url":"https://github.com/AgeOfLearning/aofl/issues"},"author":{"name":"Arian Khosravi","email":"arian.khosravi@aofl.com"},"license":"MIT","homepage":"https://github.com/AgeOfLearning/aofl#readme","keywords":["aofljs","@aofl/i18n-mixin","i18n","translation","language"],"repository":{"url":"git+ssh://git@github.com/AgeOfLearning/aofl.git","type":"git"},"description":"Adds i18n support to elements","contributors":[{"name":"Daniel Belisle","email":"daniel.belisle@aofl.com"},{"name":"Micah Blu","email":"micah.blu@aofl.com"}],"maintainers":[{"email":"alexdinari@me.com","name":"alexdinari"},{"email":"lorenzo.battigelli@aofl.com","name":"lorenzo.battigelli"},{"email":"alex.dinari@aofl.com","name":"alex.dinari"},{"email":"it@aofl.com","name":"ageoflearning"},{"email":"jie.zhang@aofl.com","name":"jiezhangaofl"}],"readme":"# @aofl/i18n-mixin\n\nThe **AOFL i18nMixin element** decorates any element with **i18n** support.\n\n[Api Documentation](https://ageoflearning.github.io/aofl/v3.x/api-docs/module-@aofl_i18n-mixin.html)\n\n## Examples\n* https://codesandbox.io/s/github/AgeOfLearning/aofl/tree/v3.0.0/aofl-js-packages/i18n-mixin/examples/basics\n\n\n## Requirements\n\nFor each component which will support internationalization an `i18n` directory will need to be created in the root of the component directory. Inside this directory language `translations-[language-contrycode].js` files will be expected.\n\nA `translation.js` file will be generated via running `aofl i18n`. The command will find all component template instances of translation method strings, e.g. `__('string to translate'), _c('more strings')`.\n\nThe `translation.js` can be used by a tranlsations api or translators to create the necessary translation-[lang].js files in the format of `translation-LOCALE.js`, e.g. `translation-en-US` or `translation-pt-BZ.po`, which again will be expected in the compontent's `i18n` directory.\n\nFinally the component class will need to set the current language, e.g. `this.lang = 'pt-BZ';`\n\n## Usage with i18n Loader\n\nFinally the `i18n-loader` will be required.\n\nRun `npm i -D @aofl/i18n-loader`\n\nThen add the loader to your webpack config:\n\n```js\nmodule: {\n  rules: [\n    {\n      test: /language\\.js$/,\n      use: '@aofl/i18n-loader'\n    }\n  ]\n}\n```\n\n## Multiple template support\n\nThe AOFL mixin supports multiple template to be rendered based on the currently set `lang`. For instance if `de-DE` is the selected language then the template associated with that language will be rendered.\n\n**The render method expects a template object like so:**\n```js\nreturn super._render({\n  default: {\n    template(context, html) {\n      return html`<h2>${context.__('How are you %s1', context.person)}</h2>`\n    },\n    styles: []\n  },\n  'de-DE': {\n    template(context, html) {\n      return html`\n        <h1>German version</h1>\n        <h2>${context.__('How are you %s1', context.person)}</h2>\n      `;\n    },\n    styles: []\n  }\n})\n```\n\n## code example\n```javascript\nimport i18nMixin from '@aofl/i18n-mixin';\nimport {AoflElement} from '@aofl/web-components/aofl-element';\nimport styles from './styles.css';\n\nclass MyComp extends i18nMixin(AoflElement) {\n  constructor() {\n    super();\n    this.langMap = langMap;\n    this.lang = 'de-DE';\n  }\n  static get is() {\n    return 'my-comp';\n  }\n  _render() {\n    let person = 'Albert';\n    let count = 1;\n    return super._render({\n      default: {\n        template(context, html) {\n          return html`<h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>`\n        },\n        styles: []\n      },\n      'de-DE': {\n        template(context, html) {\n          return html`\n            <h1>German version</h1>\n            <h2>${context._r(context.__('How are you %r1%'), context.person)}</h2>\n            <p>${context._c('There %c1% here!', {\n              1: 'is one person',\n              2: 'are two people',\n              3: 'are many people'\n            }, context.count)}</p>\n          `;\n        },\n        styles: []\n      }\n    });\n  }\n};\n```\n","readmeFilename":"README.md"}