{"_id":"remix-i18n","_rev":"39-129e106ba47819be6fd4cfaa3a44d26f","name":"remix-i18n","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.0":{"name":"remix-i18n","version":"0.0.0","keywords":[],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@0.0.0","maintainers":[{"name":"willin","email":"willin@willin.org"}],"dist":{"shasum":"c798f6420bc75ca8f3afc04d589290e922ef12ce","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-0.0.0.tgz","fileCount":1,"integrity":"sha512-tXHN/ne9+MCLhppiVlVRETRjYNN+1T5LGCx7kcVrTEWvsPbvn7SoETrSSd1VNUlsmUVe+VwuAHK+b7mmEkk39Q==","signatures":[{"sig":"MEQCIHNlvCVJvCZw+nvOzVUpZGnfsDxwffB69G5Oq1WYPpNTAiAFcSq+/zKBs5rpNzJIO8YFm55TbR5x+VFMK/mG+nvbOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBSNjCRA9TVsSAnZWagAAfS0P/1Jq1biIuX/iUrmGIhrh\nFaTGjgT5aXBx2BAxtjj4LMfuy8L2Yx56YOBIiC8DWCQ+rUGDZEtjFoWcyDmj\nUTeZI2wzOIGGEjB3nQc7BpK8wAQXH72QVGWaQ5fFEFnDNJjl+0g1OBkeGQlh\n3gNVPSXwS1cDhXzEIG99WW6gHCW1C6jGw+dZLN3cbBu8p+jXtDDwFU1R8G14\npnqxw/Mti/ZC6pU/Un9ZvGI94knEqeEkD6VmbldoV8stShuFVB/Yh7kgVwbY\nHu8/FcCzdWiISP0l1mMAW6vC46VOjJELLjQOj8Q2deO3a1+BEoXFvk/Vw330\nJ0Bip/ZkuSLzgcRBg+sWqGZ7x9if52nYZjw0d4XeS5qlAxDsTbi3L6hXDzKk\no/cuplqhYWKfwdJGx78Ai9gQBmmh0qavvLukCza+FHYTd1ZUh7+BZN4gZU6T\nVT+jsTyTaV5/lkjnNMlgV4G9TdJFJkGOJsFh7MTZ6VP9pDEgM3klxjrOtU9X\nwICeQJSELarPXJFch8GdyANw3tXu0DLjbhSRfY1Q2Fig4T1fwiQ9GTMQMS23\nDiyhRCa983k0ZH9X1SJXRqYY+4BCC7bEgcaJNH2xsT+SMiM1rMxUgF91qU9x\n0JaS94Y/mO9dig9cnX9jV+bO8hgBWQ78yAVQ6crG3K8E5hXk/Zu9KrdgEdjP\n6mE3\r\n=FCWB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"_npmVersion":"8.1.0","description":"","directories":{},"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_0.0.0_1644503907525_0.8083249053924699","host":"s3://npm-registry-packages"}},"0.0.15":{"name":"remix-i18n","version":"0.0.15","keywords":["remix","i18n","internationalization","translation","localization"],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@0.0.15","maintainers":[{"name":"willin","email":"willin@willin.org"}],"homepage":"https://github.com/willin/remix-i18n#readme","bugs":{"url":"https://github.com/willin/remix-i18n/issues"},"dist":{"shasum":"e33389f335473da75b9a51093029635518144210","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-0.0.15.tgz","fileCount":42,"integrity":"sha512-MWKPuuIb0LCrBDorcRy75KoocUnEF/HTj9Ck04zxKbc1eWxE8YmLX4XE1uRdlmvzO89VTtF/rvJxnmgaaXwTDw==","signatures":[{"sig":"MEUCIQDFxCjV+gKPLVuE4I2Zh9pPCl2YTAV5EsnsCaQE8TEiTgIgRBxTiQ9iI1eobUFDqd8hsTdXy4KWs9c2piYlmdB6+zA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiB4klCRA9TVsSAnZWagAARgYQAJvizyEU41ObL7hAgChP\nK9O8pk8q8rBMAcSKR56t9v0rxSPZPW5SpCuRQsrZJMV6sA8aTbYo9AeRLAk+\nvcwSFk8zud2qh4eazq9X5vDZJuxxYYN9P5naXWOic8wVVLTvTMR/bMn6LkPF\nEHcixptRAk/c0/Izg5C5WYgs7Q5dpj4Al23qqP3uez/5gztXP6wYJZaBI4bA\ng57YiP5uFjPsBfU9JNgX4nT2RgKnrIufVJnFA3QIz8VbJ9XCs2J4/pxk66IO\niMl/6Pbrg3tyjgQjybDmOq6CYfy9/6gyB1yNVbtdHt+PsiNmhJtIxMQBQjDB\noXylhHOCNUYTrZxcrVkOsjXvHjPOJdY6MFWuiifT5JZGqfNyCgUB7U0wvwzt\nvWX5byswWBEMSlOQkZhCpxXaddGyJ4F7a2eraTJH3lgMsXc0z0W4telZtzfh\nJWMTYH6fXqbgf1ThNFxXxRzP8F9Tw4MQbSXxxSZ7cb6PZEKMo2uv5FtoL6rU\nNs6/FNHXUX8etIGFufGpkhq6BzcFLUiomTRuMs7Q/ZwKC9v93hByNTvBQWwu\n//1lts8PlHFP1iKzIzuqdgmUwbZLVan1Aj2j6pFWT0uhxcwPXGWx4T516CI6\nKxe60kEtXJLG3L29/LsCMmUV7fiyjOaU7VyydXtO6yWz5vxDnnJKNuuKPzwZ\nRMOo\r\n=/MaN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./browser/index.js","source":"./src/index.ts","browser":"./browser/index.js","gitHead":"0ab0b005c869b348503d03da6ed195902128aa3c","scripts":{"dev":"make document","build":"npm run build:browser && npm run build:main","prepare":"husky install","build:main":"tsc --module CommonJS --outDir ./dist","build:browser":"tsc --module ESNext --outDir ./browser"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"repository":{"url":"git+https://github.com/willin/remix-i18n.git","type":"git"},"_npmVersion":"8.1.0","description":"Including:","directories":{},"_nodeVersion":"16.13.0","dependencies":{"frenchkiss":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","react":"^17.0.2","eslint":"^8.8.0","prettier":"^2.5.1","typescript":"^4.5.5","lint-staged":"^12.3.3","@types/react":"^17.0.39","@remix-run/react":"^1.1.3","eslint-plugin-react":"^7.28.0","eslint-plugin-import":"^2.25.4","@willin/eslint-config":"^0.1.1","eslint-plugin-jsx-a11y":"^6.5.1","@remix-run/eslint-config":"^1.1.3","@remix-run/server-runtime":"^1.1.3","eslint-plugin-react-hooks":"^4.3.0","eslint-import-resolver-typescript":"^2.5.0"},"peerDependencies":{"react":"^17.0.2","@remix-run/react":"^1.0.0","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_0.0.15_1644661029424_0.7963669807978515","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"remix-i18n","version":"0.1.1","keywords":["remix","i18n","internationalization","translation","localization"],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@0.1.1","maintainers":[{"name":"willin","email":"willin@willin.org"}],"homepage":"https://github.com/willin/remix-i18n#readme","bugs":{"url":"https://github.com/willin/remix-i18n/issues"},"dist":{"shasum":"d5ebd8703efd8a679390090fe07cfc4bd6139da3","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-0.1.1.tgz","fileCount":43,"integrity":"sha512-b+QFsESpe5wbBOjbpfL+usQ4LPpFzXIcCFjxJq5ByHymjH9BEiBB8VbcwEmoV9EPZCTUX8ljhfZwJt7Lb85lAw==","signatures":[{"sig":"MEUCIQCnc820JFTzUFea/tX7PvrcMnBEIqocaIkG45Mj2d4p1gIgWVaPXJopEJX7M0SrxDwyeYbWQsUH4iJ5ZDK9CodFQK4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiB6isCRA9TVsSAnZWagAA6GIP/jc7SsmbHg8GTjewe6mH\nAUmd8Smx1+A+Q+j3dPwPcmYZxhxBde2fI5xuEg2/T6auzYYmZiAt9uVCOhr2\nyppt+IfihmNm2u0t9y6rCSscjjaPW+/vp/tEzEpoiQJS6gNDh2YeXwDP9OnB\ntlSgOiidAKvf2P4rHMWK4x3UkiVGjqcfAZm1jkEGGIyelDEyCPAVpJpM3Otc\nF2faSnN54/6i2Hkj8vJAjRaEbE5elzrC6z1SaLTg2V3CWx1BwnIWyaMZkBeM\nBnhAkgub8jYy9ikkN+KrTN8kh22w7MzFFjcHH8SGna0XnUqhS8P4xRpLcNxm\nACvaYqPkFnmXaVcAv6CwbHsz2G3UgJgqYwIsc75qd6OllPkQbzITcnzAA+mB\nQqPUnkn0lIJoumLkA5PU6XE0pndKw3az+530IfS0RWWAhQYC1vDR8htS8wsn\njdXZPBgH3EaPsA1TWejkWuWpnxeHZrbtx/lJyPSez0lXjgmq43Ebyzwx2cjf\nC5RubLvhpxK4oHxzM5/BGJKRigrlenflO0jDt+BTrkpEtqi5Df+CdaIMfg1c\n0C6Xsy/UO7Cxw3GsVMCoO5msQGfCZ8XbrXO6AB+Xvt/arT9xSE5cP99YdzBI\nLiUso+XN9wcC2IC3s+J21Zo8WUU67ikxLBR8ryhQCjVXRnFsfDrbCfJ8MKGe\noa43\r\n=Nr0t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./browser/index.js","source":"./src/index.ts","browser":"./browser/index.js","gitHead":"7da729532930641dd4dabf60a520a48e7ed36726","scripts":{"dev":"make document","build":"npm run build:browser && npm run build:main","prepare":"husky install","build:main":"tsc --module CommonJS --outDir ./dist","build:browser":"tsc --module ESNext --outDir ./browser"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"repository":{"url":"git+https://github.com/willin/remix-i18n.git","type":"git"},"_npmVersion":"8.1.0","description":"Including:","directories":{},"_nodeVersion":"16.13.0","dependencies":{"dlv":"^1.1.3","templite":"^1.2.0","@types/dlv":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","react":"^17.0.2","eslint":"^8.8.0","prettier":"^2.5.1","typescript":"^4.5.5","lint-staged":"^12.3.3","@types/react":"^17.0.39","@remix-run/react":"^1.1.3","eslint-plugin-react":"^7.28.0","eslint-plugin-import":"^2.25.4","@willin/eslint-config":"^0.1.1","eslint-plugin-jsx-a11y":"^6.5.1","@remix-run/eslint-config":"^1.1.3","@remix-run/server-runtime":"^1.1.3","eslint-plugin-react-hooks":"^4.3.0","eslint-import-resolver-typescript":"^2.5.0"},"peerDependencies":{"react":"^17.0.2","@remix-run/react":"^1.0.0","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_0.1.1_1644669100567_0.6267921515714066","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"remix-i18n","version":"0.2.0","keywords":["remix","i18n","internationalization","translation","localization"],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@0.2.0","maintainers":[{"name":"willin","email":"willin@willin.org"}],"homepage":"https://github.com/willin/remix-i18n#readme","bugs":{"url":"https://github.com/willin/remix-i18n/issues"},"dist":{"shasum":"8e8a313deb98003171a85b94704ee2cb8f1ed3d6","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-0.2.0.tgz","fileCount":43,"integrity":"sha512-bTea/7ik3aryehn7mG0TMtlDEXeQCk5Dm6nuUv17RtVeJUsf4RGD1rirIxMJEeMl+ic3g8O1AKVI2WGscVxDCw==","signatures":[{"sig":"MEYCIQCYFX0vn4M+q39fibyHF5DUzWeK7Wm/ywZ9YRmkO9UKdAIhAKMEzPeTiPpeHMN0zIhQnZYyp3ax2siBjkGsNqIvlBmI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiB8VnCRA9TVsSAnZWagAAuSAP/0o/8tOupjXOfvjnk5pb\nPWHXVe4/C00LsnTUya8fUD2aBdawJAFq3YkD+9qzXkvtn/Zm/1n9yvJEJfuR\nNYdgGepO6vZWVFFttJ04U12xlPBb2+fGk3SJ016vJoU0snfu2peh5Oidirar\nfJ+B7RUfDMZtrWphrwafCpI32Ma1tjWp5QLV1/K+jNaUEp49UAbjcRbvGW9N\nAbingxcDG6Kg/wm1SgUIwTw+ViY8xdQqU0rhsqOsrkfqyIQUOELjR/Ez1xlS\nQKbhJVBuSx07ODhhC4jNiwdeVRoTvGvlBpg1TrJYtjK8YCHQbdQVtVJxGq5b\nBkzvbO26UdyuQDxnevgN+kiN5f1G5uzuBrnJ1ZVAXwlcPiqcQKpOYJtH2CTe\nFEy4fPuIwplgWgk+JgvWiV5lZrjdBuIWYs001QMWOwqtQ5lfGN5sqIsJFY34\ngWze2dZpfyGlLgog8oltHYxMyuPQrddbNqPhkB5eFyzjtGmwt6TGmEfBFv2S\nsmIJ1992CC81Skx7DIoOlk51wOH1Vtyp8MRPsw9DakJycZ5Rd6qhunpGkJxy\n78A2rgOF2d3QkagG1cCDwaDvs7ClYPxHWxugFCGf02NTUjSd/oTFMhc3zwvB\nhznbKF33eQTzTOhXC3kV1T+BcESE8L5Ah8AYu9An+KRiVkwfZeBdujx+C3Jb\nA0VZ\r\n=Z5fo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./browser/index.js","source":"./src/index.ts","browser":"./browser/index.js","gitHead":"382d93838a302a6bf2c04a20f46622f63257f0d2","scripts":{"dev":"make document","build":"npm run build:browser && npm run build:main","prepare":"husky install","build:main":"tsc --module CommonJS --outDir ./dist","build:browser":"tsc --module ESNext --outDir ./browser"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"repository":{"url":"git+https://github.com/willin/remix-i18n.git","type":"git"},"_npmVersion":"8.1.0","description":"The fastest solution to translate your Remix apps","directories":{},"_nodeVersion":"16.13.0","dependencies":{"dlv":"^1.1.3","templite":"^1.2.0","@types/dlv":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","react":"^17.0.2","eslint":"^8.8.0","prettier":"^2.5.1","typescript":"^4.5.5","lint-staged":"^12.3.3","@types/react":"^17.0.39","@remix-run/react":"^1.1.3","eslint-plugin-react":"^7.28.0","eslint-plugin-import":"^2.25.4","@willin/eslint-config":"^0.1.1","eslint-plugin-jsx-a11y":"^6.5.1","@remix-run/eslint-config":"^1.1.3","@remix-run/server-runtime":"^1.1.3","eslint-plugin-react-hooks":"^4.3.0","eslint-import-resolver-typescript":"^2.5.0"},"peerDependencies":{"react":"^17.0.2","@remix-run/react":"^1.0.0","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_0.2.0_1644676455419_0.014217702836611057","host":"s3://npm-registry-packages"}},"1.0.0-alpha":{"name":"remix-i18n","version":"1.0.0-alpha","keywords":["remix","i18n","internationalization","translation","localization"],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@1.0.0-alpha","maintainers":[{"name":"willin","email":"willin@willin.org"}],"homepage":"https://github.com/willin/remix-i18n#readme","bugs":{"url":"https://github.com/willin/remix-i18n/issues"},"dist":{"shasum":"04328b270dbd4447412bb3159eea74fb720b3974","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-1.0.0-alpha.tgz","fileCount":43,"integrity":"sha512-fQx+E9aqI530L83aCV9Ar3/o3fq5o7YTK9IfEh6DYRit9qd5F8tMaw+nTUNHDZ0N21awwfQ11SPdrHVE3FTCiQ==","signatures":[{"sig":"MEYCIQCsPVAdc5oF32DFbbyjujG5OUxKUUalceTAH3byn0FVeQIhAL329qdtn/3NVnOHbBtKWF3m212IA92t3428Al0pGsdq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33841},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./browser/index.js","source":"./src/index.ts","browser":"./browser/index.js","gitHead":"0d2c3072cefed430d6c3302b2099120318f37f60","scripts":{"dev":"make document","build":"npm run build:browser && npm run build:main","prepare":"husky install","build:main":"tsc --module CommonJS --outDir ./dist","build:browser":"tsc --module ESNext --outDir ./browser"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"repository":{"url":"git+https://github.com/willin/remix-i18n.git","type":"git"},"_npmVersion":"9.8.0","description":"The fastest solution to translate your Remix apps","directories":{},"_nodeVersion":"20.5.1","dependencies":{"dlv":"^1.1.3","templite":"^1.2.0","@types/dlv":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","react":"^18.2.0","eslint":"^8.49.0","prettier":"^2.8.8","typescript":"^4.9.5","lint-staged":"^12.5.0","@types/react":"^18.2.22","@remix-run/react":"^2.0.0","eslint-plugin-react":"^7.33.2","eslint-plugin-import":"^2.28.1","@willin/eslint-config":"^0.1.1","eslint-plugin-jsx-a11y":"^6.7.1","@remix-run/eslint-config":"^2.0.0","@remix-run/server-runtime":"^2.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-import-resolver-typescript":"^2.7.1"},"peerDependencies":{"react":"^18.0.0","@remix-run/react":"^2.0.0","@remix-run/server-runtime":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_1.0.0-alpha_1695118325167_0.0774812325720331","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"remix-i18n","version":"1.0.0","keywords":["remix","i18n","internationalization","translation","localization"],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@1.0.0","maintainers":[{"name":"willin","email":"willin@willin.org"}],"homepage":"https://github.com/willin/remix-i18n#readme","bugs":{"url":"https://github.com/willin/remix-i18n/issues"},"dist":{"shasum":"f696c17ff09772d264ee184187ce7a78af16397d","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-1.0.0.tgz","fileCount":43,"integrity":"sha512-iYhpHCfpw/zhk/R+GAXODxqd5M6lsuidHA/Ge4M+e/IgpRjQ1VNZqsSGYqLa34a4mgOvX6iMmGqAxk3Au+op6w==","signatures":[{"sig":"MEUCIQCUHgYB2G50okqPWSCGWYjGsCgPhD+uVc0o5skxN2SNEgIgHCvz/UTxROU6yYWTAIrLX2RZxhZ9r0wkOAYiy84pzlE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33835},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./browser/index.js","source":"./src/index.ts","browser":"./browser/index.js","gitHead":"0d2c3072cefed430d6c3302b2099120318f37f60","scripts":{"dev":"make document","build":"npm run build:browser && npm run build:main","prepare":"husky install","build:main":"tsc --module CommonJS --outDir ./dist","build:browser":"tsc --module ESNext --outDir ./browser"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"repository":{"url":"git+https://github.com/willin/remix-i18n.git","type":"git"},"_npmVersion":"9.8.0","description":"The fastest solution to translate your Remix apps","directories":{},"_nodeVersion":"20.5.1","dependencies":{"dlv":"^1.1.3","templite":"^1.2.0","@types/dlv":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","react":"^18.2.0","eslint":"^8.49.0","prettier":"^2.8.8","typescript":"^4.9.5","lint-staged":"^12.5.0","@types/react":"^18.2.22","@remix-run/react":"^2.0.0","eslint-plugin-react":"^7.33.2","eslint-plugin-import":"^2.28.1","@willin/eslint-config":"^0.1.1","eslint-plugin-jsx-a11y":"^6.7.1","@remix-run/eslint-config":"^2.0.0","@remix-run/server-runtime":"^2.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-import-resolver-typescript":"^2.7.1"},"peerDependencies":{"react":"^18.0.0","@remix-run/react":"^2.0.0","@remix-run/server-runtime":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_1.0.0_1695118812448_0.18099298309234446","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"remix-i18n","version":"1.0.1","keywords":["remix","i18n","internationalization","translation","localization"],"author":{"url":"https://willin.wang/","name":"Willin Wang","email":"willin@willin.org"},"license":"Apache-2.0","_id":"remix-i18n@1.0.1","maintainers":[{"name":"willin","email":"willin@willin.org"}],"homepage":"https://github.com/willin/remix-i18n#readme","bugs":{"url":"https://github.com/willin/remix-i18n/issues"},"dist":{"shasum":"020c5a906b2e00a41dbafeb19fd4d8fcf1df33a5","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-1.0.1.tgz","fileCount":43,"integrity":"sha512-ZzS9ESOKqH/DCbgR3oobepSdqe1YTDKQVNCQkOBNbnGoaqzK4Qf2+bD8ejrx1nMdfucT0411Ls1ZE2M2+R7yOw==","signatures":[{"sig":"MEUCIHIYVVVZWMT8Z6khrQrd4kOw8BCR5rTT9Ex8dMBCRAq0AiEAgsuVUiIf/mUA8tAFyob/WEJyFhkXijv5H2KfkZ2IKF4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33667},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./browser/index.js","source":"./src/index.ts","browser":"./browser/index.js","gitHead":"2bba9f31e51f51770f5b7980ebdb8fc5438c5006","scripts":{"dev":"make document","build":"npm run build:browser && npm run build:main","prepare":"husky install","build:main":"tsc --module CommonJS --outDir ./dist","build:browser":"tsc --module ESNext --outDir ./browser"},"_npmUser":{"name":"willin","email":"willin@willin.org"},"repository":{"url":"git+https://github.com/willin/remix-i18n.git","type":"git"},"_npmVersion":"9.8.0","description":"The fastest solution to translate your Remix apps","directories":{},"_nodeVersion":"20.5.1","dependencies":{"dlv":"^1.1.3","templite":"^1.2.0","@types/dlv":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","react":"^18.2.0","eslint":"^8.49.0","prettier":"^2.8.8","typescript":"^5.2.2","lint-staged":"^12.5.0","@types/react":"^18.2.22","@remix-run/react":"^2.0.0","@willin/eslint-config":"^0.1.1","@remix-run/eslint-config":"^2.0.0","@remix-run/server-runtime":"^2.0.0"},"peerDependencies":{"react":"^18.0.0","@remix-run/react":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-i18n_1.0.1_1695694006398_0.5940721662244812","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"remix-i18n","version":"2.0.0","description":"[英文文档](./README.md)","types":"./dist/index.d.ts","main":"./dist/index.js","browser":"./browser/index.js","source":"./src/index.ts","module":"./browser/index.js","scripts":{"build":"npm run build:browser && npm run build:main","build:browser":"tsc --module ESNext --outDir ./browser","build:main":"tsc --module CommonJS --outDir ./dist"},"dependencies":{"@types/dlv":"^1.1.5","dlv":"^1.1.3","templite":"^1.2.0"},"peerDependencies":{"react":"^19.1.1"},"devDependencies":{"@types/react":"^19.1.9","typescript":"^5.8.3"},"repository":{"type":"git","url":"git+https://github.com/willin/v0-ss0.git"},"keywords":["remix","i18n","internationalization","translation","localization"],"author":{"name":"Willin Wang","email":"i@v0.md","url":"https://v0.md/"},"license":"Apache-2.0","bugs":{"url":"https://github.com/willin/v0-sso/issues"},"homepage":"https://github.com/willin/v0-sso#readme","_id":"remix-i18n@2.0.0","gitHead":"8cf5c2f0f587790ce99f531b7d93c7a30bd13fa5","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-3nC1pJet6CMWKqqtzzoS2GcygNHdm7/OP5n4AWADZDtTHU9qIy5KMsP4HQONn79f/YqWX6fvVU7nYCA2ol8yhg==","shasum":"6cd0e4c9e59b886194e132671a7f49c326e9db50","tarball":"https://registry.npmjs.org/remix-i18n/-/remix-i18n-2.0.0.tgz","fileCount":18,"unpackedSize":26184,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFJVqh5PEfkxqxhAvGFwaXdXDqfhqf8FVg/En4FbRo+4AiEAx/24zuLf3cE8nZQqgxYY3pRDh9iNzgizXf0k7EZZKxk="}]},"_npmUser":{"name":"willin","email":"willin@willin.org"},"directories":{},"maintainers":[{"name":"willin","email":"willin@willin.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/remix-i18n_2.0.0_1753950417222_0.7632969989297178"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-10T14:38:27.524Z","modified":"2025-07-31T08:26:57.578Z","0.0.0":"2022-02-10T14:38:27.664Z","0.0.1":"2022-02-10T17:16:26.586Z","0.0.2":"2022-02-11T02:34:16.664Z","0.0.3":"2022-02-11T12:09:52.049Z","0.0.4":"2022-02-12T06:32:30.316Z","0.0.5":"2022-02-12T06:44:45.002Z","0.0.6":"2022-02-12T06:46:19.434Z","0.0.7":"2022-02-12T06:48:34.359Z","0.0.8":"2022-02-12T07:02:03.518Z","0.0.9":"2022-02-12T07:13:18.488Z","0.0.10":"2022-02-12T07:15:05.995Z","0.0.11":"2022-02-12T07:51:49.623Z","0.0.12":"2022-02-12T07:57:47.268Z","0.0.13":"2022-02-12T08:02:02.143Z","0.0.14":"2022-02-12T08:07:42.784Z","0.0.15":"2022-02-12T10:17:09.578Z","0.1.0":"2022-02-12T11:54:48.435Z","0.1.1":"2022-02-12T12:31:40.709Z","0.2.0":"2022-02-12T14:34:15.594Z","1.0.0-alpha":"2023-09-19T10:12:05.355Z","1.0.0":"2023-09-19T10:20:12.640Z","1.0.1":"2023-09-26T02:06:46.678Z","2.0.0":"2025-07-31T08:26:57.422Z"},"bugs":{"url":"https://github.com/willin/v0-sso/issues"},"author":{"name":"Willin Wang","email":"i@v0.md","url":"https://v0.md/"},"license":"Apache-2.0","homepage":"https://github.com/willin/v0-sso#readme","keywords":["remix","i18n","internationalization","translation","localization"],"repository":{"type":"git","url":"git+https://github.com/willin/v0-ss0.git"},"description":"[英文文档](./README.md)","maintainers":[{"name":"willin","email":"willin@willin.org"}],"readme":"# Remix I18n\n\n[英文文档](./README.md)\n\n## 概述\nRemix I18n 是一个为 Remix 应用程序设计的国际化库，提供简单易用的 API 来处理多语言支持、翻译和语言切换。\n\n## 安装\n\n```bash\nnpm install @your-org/remix-i18n\n# 或\nyarn add @your-org/remix-i18n\n# 或\npnpm add @your-org/remix-i18n\n```\n\n## 快速开始\n\n### 1. 初始化 I18n 实例\n\n```ts\n// app/i18n.ts\nimport { RemixI18n } from '@your-org/remix-i18n';\n\nexport const i18n = new RemixI18n({\n  supportedLanguages: ['en', 'zh', 'es'],\n  fallbackLng: 'en',\n});\n\n// 设置翻译\nconst enTranslations = {\n  greeting: 'Hello, {{name}}!',\n  welcome: 'Welcome to our application',\n  menu: {\n    home: 'Home',\n    about: 'About',\n    contact: 'Contact',\n  },\n};\n\nconst zhTranslations = {\n  greeting: '你好，{{name}}！',\n  welcome: '欢迎使用我们的应用',\n  menu: {\n    home: '首页',\n    about: '关于我们',\n    contact: '联系我们',\n  },\n};\n\ni18n.set('en', enTranslations);\ni18n.set('zh', zhTranslations);\n```\n\n### 2. 在根组件中提供 I18n 上下文\n\n```tsx\n// app/root.tsx\nimport { I18nProvider } from '@your-org/remix-i18n';\nimport { i18n } from './i18n';\n\nexport default function App() {\n  return (\n    <I18nProvider i18n={i18n}>\n      <Outlet />\n    </I18nProvider>\n  );\n}\n```\n\n### 3. 在组件中使用翻译\n\n```tsx\n// app/routes/index.tsx\nimport { useI18n } from '@your-org/remix-i18n';\n\nexport default function Home() {\n  const i18n = useI18n();\n  return (\n    <div>\n      <h1>{i18n.t('welcome')}</h1>\n      <p>{i18n.t('greeting', { name: 'John' })}</p>\n      <nav>\n        <ul>\n          <li>{i18n.t('menu.home')}</li>\n          <li>{i18n.t('menu.about')}</li>\n          <li>{i18n.t('menu.contact')}</li>\n        </ul>\n      </nav>\n    </div>\n  );\n}\n```\n\n### 4. 切换语言\n\n```tsx\n// app/routes/settings.tsx\nimport { useI18n } from '@your-org/remix-i18n';\n\nexport default function Settings() {\n  const i18n = useI18n();\n\n  const handleLanguageChange = (e: React.ChangeEvent<HTMLSelectElement>) => {\n    i18n.locale(e.target.value);\n  };\n\n  return (\n    <div>\n      <h2>设置</h2>\n      <select value={i18n.locale()} onChange={handleLanguageChange}>\n        <option value=\"en\">English</option>\n        <option value=\"zh\">中文</option>\n        <option value=\"es\">Español</option>\n      </select>\n    </div>\n  );\n}\n```\n\n## API 文档\n\n### RemixI18n 类\n\n#### 构造函数\n```ts\nnew RemixI18n(options: RemixI18nOptions)\n```\n\n##### 参数\n- `supportedLanguages`: 支持的语言列表\n- `fallbackLng`: 回退语言\n\n#### 方法\n\n- `locale(lang?: string): string`\n  获取或设置当前语言\n\n- `set(lang: string, dict: I18nDict): void`\n  设置指定语言的翻译字典\n\n- `t(key: string, params?: any, lang?: string): string`\n  获取翻译，支持参数替换\n\n- `setOnChange(fn: (locale: string) => void): void`\n  设置语言变化时的回调函数\n\n### 组件和钩子\n\n- `I18nProvider` 组件\n  提供 I18n 上下文\n\n- `useI18n()` 钩子\n  获取 I18n 实例\n\n\n## 赞助\n维护者: [Willin Wang](https://v0.md)\n\n如果您对本项目感兴趣，可以通过以下方式支持我：\n\n- 关注我的 Github 账号：[@willin](https://github.com/willin) [![github](https://img.shields.io/github/followers/willin.svg?style=social&label=Followers)](https://github.com/willin)\n- 参与 [爱发电](https://afdian.com/@willin) 计划\n- 支付宝或微信[扫码打赏](https://user-images.githubusercontent.com/1890238/89126156-0f3eeb80-d516-11ea-9046-5a3a5d59b86b.png)\n\n## 许可证\nApache-2.0\n","readmeFilename":"README.zh.md"}