{"_id":"ajv-ftl-i18n","_rev":"9-506e5b684a86db92432116c1fb73ddc3","name":"ajv-ftl-i18n","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.0":{"name":"ajv-ftl-i18n","version":"0.0.0","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.0.0","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"730ee34194928d1df44bff53a2ff85c45734515a","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.0.0.tgz","fileCount":30,"integrity":"sha512-S5j2hQlB872QiPw+Lpbo+bYLw7fgg5BtpA8lH0qsP96nDAMPnn3iTepkgOAoQHyH/LL0ZSHXD3q3WNrKZ+zmaw==","signatures":[{"sig":"MEUCIQDUokREQXvUVARnANodUIrapsQkgeJxtfFZFnWXDx57VgIgF8/TZAUr/wYT3edAEuEXwzW/MH/xnfuum4yGyrGYilI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":169036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQhXHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIlg//bO4f0Lak/a1WjLhXIJPfu0L/7knEa7MxgkOVvzXv9geWKhou\r\n/gCHz182TG8ocdlDD1AehXHtLUC3UUzVc3LZ4ik6dG3XDH0LIgmX5wA6qfbO\r\nZ25K84apPihaOY0bGRV/88FF4MiZngYYDwICq+azkaoMVXC92iTi1CYUG9k/\r\nBaBYT6caVrym8vYmIPLMVzlF0yCF96qaObhWhC5By06a3eJ5J+5KkozXpliT\r\nJCd0t051qjFGe91DZIPGTjOzx9u4uyZdfnvuwxjU63RUqxTwkPJsEbXN6op0\r\nzLENoVlM5BX5rcUvVMvw0Rdu1dUGMnPv0plFTxqQUD/k511d61qBW36ql5gM\r\nL/Y6k+1DZ4GIkuX/AwyLkHwPIbB7ibmhliS/e9zKg/JPDLtdVp1cMNP6o6e3\r\nDA6mZu4ar8+flgPqn/vf58cY/FcFHUSksMMfxtQTJftUmFopaumaHFqphfVK\r\n4YsmvwTZ1Ij6SLQ2slXs4NCzoerzjDEitcdYDDGM4wfxSVkNtYIaqY+pg4H4\r\nzoBcFy0ZYIFI/3NVxKltd6r5lz31KqJTOhm2RoSWkPxG6ykShytflRBX9r95\r\nW24DrlChGMgUqwIKFhgKcdRrtPqVmoRHX+pTP/395BUAyDeOWWk62VWQPeWa\r\nANP1etOq9O9hpk1CvpSbqMT83lgnpl2jEy4=\r\n=uvNd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"dde8b38d89c1468b77443b7ba3761a8b8d8db6b4","scripts":{"test":"npm run build && npm run test:unit","build":"./bin/build","test:unit":"c8 node --test"},"_npmUser":{"name":"willfarrell","email":"will.farrell@gmail.com"},"repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"_npmVersion":"8.19.2","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"commander":"9.4.1","fluent-transpiler":"0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.0.0_1665275335037_0.35872039660605104","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"ajv-ftl-i18n","version":"0.0.1","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.0.1","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"d72306b518d7349a75ce5112d7ded2e7710a7191","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.0.1.tgz","fileCount":30,"integrity":"sha512-6MfV9LNRjtfphAuj3X4HZBPHB8daei6XsQ+WFBzGULzBTcINP0u8WN6s8A7W3pv1xSD+TPA4s2nwTGYcpTTtSA==","signatures":[{"sig":"MEUCIQDcJPxzwCYsJsewNO10Tapmyxcq6fr2aZkI1qxwCZk9SwIgE4ehQ/Wtn/R4yGl7Xh+vCH38F9+e/KqTi9Jr9HbMR5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":169060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQiIJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpdpg/+JWPXJpihAmJFlWMOeSTjuCaIw/mowIJaYntWj2HKUdiG8ikv\r\nmRkq5L+oDbNIUoOqwcVoo+l1iACAN2yHQmf797RZ6+bKiujUyun+FP9YykfM\r\n5aGmHMoaKP/WP5z8PTl0HAM6UoLTrdpLXEoKuhF5f85bkDFf+34r7D63lvDL\r\nMbGdSyj+bLIHIfnJlDgmlK4M8wcQJyYU9CYiaCPSy90fJlMl0NmHd1EYyNMb\r\noe0zP/s6Jx+ZmOBfetD12/So2TQyVxOOxVbI8ga4v8/xwHICGsglvPxOrksV\r\nhZC785uVoKnBBbZ6X+Ca5M9wDFL533dBwUiOfXND4shT8vQp5pwo3L7fZBJb\r\nwfmXdrpn7vfQLCpqd9fZpqBJggMKQjjgMnqfDRiUoeKUrFceshWZfsLRni4H\r\nxxMRU33Ou+BRBJQ4PH5lVGOGsNdbpeZmhQ7BCK75jzKTQqhzZTpid83c11C8\r\nw/r9PL7dMnUl8kT+rO3neWJLA2Xc2PMUOwiYJHatKeSv8iQ+//8lyuXlxcti\r\nmcQ1WnjU+ElI4ihomOSLqHlJmyZEi2/6Zk2vOw/sZCnT5+jGdxr5Cnw1aaG8\r\nbkRFumslcwF8yJoCOQvumizV2MnIpCIvngmA8U0w+lC8sHvi2pzxlI0MAFyU\r\nIZN2pHsGeCQNWfTc85jTvxpK/zRzKWDdHnQ=\r\n=7H6C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"a4f4c3e22fb750062fb0a475f69d7132a0115679","scripts":{"test":"npm run build && npm run test:unit","build":"./bin/build","test:unit":"c8 node --test"},"_npmUser":{"name":"willfarrell","email":"will.farrell@gmail.com"},"repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"_npmVersion":"8.19.2","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"commander":"9.4.1","fluent-transpiler":"0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.0.1_1665278473079_0.7807583944802992","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"ajv-ftl-i18n","version":"0.0.2","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.0.2","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"158d1238fa4247174d42ceaf49ebe634e700dbfb","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.0.2.tgz","fileCount":30,"integrity":"sha512-XjsmKyMdKzdm0DLKYdkCOTLnbUwOohMM6WK7aDKTWQdd5t0Cc7ikM/qbl5iGFf7DuwCjME3KTZZ+aktqXwJvAw==","signatures":[{"sig":"MEQCIHx3mjPfGfehWvIF0+VfvwtVgjQ6QhQKUspbPF3rav+jAiBvy0khiAKqGDq8I8s+bPrXPqBTlxnxhEfTviQxYNZJGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":169110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQirEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroQA//TEHrCbuyr+DZfcDk8BQoOqWrfFjqszzTjhr8/TmS1OkSirGq\r\nbqopj6S1qWmOsXZWzfXBeLZdOP49JiAtKBfpXf1R/yyxex+fCLNFMeSswjN1\r\nvJ4VVHrBMUz2MMpxL0Hs2AYwhzxz4O8U4BwEJjJyYx0EXWTU9PoMj4rNM/jE\r\nYcZQZmHxpkfKGLULOlvhYSIWMg9wVheDpsL8FeiAx93K7QVkFielqsDc6l49\r\nJZyna02eZx/y5C3sXZWwlIyztcUgWykeAsF004gNRHfScpMnAZK0YBwnItFh\r\nNAyAaGujRln38KeF2LMo36l62WtEVePia/ek6Xlx3bfzhl1MAjcXahg4ryy+\r\nmZvrFfBi1iR+Tul4CY0LF3gmAX4tO502ElZI6j/lbKhyEfSk6WeNOBdSK2mT\r\nEi75S3DNMzS8eFmAsn40cSTR6vUxD7pvNRAdTrOSr5lwhJ7wfju4qjncKb/c\r\ns2k6bIWQMrV8BwLNEWpNvXBMfkQIlxcpd8qLhx4s3ljz+5smwStIWABxVQVm\r\nAmt3+h/FzkYxenf9+Ue/BoKpQOemNofM0ncrCWk7bLTDs7G9O9BXuTiYi+eb\r\nh02AHeIjTaV1LSzX5J0HCdGqewLoeIct/r4RqIJ61M9/JI+6Tp8RLhoavjl9\r\nq2kNXe1Gch4Mqw+ss+DfASv+fNul3gxYKiQ=\r\n=1Wfa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"fa419c559b882e98a20f4bd8d7f491651db4d9f0","scripts":{"test":"npm run build && npm run test:unit","build":"./bin/build","test:unit":"c8 node --test"},"_npmUser":{"name":"willfarrell","email":"will.farrell@gmail.com"},"repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"_npmVersion":"8.19.2","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"18.8.0","dependencies":{"commander":"9.4.1","fluent-transpiler":"0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.0.2_1665280707899_0.04212092046828486","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"ajv-ftl-i18n","version":"0.0.3","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.0.3","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"f7934bcada1d18c7987784b59cc68dbb0c2f585e","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.0.3.tgz","fileCount":30,"integrity":"sha512-/Uiw6pSD16AoIgjjLHeQH2G5y8XVTeJcYmtnJ4oPuoG2kmmHHZw8ME0PcVPU9fXcryakPt9nIpJr+ZVxqQuVsw==","signatures":[{"sig":"MEUCIQD7VTg44IdEJ4oFjxG3SlI8OMPU8InkPuh4kRwyySl69wIgawN590E2Gkq3HftLvv+OawDBJaxvkqWA2nT/CGpp05Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":169107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5JrEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdvxAAmj2aBuacr0Nfnw6T8yQonvAH35Z+lqtPKt9q+XFIZa6siBs9\r\ne7DgfkQxJk/beSTimaBuvPH7nQ7uWuQghTbczQPAXlNztsBBxpyEizoPIKA9\r\neVFKafMzQClEvwOxqKj4xaSTS86NKLqEvENmKpKLDWqkqgTCsqWKKyDdsJ9W\r\n0KY9O3bZwJjeOvRrgnl819EWAB98jAYUMHpsXly9Xedj/JlalDlbuAn9DJrC\r\n9FqH5XUYpO3fV1NV/ZqxYaQ4oYzs2U5WRNOkPdTnENunFgM5tSrYMtcbrg3p\r\n8MlftaqPL8M+lVbhIxfAGjk16faTHc7VEa5LNcfy1dQFmUUjJZo1gA9/LVJK\r\nBG07qUkIYUQbQi8Vxi4VMhbChmRPSgz6S1LJBY5qexF3TkqHS/DbmAmvc5Du\r\ng5PrATUG3P4MYWG1gYALnqa12oY//6ORskXDTt+ZEoO5ROHB1Ia6oVHzVubT\r\nGeiDS+Ozu4nK/uD034x7xp/oZ0edMPfZ0ANmapanJiKhbMHs2lSCocqmLq2z\r\nGj1DYHsIYJuEBQa1TtvhUa0jC+gjcPPPWzpfHf/3E8o+wtyxWfNhTB+n4NSl\r\nCxygSVeLxiMXeXFsSQXhUAN11AYD9gO5OZgLd9Aavuib/WIovNJ0aMPWQ0AM\r\n9Nf05zyo8paPxlQUKbY0CrJPoHK+OZgUQgk=\r\n=rhwb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"b6ea0f75d8cf291da8bc96de54ab5ad6a4822894","scripts":{"test":"npm run build && npm run test:unit","build":"./bin/build","test:unit":"c8 node --test"},"_npmUser":{"name":"willfarrell","email":"will.farrell@gmail.com"},"repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"_npmVersion":"8.19.3","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"18.13.0","dependencies":{"commander":"10.0.0","fluent-transpiler":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","ajv":"^8.12.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.0.3_1675926212249_0.6472481196409754","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"ajv-ftl-i18n","version":"0.1.0","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.1.0","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"6e4d60ee3808424e910ab9906d81e943a8f25725","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.1.0.tgz","fileCount":30,"integrity":"sha512-896vF6MIMKDkZ4ifUf+oJbEdiOhuJawkNkpUzo7BNe6lCdXdnrwR/IL7GwiZtnGhpw9GMYc0GUCXN+Dk6OJnkg==","signatures":[{"sig":"MEQCIESE4tQEo1KBpujM/O4KA+fE62A2y13kYTQ86W7VIj/jAiBk5NbQ5oscWZ6PlVk+IIfTlZSj7Q3hbamut6UG+u1Iyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":171083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5b05ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/TQ/+NTDZ9VKEjSWtkMMD//WwMO5PxNgijGFmLjcBSdxvFK5wM0tz\r\no8C7JGYkYe0fNxh1noS0715YdU4z6J8iYE6C7GOl+zlQAjWZEodiVZ4miC8K\r\nwcaRTo7wHDvkT5rqeL0EfHMKguKwH1qenI/OqCB3P/wRA0WvoRa0pDttKZE5\r\nUKvaeKTeabGZIJLffrlIGSXt76BTl+12YtC97giCtdBWCPM9bNe3EiuPTTgU\r\n1EBx9YgMH9QjhWfPiw6DgF7ErUCcB37pnsztF/SMBgQzx3V6f7sWvYwzWUth\r\nUTLmm3EqaebKBIEO08RvEDS47BDtA3O6pc9X1eAmoa34dk7AIKTAxVOogm2X\r\n8MCmy/TG6FcOJVkhUd94TLYui8FGhNLJ4Ma8VQb2XqpIPJ1F6viZKT3a3O2r\r\ncJqTWhZvMBpoGuHA/HyA0vmUeWTZ62ZeNHopOdFQcQdLsl8ALeWIP8XbcciP\r\nCrCjoRs0zRFTiuNmfaskzNnsZzI1F6JUYuu91Lx4c4wRzfIaq8C3Qg94gqb8\r\nUBmzSKH7AWq6JyxSrTbPXVuTBwRxNwExcQx+5qcQHhj4bo/8SVbj3UM3JZf3\r\n1Js8I7XgJJfz8Dwbm3uTMmfW8+E6A70p59n69noh1yBh9w9gimaK4WTsIRyR\r\nJg8olXx8UABvkY0dUYn9f23piiV11qoWVCs=\r\n=lSOd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"8d77065fb45eb3ba04989caec56ba6f34893bb86","scripts":{"test":"npm run build && npm run test:unit","build":"./bin/build","test:unit":"c8 node --test"},"_npmUser":{"name":"willfarrell","email":"will.farrell@gmail.com"},"repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"_npmVersion":"8.19.3","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"18.13.0","dependencies":{"commander":"10.0.0","fluent-transpiler":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","ajv":"^8.12.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.1.0_1676000569632_0.9409905475530818","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"ajv-ftl-i18n","version":"0.1.1","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.1.1","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"852dc68d77b253900b69af213a77b251e2545f2c","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.1.1.tgz","fileCount":30,"integrity":"sha512-bJwD8xsGqeI3CvLv1lWdJAGaXoEG8PlDqzx1W5U87pWvEhQR+DqnTZsRQpAo736t9haWR06ECtyJA3GTO/Zphw==","signatures":[{"sig":"MEUCIBLbg2ieY03BwSURftmRGWaDVib/Qmlw8d46P6pwXg1kAiEA97LJT5q51kQOg7CGNwMT4RT3uWoicebH88Nca3pdHnM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkVBrFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmom+g/+OivC2tRkGPYarmdOfCDfR7vt3MUZhyVnjq2rycVIwPicP56U\r\ngEuIp2nbVLrA4PchwLTh9Mq9bw3NvbZ76xhdhdI6SREERe0Ay6bytCBYRdH0\r\nkawdH3Kl48RAKFO+Wd5aj9iLUKMAr1z5HAd1Z8efdqrJtqtuGRtK5Tvykn8X\r\nigRf/9T+34uvxqxJfWUUgsymyPSl2KyQuZn+zgDhtB+27pkssLfBHJlyML8g\r\nNswWkwerqxj7QtE4/BJu4DdhVPl2kq3kIBrETHX46FIdUPffnPnhe8MYOfK9\r\nMLusZ/WwLOrhp0j8WBeKHuxDq/14LnLCRjtBJFoSPPpsD9Qz5SnXVWgIXhEg\r\nn9XmZFC4kao7ZPbyG1odejSoSaMMw3e7A4VF//Mdg1aqBk9CkR6SjcDh8t26\r\n6tyE7LmYc7iZdrr3tgi39fMq5F9r9tpbF5m0b6ECOKzfPIro8wERn9H9ZSm3\r\ng/tc+J6Qc20EI8l4KGacWka4hIbwyTvDsC/wdb4dddNH5aTSAuLg/cnXOb9Y\r\nXqDyV5oCy0dDRSa/LrALkv5pfBX3bAsEnT4Oe1cTr+ukfSEnZ2qiwINrGN4U\r\nl7p1chIWLpbMDAtfJnBYYA2u3rCcaWpPOl/e+pZVsM03XdSk3tMiZ+Ebn0JO\r\nW3NhE2GPkyfufhDCTFZXuDf6JMx55ce4h20=\r\n=L0bK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","funding":{"url":"https://github.com/sponsors/willfarrell","type":"github"},"gitHead":"59046977298dea96cafb487c10e60117f0c83356","scripts":{"test":"npm run build && npm run test:unit","build":"./bin/build","test:unit":"c8 node --test"},"_npmUser":{"name":"willfarrell","email":"will.farrell@gmail.com"},"repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"_npmVersion":"9.6.5","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"18.13.0","dependencies":{"commander":"10.0.0","fluent-transpiler":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","ajv":"^8.12.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.1.1_1683233477474_0.03601651531383765","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"ajv-ftl-i18n","version":"0.2.0","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.2.0","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"ac36a4d7f4a5fbc35c31ae4f12dc3557c99d3fc2","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.2.0.tgz","fileCount":55,"integrity":"sha512-5jC96DUT9mcfb0jzCJnToQMCCcMalQnJQzMxJ6J69ejPsefK6Qpv6SazKgGRG5syap1EZdoWQ5AiByqXXz6oDg==","signatures":[{"sig":"MEUCIGWCuzyLuOBhA+zni/H8T1Avad3socMY0UrrSMQQxyhRAiEAgy1nKeXFsIRX+Lc46EULkRI3fd8BPwKIicVGfjjFfjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ajv-ftl-i18n@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183711},"main":"index.js","type":"module","_from":"file:ajv-ftl-i18n-0.2.0.tgz","engines":{"node":">=24"},"funding":{"url":"https://github.com/sponsors/willfarrell","type":"github"},"scripts":{"lint":"biome check --write --no-errors-on-unmatched","test":"npm run test:lint && npm run build && npm run test:unit && npm run test:types && npm run test:sast && npm run test:perf && npm run test:dast","build":"./bin/build","prepare":"husky","test:dast":"npm run test:dast:fuzz","test:lint":"biome check --staged --no-errors-on-unmatched","test:perf":"node --test --test-concurrency=1 ./*.perf.js","test:sast":"npm run test:sast:license && npm run test:sast:lockfile && npm run test:sast:semgrep && npm run test:sast:trufflehog && npm run test:sast:trivy","test:unit":"node --test --test-force-exit --experimental-test-coverage --test-coverage-lines=95 --test-coverage-branches=70 --test-coverage-functions=80 --test-coverage-exclude=locale/** --test-coverage-exclude=**/*.test.js --test-coverage-exclude=test/** ./test/*.js ./*.test.js","test:types":"tstyche","git:commit-msg":"commitlint --config commitlint.config.cjs --edit","git:pre-commit":"npm run git:lint-staged && npm run git:test-staged","test:dast:fuzz":"node --test ./*.fuzz.js","git:lint-staged":"npm run test:lint","git:test-staged":"npm run git:unit-staged","git:unit-staged":"node --test","test:sast:trivy":"trivy fs --scanners vuln,license --include-dev-deps --ignored-licenses 0BSD,Apache-2.0,BSD-1-Clause,BSD-2-Clause,BSD-3-Clause,CC0-1.0,CC-BY-4.0,ISC,MIT,Python-2.0 --exit-code 1 --disable-telemetry .","test:sast:license":"license-check-and-add check -f license.json","test:sast:semgrep":"semgrep scan --config auto","test:sast:lockfile":"lockfile-lint --path package-lock.json --type npm --allowed-hosts npm --validate-https","release:license:add":"license-check-and-add add -f license.json","test:sast:trufflehog":"trufflehog filesystem --only-verified --log-level=-1 ./","release:license:remove":"license-check-and-add remove -f license.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dad2f2e6-6f85-44e6-b02c-9ea3dd8e82cb"}},"_resolved":"/home/runner/work/ajv-ftl-i18n/ajv-ftl-i18n/ajv-ftl-i18n-0.2.0.tgz","_integrity":"sha512-5jC96DUT9mcfb0jzCJnToQMCCcMalQnJQzMxJ6J69ejPsefK6Qpv6SazKgGRG5syap1EZdoWQ5AiByqXXz6oDg==","repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"workspaces":[".github"],"_npmVersion":"11.9.0","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"commander":"14.0.3","fluent-transpiler":"0.3.2"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","husky":"^9.0.0","tstyche":"^6.2.0","tinybench":"^6.0.0","ajv-errors":"^3.0.0","fast-check":"^4.6.0","ajv-formats":"^3.0.1","@biomejs/biome":"^2.0.0","@commitlint/cli":"^20.0.0","license-check-and-add":"4.0.5","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.2.0_1773775012130_0.8833665223864491","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"ajv-ftl-i18n","version":"0.2.1","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","_id":"ajv-ftl-i18n@0.2.1","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"bin":{"ajv-ftl":"cli.js"},"dist":{"shasum":"3aaa061383205ae9cf0c3b2d6614c08ccf43b343","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.2.1.tgz","fileCount":55,"integrity":"sha512-ThWHxPmLaJYKrl1mMWAYizGqZG1MrHcMgQ4MId2YFAjRn73GrZqSMX+sifQAHXAva0RZVeGHxVqkrWGizDFo6Q==","signatures":[{"sig":"MEUCIHuoEbA/mmuDcMpiVQPpyfbQ00Fq3JEiX1ORDsYOAa6tAiEAwSlXujBP0i9sMhAC9TQKQf7ggQtcdWUtRcNjGKVu9Pk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ajv-ftl-i18n@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186635},"main":"index.js","type":"module","_from":"file:ajv-ftl-i18n-0.2.1.tgz","engines":{"node":">=24"},"funding":{"url":"https://github.com/sponsors/willfarrell","type":"github"},"scripts":{"lint":"biome check --write --no-errors-on-unmatched","test":"npm run test:lint && npm run build && npm run test:unit && npm run test:types && npm run test:sast && npm run test:perf && npm run test:dast","build":"./bin/build","prepare":"husky","test:dast":"npm run test:dast:fuzz","test:lint":"biome check --staged --no-errors-on-unmatched","test:perf":"node --test --test-concurrency=1 ./*.perf.js","test:sast":"npm run test:sast:license && npm run test:sast:lockfile && npm run test:sast:semgrep && npm run test:sast:trufflehog && npm run test:sast:trivy","test:unit":"node --test --test-force-exit --experimental-test-coverage --test-coverage-lines=95 --test-coverage-branches=70 --test-coverage-functions=80 --test-coverage-exclude=locale/** --test-coverage-exclude=**/*.test.js --test-coverage-exclude=test/** ./test/*.js ./*.test.js","test:types":"tstyche","git:commit-msg":"commitlint --config commitlint.config.cjs --edit","git:pre-commit":"npm run git:lint-staged && npm run git:test-staged","test:dast:fuzz":"node --test ./*.fuzz.js","git:lint-staged":"npm run test:lint","git:test-staged":"npm run git:unit-staged","git:unit-staged":"node --test","test:sast:trivy":"trivy fs --scanners vuln,license --include-dev-deps --ignored-licenses 0BSD,Apache-2.0,BSD-1-Clause,BSD-2-Clause,BSD-3-Clause,CC0-1.0,CC-BY-4.0,ISC,MIT,Python-2.0 --exit-code 1 --disable-telemetry .","test:sast:license":"license-check-and-add check -f license.json","test:sast:semgrep":"semgrep scan --config auto","test:sast:lockfile":"lockfile-lint --path package-lock.json --type npm --allowed-hosts npm --validate-https","release:license:add":"license-check-and-add add -f license.json","test:sast:trufflehog":"trufflehog filesystem --only-verified --log-level=-1 ./","release:license:remove":"license-check-and-add remove -f license.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dad2f2e6-6f85-44e6-b02c-9ea3dd8e82cb"}},"_resolved":"/home/runner/work/ajv-ftl-i18n/ajv-ftl-i18n/ajv-ftl-i18n-0.2.1.tgz","_integrity":"sha512-ThWHxPmLaJYKrl1mMWAYizGqZG1MrHcMgQ4MId2YFAjRn73GrZqSMX+sifQAHXAva0RZVeGHxVqkrWGizDFo6Q==","repository":{"url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git","type":"git"},"workspaces":[".github"],"_npmVersion":"11.9.0","description":"Transpile Fluent (ftl) files into ajv error translations.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"commander":"14.0.3","fluent-transpiler":"0.4.1"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","husky":"^9.0.0","tstyche":"^6.2.0","tinybench":"^6.0.0","ajv-errors":"^3.0.0","fast-check":"^4.6.0","ajv-formats":"^3.0.1","@biomejs/biome":"^2.0.0","@commitlint/cli":"^20.0.0","license-check-and-add":"4.0.5","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ajv-ftl-i18n_0.2.1_1773858562902_0.948140917480609","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"ajv-ftl-i18n","version":"0.3.0","description":"Transpile Fluent (ftl) files into ajv error translations.","main":"index.js","types":"index.d.ts","type":"module","sideEffects":false,"exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./locale/*.js":"./locale/*.js","./locale/*.ftl":"./locale/*.ftl","./package.json":"./package.json"},"engines":{"node":">=24"},"bin":{"ajv-ftl":"cli.js"},"scripts":{"prepare":"husky","prepack":"npm run build","git:pre-commit":"npm run git:lint-staged && npm run git:test-staged","git:commit-msg":"commitlint --config commitlint.config.cjs --edit","git:lint-staged":"biome check --staged --no-errors-on-unmatched","git:unit-staged":"node --test","git:test-staged":"npm run git:unit-staged","build":"./bin/build","lint":"biome check --write --no-errors-on-unmatched","test":"npm run test:lint && npm run build && npm run test:unit && npm run test:mutation && npm run test:types && npm run test:sast && npm run test:perf && npm run test:dast","test:lint":"biome ci --no-errors-on-unmatched","test:unit":"node --test --test-force-exit --experimental-test-coverage --test-coverage-lines=100 --test-coverage-branches=100 --test-coverage-functions=100 --test-coverage-exclude=locale/** --test-coverage-exclude=**/*.test.js --test-coverage-exclude=test/** ./test/*.js ./*.test.js","test:mutation":"stryker run","test:types":"tstyche","test:perf":"node --test --test-concurrency=1 ./*.perf.js","test:sast":"npm run test:sast:license && npm run test:sast:lockfile && npm run test:sast:semgrep && npm run test:sast:trufflehog && npm run test:sast:gitleaks && npm run test:sast:actionlint && npm run test:sast:zizmor && npm run test:sast:trivy","test:sast:actionlint":"actionlint","test:sast:gitleaks":"npm run test:sast:gitleaks:dir && npm run test:sast:gitleaks:git","test:sast:gitleaks:dir":"gitleaks dir . --redact --no-banner","test:sast:gitleaks:git":"gitleaks git . --redact --no-banner","test:sast:license":"license-check-and-add check -f .license.config.json","test:sast:lockfile":"lockfile-lint --path package-lock.json --type npm --allowed-hosts npm --validate-https","test:sast:semgrep":"semgrep scan --config auto --error","test:sast:trivy":"trivy fs --scanners vuln,license --include-dev-deps --ignored-licenses 0BSD,Apache-2.0,BSD-1-Clause,BSD-2-Clause,BSD-3-Clause,CC0-1.0,CC-BY-4.0,ISC,MIT,Python-2.0,LGPL-3.0-or-later,MPL-2.0,BlueOak-1.0.0,Unlicense --exit-code 1 --skip-files '**/bun.lock' --disable-telemetry .","test:sast:trufflehog":"trufflehog filesystem --only-verified --log-level=-1 ./","test:sast:zizmor":"zizmor .github","test:dast":"npm run test:dast:fuzz","test:dast:fuzz":"node --test ./*.fuzz.js","rm":"npm run rm:macos && npm run rm:node_modules && npm run rm:lock","rm:macos":"find . -name '.DS_Store' -type f -delete","rm:lock":"find . -name 'package-lock.json' -type f -delete","rm:node_modules":"find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +","release:license:add":"license-check-and-add add -f .license.config.json","release:license:remove":"license-check-and-add remove -f .license.config.json"},"repository":{"type":"git","url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git"},"keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"author":{"name":"willfarrell"},"license":"MIT","bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"homepage":"https://github.com/willfarrell/ajv-ftl-i18n","dependencies":{"commander":"15.0.0","fluent-transpiler":"0.6.0"},"devDependencies":{"@biomejs/biome":"^2.0.0","@commitlint/cli":"^21.0.0","@commitlint/config-conventional":"^21.0.0","@stryker-mutator/core":"^9.0.0","ajv":"^8.18.0","ajv-errors":"^3.0.0","ajv-formats":"^3.0.1","fast-check":"^4.6.0","husky":"^9.0.0","license-check-and-add":"4.0.5","tinybench":"^6.0.0","tstyche":"^7.0.0"},"overrides":{"qs":"^6.15.2"},"funding":{"type":"github","url":"https://github.com/sponsors/willfarrell"},"workspaces":[".github"],"_id":"ajv-ftl-i18n@0.3.0","_integrity":"sha512-72/46GfRBKr3x/205j6wmw6Ofr9NjQ8iw+VVezHKsIXjAZ/09D6FCL1p/O3iIGO3cWsI0z3fgzN+dXFnW8Bj4w==","_resolved":"/home/runner/work/ajv-ftl-i18n/ajv-ftl-i18n/ajv-ftl-i18n-0.3.0.tgz","_from":"file:ajv-ftl-i18n-0.3.0.tgz","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-72/46GfRBKr3x/205j6wmw6Ofr9NjQ8iw+VVezHKsIXjAZ/09D6FCL1p/O3iIGO3cWsI0z3fgzN+dXFnW8Bj4w==","shasum":"5bbe9bc9633a5a1f56dbe4b037ddc39112985967","tarball":"https://registry.npmjs.org/ajv-ftl-i18n/-/ajv-ftl-i18n-0.3.0.tgz","fileCount":79,"unpackedSize":262376,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ajv-ftl-i18n@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDjEO6FNc1/bEJvmNvZHQaghJoSmMIAs4tZrOfHveU0GQIgMh7JsPDoZb7iT0jSWAalYXO90NUfXoNVM1FmlzvXhhM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dad2f2e6-6f85-44e6-b02c-9ea3dd8e82cb"}},"directories":{},"maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ajv-ftl-i18n_0.3.0_1781298395099_0.6415047391059228"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-09T00:28:55.036Z","modified":"2026-06-12T21:06:35.621Z","0.0.0":"2022-10-09T00:28:55.256Z","0.0.1":"2022-10-09T01:21:13.505Z","0.0.2":"2022-10-09T01:58:28.147Z","0.0.3":"2023-02-09T07:03:32.518Z","0.1.0":"2023-02-10T03:42:49.807Z","0.1.1":"2023-05-04T20:51:17.710Z","0.2.0":"2026-03-17T19:16:52.285Z","0.2.1":"2026-03-18T18:29:23.035Z","0.3.0":"2026-06-12T21:06:35.283Z"},"bugs":{"url":"https://github.com/willfarrell/ajv-ftl-i18n/issues"},"author":{"name":"willfarrell"},"license":"MIT","homepage":"https://github.com/willfarrell/ajv-ftl-i18n","keywords":["Fluent","@fluent","ftl","localization","l10n","internationalization","i18n","ast","compiler","transpiler"],"repository":{"type":"git","url":"git+https://github.com/willfarrell/ajv-ftl-i18n.git"},"description":"Transpile Fluent (ftl) files into ajv error translations.","maintainers":[{"name":"willfarrell","email":"will.farrell@gmail.com"}],"readme":"<div align=\"center\">\n  <h1>ajv-ftl-i18n</h1>\n  <p><strong>Fluent (FTL) internationalization for AJV</strong></p>\n<p>\n  <a href=\"https://github.com/willfarrell/ajv-ftl-i18n/actions/workflows/test-unit.yml\"><img src=\"https://github.com/willfarrell/ajv-ftl-i18n/actions/workflows/test-unit.yml/badge.svg\" alt=\"GitHub Actions unit test status\"></a>\n  <a href=\"https://github.com/willfarrell/ajv-ftl-i18n/actions/workflows/test-sast.yml\"><img src=\"https://github.com/willfarrell/ajv-ftl-i18n/actions/workflows/test-sast.yml/badge.svg\" alt=\"GitHub Actions SAST test status\"></a>\n  <a href=\"https://github.com/willfarrell/ajv-ftl-i18n/actions/workflows/test-lint.yml\"><img src=\"https://github.com/willfarrell/ajv-ftl-i18n/actions/workflows/test-lint.yml/badge.svg\" alt=\"GitHub Actions lint test status\"></a>\n  <br/>\n  <a href=\"https://www.npmjs.com/package/ajv-ftl-i18n\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/ajv-ftl-i18n.svg\"></a>\n  <a href=\"https://packagephobia.com/result?p=ajv-ftl-i18n\"><img src=\"https://packagephobia.com/badge?p=ajv-ftl-i18n\" alt=\"npm install size\"></a>\n  <a href=\"https://www.npmjs.com/package/ajv-ftl-i18n\"><img alt=\"npm weekly downloads\" src=\"https://img.shields.io/npm/dw/ajv-ftl-i18n.svg\"></a>\n  <a href=\"https://www.npmjs.com/package/ajv-ftl-i18n#provenance\">\n  <img alt=\"npm provenance\" src=\"https://img.shields.io/badge/provenance-Yes-brightgreen\"></a>\n  <br/>\n  <a href=\"https://scorecard.dev/viewer/?uri=github.com/willfarrell/ajv-ftl-i18n\"><img src=\"https://api.scorecard.dev/projects/github.com/willfarrell/ajv-ftl-i18n/badge\" alt=\"Open Source Security Foundation (OpenSSF) Scorecard\"></a>\n  <a href=\"https://slsa.dev\"><img src=\"https://slsa.dev/images/gh-badge-level3.svg\" alt=\"SLSA 3\"></a>\n  <a href=\"https://biomejs.dev\"><img alt=\"Checked with Biome\" src=\"https://img.shields.io/badge/Checked_with-Biome-60a5fa?style=flat&logo=biome\"></a>\n  <a href=\"https://conventionalcommits.org\"><img alt=\"Conventional Commits\" src=\"https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white\"></a>\n</p>\n</div>\n\nInternationalized error messages for Ajv - superfast JSON validator for JSON Schema and JSON Type Definition.\nA drop in replacement for [`ajv-i18n`](https://ajv.js.org/packages/ajv-i18n.html) with some extra features.\n\n## Features\n\n- Based off of Fluent (`.ftl`)\n- Allows overriding messages\n- Supports multi-lingual errorMessages\n- Supports English (`en`), Arabic (`ar`), Catalan (`ca`), Czech (`cs`), German (`de`), Spanish (`es`), Finnish (`fi`), French (`fr`), Hungarian (`hu`), Indonesian (`id`), Italian (`it`), Japanese (`ja`), Korean (`ko`), Norwegian bokmål (`nb`), Dutch (`nl`), Polish (`pl`), Português - Brasil (`pt-BR`), Russian (`ru`), Slovak (`sk`), Swedish (`sv`), Thai (`th`), Chinese (`zh`), Chinese - Taiwan (`zh-TW`). PR to correct or add new locales welcome.\n\n### AJV Differences\n\n- `ar` will return Arabic numerals, based on locale\n- `en` uses lower case `NOT`\n- `fr` uses `«`,`»` instead of `\"`\n- Fixed quote/space inconsistencies between locales\n- Added in computer translation when missing\n- Merged schema and jtd together\n\n## Install\n\n```bash\nnpm i ajv-ftl-i18n\n```\n\n## Usage\n\n```javascript\nimport _ajv from 'ajv/dist/2020.js'\nimport localize from 'ajv-ftl-i18n'\nimport errorMessage from 'ajv-errors'\n\nconst Ajv = _ajv.default // esm workaround\n\nconst ajv = new Ajv({\n  allErrors: true,\n  messages: true // must be `true` for `errorMessages` support\n})\nerrorMessage(ajv)\nconst validate = ajv.compile(schema)\nconst valid = validate(data)\n\nif (!valid) {\n  localize.fr(validate.errors)\n  // string with all errors and data paths\n  console.log(ajv.errorsText(validate.errors, { separator: '\\n' }))\n}\n```\n\nOnly need one locale? Import it directly to keep bundles small:\n\n```javascript\nimport fr from 'ajv-ftl-i18n/locale/fr.js'\n\nfr(validate.errors)\n```\n\n## Transpile\n\nUsed to transpile custom ftl files into ajv localizations.\n\n### CLI\n\n```bash\nUsage: ajv-ftl [options] <input>\n\nTranspile Fluent (.ftl) files to JavaScript (.js or .mjs) for ajv\n\nArguments:\n  input                  Path to the Fluent file to transpile\n\nOptions:\n  --version              output the version number\n  --locale <locale...>   What locale(s) to be used. Multiple can be set to allow for fallback. i.e. en-CA\n  -o, --output <output>  Path to store the resulting JavaScript file. Will be in ESM.\n  -h, --help             display help for command\n```\n\n### NodeJS\n\n```javascript\nimport { readFile, writeFile } from 'node:fs/promises'\nimport { transpile } from 'ajv-ftl-i18n'\n\nconst ftl = await readFile('./path/to/en.ftl', { encoding: 'utf8' })\nconst js = transpile(ftl, { locale: 'en-CA' })\nawait writeFile('./path/to/en.mjs', js, 'utf8')\n```\n\n## errorMessage\n\nAll functionality of [`ajv-errors`](https://ajv.js.org/packages/ajv-errors.html) are supported. To not introduce new complexity to the errorMessage structure, you'll need to pull your errorMessages into a centralized ftl file for the schema.\n\n```\n${messageId}[, ${key}:${jsonPointer}][...]\n```\n\n### Replace with message identifier in Fluent file\n\n**schema.ftl**\n\n```ftl\n...\ndimensions = The dimensions are invalid\n```\n\n**schema.json**\n\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"height\": {\n      \"type\": \"number\",\n      \"minimum\": 4\n    },\n    \"width\": {\n      \"type\": \"number\",\n      \"minimum\": 4\n    }\n  },\n  \"errorMessage\": \"dimensions\"\n}\n```\n\n### Use JSON-pointers\n\n**schema.ftl**\n\n```ftl\n...\ndimensions = The dimensions ({$h}x{$w}) are invalid\n```\n\n**schema.json**\n\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"height\": {\n      \"type\": \"number\",\n      \"minimum\": 4\n    },\n    \"width\": {\n      \"type\": \"number\",\n      \"minimum\": 4\n    }\n  },\n  \"errorMessage\": {\n    \"properties\": {\n      \"height\": \"dimensions, h:${/height}, w:${/width}\"\n    }\n  }\n}\n```\n","readmeFilename":"README.md"}