{"_id":"i18n-core","_rev":"32-0d5bbb06061fbc173844bda129966ff2","name":"i18n-core","description":"Basic i18n translation.","dist-tags":{"latest":"3.2.0"},"versions":{"1.0.0":{"name":"i18n-core","version":"1.0.0","description":"Basic i18n translation. ","main":"index.js","scripts":{"test":"lab -c"},"author":"","license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"342c2cb85bd5bbaa3522a3f258bc96389d3a54b1","_id":"i18n-core@1.0.0","_shasum":"dd074c7ee346b86be0f9a85330dc764c48bab626","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"dd074c7ee346b86be0f9a85330dc764c48bab626","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.0.0.tgz","integrity":"sha512-dgbqPPMW+3fZCUfijA9aKhg+0px2dSIuNFoW91yzIqvTU+Kq+vh/fPnsyWp5FCIwJ/6b8yQy2F+h11+fMoXG9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbX97GAWd0WD1zkFjUcSXP/P0lMJOYNycmkqeQfkywhQIgJlo5adkaSHo7bHnXVDRFDKRomNC6KLgSiJjfnB/G0Ro="}]}},"1.0.1":{"name":"i18n-core","version":"1.0.1","description":"Basic i18n translation. ","main":"index.js","scripts":{"test":"lab -c"},"author":"","license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"683a76736d012ad4b46c4828838ef60f6bcdf9ce","_id":"i18n-core@1.0.1","_shasum":"5cc4301ebc1f69bd0bb80b5cf27cc62f8a6565e7","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"5cc4301ebc1f69bd0bb80b5cf27cc62f8a6565e7","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.0.1.tgz","integrity":"sha512-gK4fI1KSiIl/kw4aSQjrWp8B/tDwbCdAXnkYnksrk54OixbMfqF8pzemHMXFbgNDi+zCoov10qhznLV03IStnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC50sMjGy0IWxo7hWKhojvASm8oQZUKbGHxXg27UyEQFQIhAOSfkGh/IUmSDjPyNVn2pmvBckngc8EU5yiORncrB+Vg"}]}},"1.1.0":{"name":"i18n-core","version":"1.1.0","description":"Basic i18n translation. ","main":"index.js","scripts":{"test":"lab -c"},"author":"","license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"ec8d1fcaa95c01483c763113da1329ac321fd158","_id":"i18n-core@1.1.0","_shasum":"7f300cf318c097f79ca2f664afc7a2124929892f","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"7f300cf318c097f79ca2f664afc7a2124929892f","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.1.0.tgz","integrity":"sha512-7a47YSpr+mrh+gYNW4Bodle+CeyuP/+oLagMEagCtfReY7GRFscrv1p+lhg74ce4T06xjuOj90Zmw9/b7GuGiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBPvSRPtZ97tLW9+e3WJcsca+PVXHmFidkEkyowZ+gqAIgPL8NTdWrWdGK39+eYm5T/S2gyd/BuhGa+xo/ldmdxt8="}]}},"1.2.0":{"name":"i18n-core","version":"1.2.0","description":"Basic i18n translation. ","main":"index.js","scripts":{"test":"lab -c"},"author":"","license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"0bef1d608c8486c046dcbfd88b299f12a8f92ec8","_id":"i18n-core@1.2.0","_shasum":"6366c95f08027f052972aba51ed8b678282d385f","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"6366c95f08027f052972aba51ed8b678282d385f","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.2.0.tgz","integrity":"sha512-VhPIxwGc4Fyg6STKtWcB0oebSv4BlI8kPNdPDe42EBUXaLxQBClldE2fFaibbKFZCwJOVIkQMC/TkvKeuFYNEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXt0nDGWkVR90Fh0DGQYGyC7BCV0UN5tugt908ktdTrAiEA6/WEDi0GZwaOLNQYmQIPgKDHMHoiQybg4BP3Z187wJg="}]}},"1.3.0":{"name":"i18n-core","version":"1.3.0","description":"Basic i18n translation. ","main":"index.js","scripts":{"test":"lab -c"},"author":"","license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"44a76aa99d9e812b4a2fb67bdda06a2def23523f","_id":"i18n-core@1.3.0","_shasum":"de0a9fc0b874c9fac24368a21f6fd7531619e344","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"de0a9fc0b874c9fac24368a21f6fd7531619e344","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.3.0.tgz","integrity":"sha512-M9MsTGMImb6x6tZ1i57hiUK7pCP6j2yc5VV46xaKPOuPLXq+xaotJq/nxab7EUcc6zX63Ur+JPA/ta3AhdXbzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDS4weDk9ndbiR58VuiNoffHSGqwllOvfbp7q099UXllgIgNVVWjJQFlOZglPhi3fe42bj6hx9L0+CrC0Ha0AecX38="}]}},"1.3.1":{"name":"i18n-core","version":"1.3.1","description":"Basic i18n translation.","main":"index.js","scripts":{"test":"lab -c"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"repository":{"type":"git","url":"git@github.com:martinheidegger/i18n-core.git"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"44a76aa99d9e812b4a2fb67bdda06a2def23523f","_id":"i18n-core@1.3.1","_shasum":"fef12c4d1243a36a4dfc9d908382e78b6a0cbb1a","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"fef12c4d1243a36a4dfc9d908382e78b6a0cbb1a","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.3.1.tgz","integrity":"sha512-hIK5ipt5aov+rIOjbpeVGIoWjXlRZeVSwgBN5nsa/1uHBSssZKTLPYIvKUmuycqc7/oreCodRJxeWi/7tYzKWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRxyMIHTE9PmDeh7KfsK/RSkecja/e4IH8f//YgopJ/gIgJ6WiVUvlTLhkaD5EHZH8x0dtxSzCq/8b0Q8SCuOpTOs="}]}},"1.3.2":{"name":"i18n-core","version":"1.3.2","description":"Basic i18n translation.","main":"index.js","scripts":{"test":"lab -c"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","dependencies":{"mockery":"^1.4.0","mustache":"^0.8.2","sprintf":"^0.1.4"},"repository":{"type":"git","url":"git@github.com:martinheidegger/i18n-core.git"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0"},"gitHead":"f7c76307f6317be719ff6ad9a46fbc48882df009","_id":"i18n-core@1.3.2","_shasum":"d2aa65b5f193e217da0fd9da613bf0a3b5d54822","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"d2aa65b5f193e217da0fd9da613bf0a3b5d54822","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.3.2.tgz","integrity":"sha512-M7BApwrXKGWWqGtAP00kw5oSAwpCWrNbR2hmH5894Csp+diEMJNYO+dACbTC29E8T34yE5yXkeEsQVNNoPk0Jw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkLyDApogO25dVn76FemOuHT9vqNvkPDu/h+f9v84yBAiEA767Y2QBHbOLDcYYL7zidnC6xCnB10I8RUS5R4gHDccs="}]}},"1.3.3":{"name":"i18n-core","version":"1.3.3","description":"Basic i18n translation.","main":"index.js","scripts":{"test":"lab -c"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","dependencies":{"mustache":"^0.8.2","sprintf":"^0.1.4"},"repository":{"type":"git","url":"git@github.com:martinheidegger/i18n-core.git"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0","mockery":"^1.4.0"},"gitHead":"605c407f1d0e40815dfa1f6ad55c6d7db7e8b48d","_id":"i18n-core@1.3.3","_shasum":"5166892b0e752354445e032f0146c2d13bfe8540","_from":".","_npmVersion":"2.7.0","_nodeVersion":"0.12.0","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"5166892b0e752354445e032f0146c2d13bfe8540","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-1.3.3.tgz","integrity":"sha512-yBBpA4sf7eAEWwMp7g7j6a2lBHuLVi8lWGyEX1d6iyYDpCrqZGooRQV1xTrMbnW9m/qm+VoDbJQM/0jc8C3+IA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnN4ZlhJX952u4Onr5BRtTxmGojTG4CeXr7zt9/MMSzwIhALULUepZAFNM8JLQ+DbnLiYHBWC5ahQ7L9M7tVaEfYDz"}]}},"2.0.0":{"name":"i18n-core","version":"2.0.0","description":"Basic i18n translation.","main":"index.js","scripts":{"test":"lab -c"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","dependencies":{"mustache":"^0.8.2","sprintf":"^0.1.4"},"repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0","mockery":"^1.4.0"},"gitHead":"56d1f7e3a3087c93bc48435e3a1352bbffc3cf02","_id":"i18n-core@2.0.0","_shasum":"e0653fc2b8e8b13b6b495f3ceb34d96dc7752481","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"e0653fc2b8e8b13b6b495f3ceb34d96dc7752481","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-2.0.0.tgz","integrity":"sha512-iYlnQBv3C7FcQPrr5fae2Y/0srFAkeTCxGyLSQmPFzVGZg27mCntuT4eoIuMBDAzFO7qL1OpGGGrx3QTszu0Vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDNLEmV/qQgBNJPaca3ntnlQ7HcpYwzrnXIVExPo6z0wIhAMrQi2lLcHDuuHitvtnyehf4hc2y8XhN2sPvIzRSdhzz"}]}},"2.1.0":{"name":"i18n-core","version":"2.1.0","description":"Basic i18n translation.","main":"index.js","scripts":{"test":"lab -c"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","dependencies":{"mustache":"^0.8.2","sprintf":"^0.1.4"},"repository":{"type":"git","url":"git@github.com:martinheidegger/i18n-core.git"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0","mockery":"^1.4.0"},"gitHead":"65bd2ee7c536833bd593eb98bf36593919a38f3c","_id":"i18n-core@2.1.0","_shasum":"74b4cad78387ff4a2b29688f80029235d9a13188","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"74b4cad78387ff4a2b29688f80029235d9a13188","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-2.1.0.tgz","integrity":"sha512-9j4SF247U8x8hsoKDRPxkj5+6qGn6C8xs4m1hAwB5PxNYINDGw2QFiovQhIsHUmae3N2DYCRMv5uJieonfE8xA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlec1Q7QkZ7/iccn4oVS0wpG9O8N+5Ok3b2gftyjEFkgIgWp/2oDXot/HGzZkdlhbB8Hz7Eu3ub9E0aoB6S54Ct0w="}]}},"2.1.1":{"name":"i18n-core","version":"2.1.1","description":"Basic i18n translation.","main":"index.js","scripts":{"test":"lab -c"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","dependencies":{"mustache":"^0.8.2","sprintf":"^0.1.4"},"repository":{"type":"git","url":"git@github.com:martinheidegger/i18n-core.git"},"devDependencies":{"code":"^1.2.1","lab":"^5.1.0","mockery":"^1.4.0"},"gitHead":"3d4aef63c340e59da162a535847d5fc23c1572a2","_id":"i18n-core@2.1.1","_shasum":"97830274b3ce63e2ea6796256e048a49af56cc14","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"97830274b3ce63e2ea6796256e048a49af56cc14","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-2.1.1.tgz","integrity":"sha512-a9TlYeXewVuIu2LpF7S3XbiDOB6EWrqLf79RPBTYdn2hAfMGCyIuT8qjKBNhK8VTwShT4JLuDQvWIJuZU6LniA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICL2WepKVi5iuAcpJmd+xQ871PfLMaZW7mBZosKMpyK+AiEAih0SVUfA4IDn9igCo1kRmOkfPkIqwCXOJ10A2kCGgrA="}]}},"3.0.0":{"name":"i18n-core","version":"3.0.0","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"if-env CODECLIMATE_REPO_TOKEN && npm run cov:code-climate || npm run test:simple","test:simple":"if-env CI=true && npm run test:unit || npm run test:dev","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"if-env CODECLIMATE_REPO_TOKEN && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint .","release":"standard-version"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"csv-stringify":"^1.0.4","eslint":"^3.13.1","eslint-config-standard":"^6.2.1","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","if-env":"^1.0.0","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^9.0.3"},"gitHead":"b48c77c078d86ce620471f46f31ec680a8b35e13","_id":"i18n-core@3.0.0","_shasum":"23beda4fd7e9dcd0402aafbf6771cd1339ba8f5d","_from":".","_npmVersion":"4.1.1","_nodeVersion":"7.2.1","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"shasum":"23beda4fd7e9dcd0402aafbf6771cd1339ba8f5d","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.0.0.tgz","integrity":"sha512-wzNTk/9U6GUA12rhPyy3zzmaOkuyGeAADVxmPH3yUTiQEjqk3IcVencz0qGr4fQAan6amTYoW0QaDAhrmDkqeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHawt2enH8f1zTKCYlEExiZ2v9u9QqTNaM5rGEPg3D8AIgRhyLk6Zp+l+hy0WTrwxKfxDx7dfxhUcvX+H3Ft1LtBc="}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/i18n-core-3.0.0.tgz_1487526279640_0.12605614541098475"}},"3.1.0":{"name":"i18n-core","version":"3.1.0","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"if-env CODECLIMATE_REPO_TOKEN && npm run cov:code-climate || npm run test:simple","test:simple":"if-env CI=true && npm run test:unit || npm run test:dev","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"if-env CODECLIMATE_REPO_TOKEN && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint .","release":"standard-version"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"csv-stringify":"^1.0.4","eslint":"^3.13.1","eslint-config-standard":"^6.2.1","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","if-env":"^1.0.0","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^9.0.3"},"gitHead":"828079a6df7dd7222a9817426176de33047c019a","_id":"i18n-core@3.1.0","_shasum":"328ed1b78088e8211499625ce621855ad2533b5b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.1.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"shasum":"328ed1b78088e8211499625ce621855ad2533b5b","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.1.0.tgz","integrity":"sha512-SYgpFhaD5Q/YykExx7ZbcGR3JkPEk3YqYxLQR49gsf6AAO8zZRs5kAm0O1+NkZrb57C7smJXdd2Oycxp3Zo3Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPWJDoW2wPKjKAXezovnZxwOBwTr7F1kotvLd5GlgKMAIhAPQOC/y6LlwA4FFbSUQjiEd9gThZSGWbqLpjX0HI/cNm"}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.1.0.tgz_1496020565547_0.9342036375310272"}},"3.1.1":{"name":"i18n-core","version":"3.1.1","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"if-env CODECLIMATE_REPO_TOKEN && npm run cov:code-climate || npm run test:simple","test:simple":"if-env CI=true && npm run test:unit || npm run test:dev","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"if-env CODECLIMATE_REPO_TOKEN && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint .","release":"standard-version"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"csv-stringify":"^1.0.4","eslint":"^3.13.1","eslint-config-standard":"^6.2.1","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","if-env":"^1.0.0","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^9.0.3"},"gitHead":"424ca47b56d5918db9e10000e13d21fd633d52cf","_id":"i18n-core@3.1.1","_shasum":"702b14cd2b489769da582ca06d0f05fd538b2691","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.1.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"shasum":"702b14cd2b489769da582ca06d0f05fd538b2691","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.1.1.tgz","integrity":"sha512-d5kPsL83L+E2JaLDCuitLneM7Z+UggIUGNSrliyndVpF2gChoKtq3YcAdxy6es4ynco5m7kihgM0MwnA7iCKqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICUol9Abyvaxlkl0QcBKexxOYsWz0wbkZ0+Lh+MhW2flAiBFjqSeY7v89kGs186mCY+TqZDWO/K6Z6NFur2oOpZVVA=="}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.1.1.tgz_1496051568984_0.4139148585963994"}},"3.1.2":{"name":"i18n-core","version":"3.1.2","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run test:simple || npm run cov:code-climate","test:simple":"[ -z \"$CI\" ] && npm run test:dev || npm run test:unit","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint --ignore-path .gitignore .","release":"npm shrinkwrap && standard-version -s"},"eslintConfig":{"extends":"standard"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"acorn-jsx":"^4.0.1","codeclimate-test-reporter":"github:codeclimate/javascript-test-reporter#97f1ff2cf18cd5f03191d3d53e671c47e954f2fa","csv-stringify":"^1.0.4","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.3.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","mockery":"^2.0.0","nyc":"^10.3.2","standard-version":"^4.0.0","tap":"^10.3.2"},"dependencies":{},"gitHead":"2ad17ef37fee603c56be776021e4400f0afd6891","_id":"i18n-core@3.1.2","_npmVersion":"5.0.0","_nodeVersion":"7.9.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"integrity":"sha512-7bxggDFl0KGHQN+e6w/jRiMcjJWWnG3smox8mSjyqrss1aIF/uIG7mStu30HuM1L/QUXmVzearbEFnkrrPgf8Q==","shasum":"bbda1d49d53d25dfbf2cf66e6fcc6465ba6b3646","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0hP9P1Z9uVMeQOdMuTjnTUBCf4AYV352WbSvzz0AkKwIhALP/fPEA0egMm7sx9huKIYy3LiJTsajK0EPN63Ph8mKs"}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.1.2.tgz_1496064983155_0.7448720182292163"}},"3.1.3":{"name":"i18n-core","version":"3.1.3","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run test:simple || npm run cov:code-climate","test:simple":"[ -z \"$CI\" ] && npm run test:dev || npm run test:unit","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint --ignore-path .gitignore .","release":"npm shrinkwrap && standard-version -s"},"eslintConfig":{"extends":"standard"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"codeclimate-test-reporter":"github:codeclimate/javascript-test-reporter#97f1ff2cf18cd5f03191d3d53e671c47e954f2fa","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^10.3.2"},"dependencies":{},"gitHead":"190a68469c15f3a63b9dc435f66d95bfd4f778cf","_id":"i18n-core@3.1.3","_npmVersion":"5.0.0","_nodeVersion":"7.9.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"integrity":"sha512-LMaraa3dCfoZifC/wixxbIIn3IUB4KrDrKFtO2nos3pqhi8P3duGZQegP8opbbEJfeQQ99JlW6YXLRnkS+3y4w==","shasum":"a57c038d4891fe8159f1bf824cc5f437da891cc0","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVbJqTcUTMPMmicDQ8/bmPkKCr/v63t3visS6Nj8SrjgIhALjGntMDXwxCUN3N1ZQbgmzd9sv3mg6cPu7pqULZjwee"}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.1.3.tgz_1496116651740_0.20968473958782852"}},"3.1.5":{"name":"i18n-core","version":"3.1.5","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run test:simple || npm run cov:code-climate","test:simple":"[ -z \"$CI\" ] && npm run test:dev || npm run test:unit","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint --ignore-path .gitignore .","release":"npm shrinkwrap && standard-version -s"},"eslintConfig":{"extends":"standard"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"codeclimate-test-reporter":"github:codeclimate/javascript-test-reporter#97f1ff2cf18cd5f03191d3d53e671c47e954f2fa","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^10.3.2"},"dependencies":{"escape-html":"^1.0.3"},"gitHead":"e6f784111f78996bb52c1d08bb6d65765aea3d05","_id":"i18n-core@3.1.5","_npmVersion":"5.0.0","_nodeVersion":"7.9.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"integrity":"sha512-nouG3iJD40xP1oJLUU1ZsfWHjGxwafeq7AfRLdHI+5Xjz4lYRXB0bG+vd5Pyp8EftTP79WhtekRBZ+Vf1pQSng==","shasum":"992ac2087749b0373ab296b546b9a119e59b1377","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBF0P4xQu5dWq5b2mIAAMJbuw6APaRh8NcCL8YrYjD9QIgI51t/KVYRt44hcHFbfjKYKpMjdfO7WjAVsgtUwf8Z+U="}]},"maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.1.5.tgz_1496155356326_0.22076354268938303"}},"3.1.6":{"name":"i18n-core","version":"3.1.6","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run test:simple || npm run cov:code-climate","test:simple":"[ -z \"$CI\" ] && npm run test:dev || npm run test:unit","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint --ignore-path .gitignore .","release":"npm shrinkwrap && standard-version -s"},"eslintConfig":{"extends":"standard"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"codeclimate-test-reporter":"github:codeclimate/javascript-test-reporter#97f1ff2cf18cd5f03191d3d53e671c47e954f2fa","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.3.0","eslint-plugin-node":"^5.0.0","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^10.3.3"},"dependencies":{"escape-html":"^1.0.3"},"gitHead":"abaf2193e410529b5c6de0f30da04791ac85afcc","_id":"i18n-core@3.1.6","_npmVersion":"5.0.3","_nodeVersion":"7.9.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"integrity":"sha512-BAcbGdyq6DmcIKsaGO7EFBvzzi0ljWjp/NSoz2ytnvLu4HxhH/dNJQnvq/kXRq2cPO4iOZtYaBU9bW/CFlIgbg==","shasum":"35945400fb41e26d87fed01ecda1808288fde678","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9aQXeaPYAPzriLCosS3oNbtE9C1tHbQ6LxoJSHjsX9AIhAP0i76L1r2OoiSuhxXo7qL4Ra9YQPEGNeGSRwrExypY3"}]},"maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.1.6.tgz_1497023712191_0.3838256713934243"}},"3.2.0":{"name":"i18n-core","version":"3.2.0","description":"Basic i18n translation.","main":"index.js","config":{"tests":"test/**/*.js test/*.js"},"scripts":{"test":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run test:simple || npm run cov:code-climate","test:simple":"[ -z \"$CI\" ] && npm run test:dev || npm run test:unit","test:dev":"npm run lint && npm run cov:dev","test:unit":"tap -- $npm_package_config_tests","cov":"[ -z \"$CODECLIMATE_REPO_TOKEN\" ] && npm run cov:code-climate || npm run cov:dev","cov:code-climate":"tap --coverage --coverage-report=text-lcov -- $npm_package_config_tests | codeclimate-test-reporter","cov:dev":"tap --coverage --coverage-report=html -- $npm_package_config_tests","lint":"eslint --ignore-path .gitignore .","release":"npm shrinkwrap && standard-version -s"},"eslintConfig":{"extends":"standard"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"homepage":"https://github.com/martinheidegger/i18n-core","bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"devDependencies":{"codeclimate-test-reporter":"github:codeclimate/javascript-test-reporter#97f1ff2cf18cd5f03191d3d53e671c47e954f2fa","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.3.0","eslint-plugin-node":"^5.0.0","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","mockery":"^2.0.0","standard-version":"^4.0.0","tap":"^10.3.3"},"dependencies":{"escape-html":"^1.0.3"},"gitHead":"262d5e1e3e31d0929e2983a7f7a331c5723b15b4","_id":"i18n-core@3.2.0","_npmVersion":"5.0.3","_nodeVersion":"7.9.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"integrity":"sha512-4tNStjxSyIcmOip3Ry6OHhHLPNuNjXtl5TCnFCXMO10kbjLA6SV4ZCkzTCK4vN3NyD7kOEwmbI9uHgXdiHk0hw==","shasum":"45048ff3ea74ba2cd74da3ac57dfd19aff79784c","tarball":"https://registry.npmjs.org/i18n-core/-/i18n-core-3.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcVb1j0NPxQciVNdbvPO2nhK0LGrSVlXX3JkAHWPxxXQIhAPBHRGnAUsfvYdYaBVg7n5I/S+0tDSIECz9BFYLsIBxE"}]},"maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/i18n-core-3.2.0.tgz_1497841126763_0.4365986578632146"}}},"readme":"# i18n-core\n\n[![Join the chat at https://gitter.im/martinheidegger/i18n-core](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/martinheidegger/i18n-core?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)\n[![Build Status](https://travis-ci.org/martinheidegger/i18n-core.svg)](https://travis-ci.org/martinheidegger/i18n-core)\n[![Code Climate](https://codeclimate.com/github/martinheidegger/i18n-core/badges/gpa.svg)](https://codeclimate.com/github/martinheidegger/i18n-core)\n[![Test Coverage](https://codeclimate.com/github/martinheidegger/i18n-core/badges/coverage.svg)](https://codeclimate.com/github/martinheidegger/i18n-core/coverage)\n\n[i18n-core](https://github.io/martinheidegger/i18n-core) is a no-fuzz Node.js\nimplementation of i18n. It doesn't connect to express or any other fancy Node\nframework and is extensible where it needs to be and allows to reduce the\ncomplexity of other i18n implementations (thus the name).\n\nIt implements basic variable replacements in the mustache and sprintf manner.\n\n## Installation\n\nTo use *i18n-core* all you need to do is install it using ```npm```\n\n```bash\nnpm i i18n-core --save\n```\n\n## Usage\n\n```JavaScript\nvar i18n_core = require('i18n-core')\nvar i18n = i18n_core({greeting: 'hello!'})\ni18n.__('greeting') // hello!\n```\n\nTo have different namespaces for different languages you can get a prefixed\ntranslations using `.section()`.\n\n```javascript\n\nvar i18n = i18n_core({\n  en: { greeting: 'hello!' },\n  de: { greeting: 'guten tag!' }\n})\n\nvar en = i18n.section('en')\nen.__('greeting') // hello!\n\nvar de = i18n.section('de')\nde.__('greeting') // guten tag!\n```\n\n_Note:_ `.section(<section>)` is the same thing as `.prefix(<section> + '.')`\n\n## Lookups\n\nThe system is based on `lookup` implementations that allow the system to use\ndifferent sources to get its strings from. The examples before used an object\nand because of this the former example would be equal to:\n\n```javascript\nvar i18n = i18n_core(require('i18n-core/lookup/object')({greeting: 'hello!'}))\n```\n\nIf you were to pass in a string to `i18n-core` instead like this:\n\n```javascript\nvar i18n = i18n_core('./')\n```\n\nThen it would be equal the primitive **file-system** lookup same like this:\n\n```javascript\nvar i18n = i18n_core(require('i18n-core/lookup/fs')('./'))\n```\n\nYou can pass in your own strategy by given an object to the constructor that\ncontains a \"get\"-method:\n\n```javascript\nvar i18n = i18n_core({\n  get: function (key) {\n    return null // Who needs translation anyway?\n  }\n})\n```\n\nIn case you need to have several strategies that need to be chained you can use\nthe **chain lookup**:\n\n```javascript\nvar i18nChain = require('i18n-core/lookup/chain')\nvar i18nObject = require('i18n-core/lookup/object')\nvar i18n = i18n_core(i18nChain(i18nObject({a: 'x'}), i18nObject({a: 0, b: 1})))\ni18n.__('a') // x\ni18n.__('b') // 1\n```\n\nIn case you have an `i18n` object that you want to use as lookup for another\n`i18` object you can **extend** them:\n\n```javascript\nvar i18nExtend = require('i18n-core/lookup/extend')\nvar i18nObject = require('i18n-core/lookup/object')\nvar i18nA = i18n({a: 'x'})\nvar i18nB = i18n(i18nExtend(i18nA, i18nObject({\n  b: 1\n})))\n\ni18n.__('a') // x\ni18n.__('b') // 1\n```\n\n## Substitution\n\n*i18n-core* does implement basic placeholder replacements like:\n\n```javascript\nen.__('%s is cool', 'he') // 'he is cool'\n```\n\nfollowing the logic of [`sprintf`](https://github.com/maritz/node-sprintf).\n\nIt also offers [`mustache`](https://github.com/janl/mustache.js)-like pattern\nreplacement like this:\n\n```javascript\nen.__('{{name}} are cool too', {name: 'you'}) // 'you are cool too'\n```\n\n### Substitution variants\n\nBy default `i18n-core` does not have any dependencies and the default\nsubstitution is `mustache`-like and `sprintf`-like with limited compatibility.\n\n_Note:_ Without `mustache` and `sprintf` installed, it will use\n`require('i18n-core/simple')`\n\nIn order to get full compatibility you can simply install the peer dependency.\n\n```\nnpm i mustache sprintf --save\n```\n\n_Note:_ **With** `mustache` and `sprintf` installed, it will use\n`require('i18n-core/full')`\n\nIt is furthermore possible to customize the formatting by specifying own\nimplementations:\n\n```javascript\nvar i18n_core = require('i18n-core')\ni18n_core.mustache = require('mustache')\ni18n_core.vsprintf = require('sprintf').vsprintf\n```\n\n## Advanced Namespaces\n\nIt is possible to chain translation prefixes like this:\n\n```javascript\nvar at = i18n_core({de:{at: {hello: 'Zewas!'}}}).section('de').section('at')\nat.__('hello') // Zewas!\n```\n\nand you can also change the chain if you want to.\n\n```javascript\nvar translate = i18n_core({\n  de: {title: 'Meine Webseite'},\n  en: {title: 'My Website'}\n}).section('de', true) // <- this true is important :)\ntranslate.__('title') // Meine Website\ntranslate.changeSection('en')\ntranslate.__('title') // My Website\n```\n\nTo prevent malicious use the changing of the section is prevented unless you\npass a `true` flag to it.\n\nIn some instances it is necessary to know in advance if a key has a value or\nnot, in this case you can use `has`.\n\n```javascript\nvar translate = i18n_core({title: 'My Website'})\ntranslate.has('title') // true\ntranslate.has('subtitle') // false\n```\n\nAdditionally, for module development, its possible to access the raw data\nusing `raw`:\n\n```javascript\nvar translate = i18n_core({no: {val: 5}})\ntranslate.raw('no') // {val: 5}\n```\n\n## Listening to changes\n\nSince you can change translation nodes it is, in an interactive environment,\ngood to have a way to be informed about changes. `i18n-core` has a **very**\nlight-weight and fast event implementation tailored to the process.\n\n```javascript\nconst parent = i18n_core({\n  de: {\n    site: {\n      title: 'Meine Webseite'\n    }\n  },\n  en: {\n    site: {\n      title: 'My Website'\n    }\n  }\n}).section('de', true)\nconst translate = parent.section('site')\ntranslate.__('title') // Meine Webseite\ntranslate.on('contextChange', function () {\n  translate.__('title') // My Website\n})\nparent.changeSection('en')\n```\n\n## Absolute Lookups\n\n`i18n-core` supports the use of absolute roots. Absolute roots allow to lookup\nentries in absolute locked roots rather than the given level.\n\n```javascript\nvar translate = i18n_core({\n  title: 'Meine Webseite',\n  sectionA: {\n    title: 'Lebenslauf'\n  }\n})\n\nvar sub = translate.section('sectionA')\nsub('title') // Lebenslauf\nsub.abs('title') // Meine Webseite\n```\n\nThis allows to crate things like footers where you can pass one section to a\nmodule and it is still able to access absolute code.\n\nHowever, this also creates the problem that subsections _(for languages)_ can be\nescaped from. In order to prevent that, you can lock the absolute root to\n`.lock()`. You can lock any section and any subsequent sections will get the\nsame root.\n\n```javascript\nvar translate = i18n_core({\n  de: {\n    title: 'Meine Webseite',\n    sectionA: { title: 'Lebenslauf' }\n  },\n  en: {\n    title: 'My Website',\n    sectionA: { title: 'Curriculum Vitae' }\n  }\n})\nvar lang = translate\n  .section('de', true)\n  .lock() // This locks the absolute root to the language level\n\nvar sub = lang.section('sectionA')\nsub('title') // Lebenslauf\nsub.abs('title') // Meine Webseite\n\nlang.changeSection('en')\nsub('title') // Curriculum Vitae\nsub.abs('title') // My Website\n```\n\nPrefixing every absolute lookup with `abs` can get tedious that is why there is\nalso the possibility to use `absSection` that, like `section`, returns a new\ntranslation object where every call assumes a particular absolute section.\n\n```javascript\nvar translate = i18n_core({\n  en: {\n    sectionA: {\n      title: 'Curriculum Vitae'\n    },\n    menu: {\n      about: 'About Me'\n    }\n  }\n})\nvar lang = translate.section('en', true).lock()\n\nvar sectionA = lang.section('sectionA')\nsectionA('title') // Curriculum Vitae\nvar menu = sectionA.absSection('menu')\nmenu('about') // About Me\n```\n\nFor your convenience there is also the `.root()` alias for `.absSection('')`.\n\n## Core API's\n\nThe default API is made to provide a simple solutions to common problems but\n`i18n-core` also offers a reduced, faster API without conveniences. You can get\naccess to the core by using `require('i18n-core/core')`.\n\n```javascript\nvar core = require('i18n-core/core')({\n  get: function lookupValue (key) {\n    return // Return a value for the key or undefined\n  }\n}, function translate (value, fallbackKey, namedArgs, args) {\n  // value ......... value that should be translated\n  // fallbackKey ... fallbackKey that should be passed on to `fallback`\n  // namedArgs ..... named arguments passed in through the API, can be undefined\n  // args .......... regular arguments passed in through the API, can be undefined\n})\ncore.get(key) // looks up a key\ncore.has(key) // .get(key) !== undefined\n\n// translate the key with named & regular args\ncore.translate(key, namedArgs, args)\n\n// translate the first found entry with a fallback\n// keys .......... Array of keys to test\n// fallbackKey ... Key to be passed on to `fallback`\n// namedArgs ..... `namedArgs` to be used when translating\n// args .......... `args` to be used when translating\ncore.translateFirst(keys, fallbackKey, namedArgs, args)\n\n// Creates an api node where each key is prefixed\n// prefix .............. prefix to be set for each translation request\n// allowModification ... allows changePrefix API\ncore.prefix(prefix, allowModification)\n\n// Creates an api node where each key is prefixed to an absolute root\n// prefix .............. prefix to be set for each translation request\n// allowModification ... allows changePrefix API\ncore.absPrefix(prefix, allowModification)\n\n// Changes the prefix of the API (undefined when modification forbidden)\ncore.changePrefix(prefix)\ncore.lock(locked) // Locks, unlocks the absolute root.\ncore.absRoot // Holds the root fallback\n\n// Fields used for internal processing\ncore.parent // Parent node (or undefined)\ncore.translator // Quick lookup of the translation method\ncore.currentPrefix // Prefix of the current node '' == null\n\ncore.on(type, handler) // Listen to changes of `changeContext`\ncore.off(type, handler) // Remove the handler\n```\n\n## Outro\n\nIf you have any questions, please post them as issue, thanks!\n","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"time":{"modified":"2022-06-18T23:45:44.374Z","created":"2014-11-28T09:36:38.925Z","1.0.0":"2014-11-28T09:36:38.925Z","1.0.1":"2014-12-10T09:03:30.587Z","1.1.0":"2014-12-14T17:04:50.377Z","1.2.0":"2014-12-23T14:58:52.365Z","1.3.0":"2014-12-23T15:14:09.780Z","1.3.1":"2014-12-23T15:19:55.751Z","1.3.2":"2014-12-24T05:12:38.405Z","1.3.3":"2015-03-17T04:29:52.855Z","2.0.0":"2015-09-17T18:07:40.482Z","2.1.0":"2015-09-18T14:46:48.632Z","2.1.1":"2015-09-21T16:29:10.366Z","3.0.0":"2017-02-19T17:44:41.724Z","3.1.0":"2017-05-29T01:16:05.766Z","3.1.1":"2017-05-29T09:52:49.202Z","3.1.2":"2017-05-29T13:36:23.316Z","3.1.3":"2017-05-30T03:57:31.926Z","3.1.4":"2017-05-30T10:53:07.370Z","3.1.5":"2017-05-30T14:42:36.432Z","3.1.6":"2017-06-09T15:55:12.329Z","3.2.0":"2017-06-19T02:58:46.898Z"},"license":"ISC","readmeFilename":"Readme.md","homepage":"https://github.com/martinheidegger/i18n-core","repository":{"type":"git","url":"git+ssh://git@github.com/martinheidegger/i18n-core.git"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"bugs":{"url":"https://github.com/martinheidegger/i18n-core/issues"}}