{"_id":"enb-bem-i18n","_rev":"31-620654704ac089bd49c1c7a9259832c8","name":"enb-bem-i18n","description":"BEM.I18N support for ENB","dist-tags":{"latest":"1.1.1","beta":"1.0.0-beta7","old":"0.5.1"},"versions":{"0.1.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.1.0","repository":{"type":"git","url":"git://github.com/enb-make/enb-bem-i18n"},"homepage":"https://github.com/enb-make/enb-bem-i18n","bugs":{"url":"https://github.com/enb-make/enb-bem-i18n/issues"},"licenses":[{"type":"MIT","url":"https://github.com/enb-make/enb-bem-i18n/blob/master/LICENSE"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.1 < 1.0.0"},"devDependencies":{"enb":">= 0.11.1 < 1.0.0","enb-validate-code":"0.0.1","jshint":"2.5.1","jscs":"1.4.5"},"scripts":{"test":"npm run lint","lint":"jshint . && jscs -c .jscs.js ."},"_id":"enb-bem-i18n@0.1.0","_shasum":"e1225b577a672638c74129b7b3b7d4e506a2c7d1","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"andrewblond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"andrewblond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"e1225b577a672638c74129b7b3b7d4e506a2c7d1","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.1.0.tgz","integrity":"sha512-LCU0fhIA7IkqXQ9LjcLFftoZH1IeJOZy8aB1q8yibrJs6Em13qIU8954rPfvXVvFSaJ0inbSHNygiWYGVP8AYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArHoWGGVIy7sEwUZOvnSYp2E5vqtGfZ7w1jdZ+Ue4fOAiA3bjWvkkYhiTKsSdIMad2ewQydvkT206304CRb2ZnGBQ=="}]}},"0.1.1":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.1.1","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MIT","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"vow":"0.4.5"},"devDependencies":{"enb":">= 0.11.0 < 1.0.0","enb-validate-code":"0.0.1","jshint":"2.5.4","jscs":"1.4.5"},"scripts":{"test":"npm run lint","lint":"jshint . && jscs -c .jscs.js ."},"gitHead":"400b3cce3e61193080cd04361de9d8d383dff7e6","_id":"enb-bem-i18n@0.1.1","_shasum":"125f2cb6dd09e32153486edcb6604ecfabf70ff5","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"andrewblond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"andrewblond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"125f2cb6dd09e32153486edcb6604ecfabf70ff5","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.1.1.tgz","integrity":"sha512-UB6Q71PfW6U5YTLxfnd+5FfY+9xoxAK0WQcIeYJKmXT0rsCWvZ/ANHaZwrSK4a9p1buW0Bzn6OajqMXD6aOFyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPpJVaTI33PEkCdxJHWtRK8DTFaa3UamwYECwfBxLpDAiEAnDiOO9jzCv8V9tCtZH41RnjEX1XAPYebiIhdDpaykVQ="}]}},"0.1.2":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.1.2","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MIT","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"vow":"0.4.5"},"devDependencies":{"enb":">= 0.11.0 < 1.0.0","jscs":"1.6.2","jshint":"2.5.6"},"scripts":{"test":"npm run lint","lint":"jshint . && jscs -c .jscs.js ."},"gitHead":"fbd53591962c5d6f142700623b64b83f54a388ac","_id":"enb-bem-i18n@0.1.2","_shasum":"52e0009e5223cbbc5733a3295e0eca77aa303976","_from":".","_npmVersion":"2.1.3","_nodeVersion":"0.10.32","_npmUser":{"name":"andrewblond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"andrewblond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"52e0009e5223cbbc5733a3295e0eca77aa303976","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.1.2.tgz","integrity":"sha512-dvEFSxldWmix2kIJ3IQfjx1MukTR90vfk5BR73cIYPGq1UMIjnWkdpw9tH0vvdafwpim5NQRbBU0sqXFD9vkuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLiMaVNaRuyHuCiGPtHOSia/7b1oLb5H1eIqNmUkWdwwIhAPvRp6Pz6qzOQkOStFfT8eD9gKmPvYT3KUWY+bKAOjac"}]}},"0.2.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.2.0","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"vow":"0.4.8"},"devDependencies":{"enb":">= 0.11.0 < 1.0.0","jscs":"1.10.0","jshint":"2.6.0"},"scripts":{"test":"npm run lint","lint":"jshint . && jscs -c .jscs.js ."},"gitHead":"548d3984b207efd8dee30d1222b4884367cc28ee","_id":"enb-bem-i18n@0.2.0","_shasum":"6b46e183607885cae5a217a31b351ae5e055609a","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.35","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"6b46e183607885cae5a217a31b351ae5e055609a","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.2.0.tgz","integrity":"sha512-yjOReeuSGqaktv3dSpyIa9+z/SlBpqVqLN98SjY8mhZEQEYINc7w9a68eielNHnwoLvA1fTGqe4aa1c4kysxiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAE4inTX8p1sxKpdLsIj9bba9cw+7bmDJAfpWTxrB6LzAiBYP234qym5fr+NuH0/Cxu/AyKeKdEI6ysEHYTMdQIG1w=="}]}},"0.2.1":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.2.1","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.8"},"devDependencies":{"enb":">= 0.11.0 < 1.0.0","jscs":"1.10.0","jshint":"2.6.0"},"scripts":{"test":"npm run lint","lint":"jshint . && jscs -c .jscs.js ."},"gitHead":"82230c7237357dd68ef4ddfb36c8717bc4881c34","_id":"enb-bem-i18n@0.2.1","_shasum":"0bbe644c104f0acb1b21c6d17b9c479f949ce542","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.35","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"0bbe644c104f0acb1b21c6d17b9c479f949ce542","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.2.1.tgz","integrity":"sha512-EJut02KmXdIKeqVnzHQTriOECKdCCOl96cXNnWe5aV/vnk1cDKL8IMEcGxm1n1WaEC8+UFOCoCtqiXaZcC5BmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1mAwxfXn1M9tNMh6G45kd/tSqZ1Bx0LeaZcysAtfVWAiAvvB+gJGDoX4GLSKQovKU2hEkZJtwyY/BFm9KoViZQbg=="}]}},"0.3.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.3.0","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.9"},"devDependencies":{"enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.14","jscs":"1.13.1","jshint":"2.7.0","mocha":"2.2.5","mock-fs":"2.7.0","must":"0.12.0"},"scripts":{"test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"afcd573ef219dba512effa3d271e4ca7e964082d","_id":"enb-bem-i18n@0.3.0","_shasum":"3d4da996e6e21cff393e0bff58f374964d36a2ce","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"3d4da996e6e21cff393e0bff58f374964d36a2ce","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.3.0.tgz","integrity":"sha512-2StOcD/cqH2OmPaily2bsW0UXGNSLPV1m+C4bLKKwiApBhAnSztEHjflXr5i+ra2bf4ZDdOSkfyECMX2NqoY9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1sE/rXaQIXs+VdJEGS0NSwmjVFsovqQhPKlC1Csr73wIgVEJ6jJB7tuwv+jFqFOBtdLEO4DVjnTNfk3TDGWfCRug="}]}},"1.0.0-beta1":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta1","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"bemhtml-compat":"0.1.2","enb-bemxjst":"1.3.4","enb-xjst":"github:enb-bem/enb-xjst#master","dom-js":"0.0.9","vow":"0.4.9","enb-bh":"1.0.0-beta2","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.3.9","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.14","jscs":"1.13.1","jshint":"2.7.0","mocha":"2.2.5","mock-enb":"0.0.1","mock-fs":"2.7.0","mock-require":"1.0.5","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"ea70115ed785326c0d8ee7e325fc3565cb5fccc0","_id":"enb-bem-i18n@1.0.0-beta1","_shasum":"a1194fa4d6608e392b7f6da0b4c05eb366106e24","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"a1194fa4d6608e392b7f6da0b4c05eb366106e24","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta1.tgz","integrity":"sha512-0cAYj8fPC22DI/M+YUEwFug4AMp45B/BYZv5b1a3AXxpMb0AyUF9QVbRKYCWaHOYZMuyB4wlvFo5XqcnRhaR+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjmmxT360Xp2GZ6GGfhfjA2+ZSr4Y1mYretj2BTsW1YAiEA+ZrUlosx46MYukxRzNlTAcLwQrNOVdmZSWBLy7hjIdM="}]}},"1.0.0-beta2":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta2","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"bemhtml-compat":"0.1.2","enb-bemxjst":"1.3.4","enb-xjst":"github:enb-bem/enb-xjst#master","dom-js":"0.0.9","vow":"0.4.9","enb-bh":"1.0.0-beta2","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.3.9","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.14","jscs":"1.13.1","jshint":"2.7.0","mocha":"2.2.5","mock-enb":"0.0.1","mock-fs":"2.7.0","mock-require":"1.0.5","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"be67929650bf912d0262f63c25f0c5670857177b","_id":"enb-bem-i18n@1.0.0-beta2","_shasum":"3b98e9720956c5ce6ff1c8d6d7ad81ba739da77c","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"3b98e9720956c5ce6ff1c8d6d7ad81ba739da77c","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta2.tgz","integrity":"sha512-9VQyRWNLKpMbZxBCXqtbanu/tqKCa3rX1+tRKnXRNA84ImxXhCOQb9ztqlQiHoJqgJM3kqvABow0HX9yKN3XLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG2d2MyijXFGo6T1zEPhOh1rYVGlmJqCnkUn65E0E6cPAiEAocihkC17f/41K0UTaiiisKLuYL3767wumVntK8Mzsps="}]}},"0.4.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.4.0","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10"},"devDependencies":{"enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.1.0","mock-fs":"3.0.0","must":"0.12.0","chai":"3.2.0"},"scripts":{"test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"a5d3b95782839a2205b5ccd0759b6ef5048ff445","_id":"enb-bem-i18n@0.4.0","_shasum":"fd7e1679db82d10eaea19b50a501485efa482a0c","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"fd7e1679db82d10eaea19b50a501485efa482a0c","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.4.0.tgz","integrity":"sha512-R29tzv5KGiqFYqXEGKLPEEXFUk0Zaa/BLT57vKzcAi/zty/Z9G8AH/OHdmgJaeLrzasYnAQlViEgyh5298a7uQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5vIUnGBnZ7W7WBFs3h+B8L/3vHDC7HjbkcV0UQ4ewzAiBBqgeApJ8XPvRk+iRkgnU2i146OqOFoW+CowgI0tswrQ=="}]}},"1.0.0-beta3":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta3","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.4.1","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.1.0","mock-fs":"3.0.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"ec73026fb7c01ec087b63447cdd930c7eb6400bb","_id":"enb-bem-i18n@1.0.0-beta3","_shasum":"052ce6496f10dd23b9f118274803cea2dd52286c","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"052ce6496f10dd23b9f118274803cea2dd52286c","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta3.tgz","integrity":"sha512-iCbJXsxd+m2VVDfVkk4ARwf56hRXk2MXGQDPrn/DUuyIYNcEH+lIjsESiHw56CQ5gCqFBKgktyysJMJPisDA0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBTar5LlawR5N6LiY1gU+9spKXt0/BO/cbkfXRpCeGdAIgbv48XovRbCawzi2Z0/aZDi7bpxRzUj8BBuygJSWCpjU="}]}},"1.0.0-beta4":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta4","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.4.1","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.1.0","mock-fs":"3.0.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"103f50b6c77b59171c3b2ec5879e927737655caf","_id":"enb-bem-i18n@1.0.0-beta4","_shasum":"c383e8d350a645727692dff9c6971f24464a4cec","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"c383e8d350a645727692dff9c6971f24464a4cec","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta4.tgz","integrity":"sha512-mIoKOC+BsFoTzjiVCTpro+lLsEq+vVrpdtR04kcJL3OCbpegy4Qf6J4wYIid8BGSbZUZgNsgJVtT9FM87kk7GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhrwO+yNRea6eozTKmlVV/S8+0XrPUkeklyhDUOyJyIAiAitUiHX1zRB6XsqSarWCMjIlq4+6acbrcsWxu+s/ireg=="}]}},"1.0.0-beta5":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta5","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.4.1","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.1.0","mock-fs":"3.1.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"b62cf2077341ae494711b7612636e67edcef6f29","_id":"enb-bem-i18n@1.0.0-beta5","_shasum":"ce0fa4db6bdaba2d0d130531cd90b7dd6619d14d","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"ce0fa4db6bdaba2d0d130531cd90b7dd6619d14d","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta5.tgz","integrity":"sha512-X/fUSzvekvX55v4fzoL1KdF37musXOgTWAwagQzxoSl5ABybKLJhYl8tf4jsamfNQFBXhYwytWRFY2VHiSwlUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICGP6nOwD90sa3LCu9n1sPBrvFSKydpdscJ6cv3fmtvIAiBB0hCvzk58auJYykapju6KXzt24BUrxUJFbD3lYQyHkw=="}]}},"1.0.0-beta6":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta6","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.4.1","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.1.0","mock-fs":"3.1.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"7f18813abced9c9f6e6c1e96980bf639fbae63e8","_id":"enb-bem-i18n@1.0.0-beta6","_shasum":"054427b825c8549da9ce252fbf5b0b13a8c1c357","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"054427b825c8549da9ce252fbf5b0b13a8c1c357","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta6.tgz","integrity":"sha512-W9P4S2ykQq+8I180MI1AVQa/gUdng+0ntETciMK6Ys9rhZsnoQ6AbhD3DGwCl51Veh2Xs1yf6NHPvhyTg2Ox3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJtfsIe6kBEre7aFYXWBZoUtFoKMtMiY3A9N3kbvNz4AiBuv/IijSvE1EhkFEE1TliQzc4jLqP+Io1z6e4lL17VOw=="}]}},"1.0.0-beta7":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0-beta7","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10","serialize-javascript":"1.0.0"},"devDependencies":{"bower":"1.4.1","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.1.0","mock-fs":"3.1.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"8e77fc11827d88dc3ada64b0f059288448fcd4bb","_id":"enb-bem-i18n@1.0.0-beta7","_shasum":"d599ac7e5d3eeb6a1a32d65c30aa01994e722f89","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"andrewblond@yandex.com"},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"dist":{"shasum":"d599ac7e5d3eeb6a1a32d65c30aa01994e722f89","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0-beta7.tgz","integrity":"sha512-FzeTmZUjNjbrow45oU1o2Sk7GzlV8b3L7UZ8vttCuhUIOEGLxrScnofUiQgvVLXO7L8GfZRtxGoi9kER3Dv1Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDynOSMCMyZgvoVsr61buyWWX0nQCqZUT2KLWY/RfJ7ogIhAL0sVXJuGJMlsrkYCYJqHBXzKEg9UnSRJEEMhfdS+txu"}]}},"1.0.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.0","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"dom-js":"0.0.9","vow":"0.4.10","serialize-javascript":"1.1.2"},"devDependencies":{"bower":"1.5.2","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.20","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.3.2","mock-enb":"0.2.0","mock-fs":"3.2.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"85483e15f8fc2f99bb93f90318e5e0a04d9792c1","_id":"enb-bem-i18n@1.0.0","_shasum":"e7546e455cab1bab84ca2a4ece256f7f67593024","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"e7546e455cab1bab84ca2a4ece256f7f67593024","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.0.tgz","integrity":"sha512-BKswxuLuLtwbjkMvgDbzywgodcEFTKGiLW5WSsHNtmVQvsqdnwiHXCnqwSJl3XO+iyiYUTxHcGo+Nneon/kL5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFka2eBweXxc9a2iVUZ7P54d2hGOE+EehGD/+ugfUymAiEAifeqJVcy1gacoC8oVWpwTP2F7Fqhjx/QZUkUBkoPn9E="}]},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}]},"1.0.1":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.0.1","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.11.0 < 1.0.0"},"dependencies":{"clear-require":"1.0.1","dom-js":"0.0.9","serialize-javascript":"1.1.2","vow":"0.4.10"},"devDependencies":{"bower":"1.5.2","chai":"3.2.0","enb":">= 0.11.0 < 1.0.0","istanbul":"0.3.20","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.3.2","mock-enb":"0.2.0","mock-fs":"3.2.0","must":"0.12.0"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"5fe929bb955af60973b6bf5a91ea10b2f55ef1bf","_id":"enb-bem-i18n@1.0.1","_shasum":"0b83478a6fc8749cd36e2d5efffe2d4a055832ef","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"0b83478a6fc8749cd36e2d5efffe2d4a055832ef","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.0.1.tgz","integrity":"sha512-CjANpNFNW+ERXhxwYZyQ0BL/7g/hqKi1zVz904fWfDmuURvdLdWlF1xzoL+bx5RvFoRM1QDlxcMD+S8JjAmPnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQTQhA+V7syD+E7hVu4dY7LWzbaf2e9Hk5+XmAendzgAIgCVXQcXd+CcVv3hzNcqA0yAtjH/awCf9q6Pcsm1mbrbU="}]},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}]},"1.1.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.1.0","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.15.0 < 2.0.0"},"dependencies":{"clear-require":"1.0.1","dom-js":"0.0.9","enb-async-require":"1.0.1","serialize-javascript":"1.1.2","vow":"0.4.11"},"devDependencies":{"bower":"1.5.3","chai":"3.3.0","enb":">= 0.15.0 < 2.0.0","istanbul":"0.3.22","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.3.3","mock-enb":"0.3.0","mock-fs":"3.3.0","must":"0.13.1"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"035825e1c2c9cce77eecc3a9adbc95390c1983f3","_id":"enb-bem-i18n@1.1.0","_shasum":"d357a756309231aed44d6d1c1340c835c27b30cc","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"d357a756309231aed44d6d1c1340c835c27b30cc","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.1.0.tgz","integrity":"sha512-Q84ncsRbCMd0RIS6gRIe866oUBH/Bj2h/yrIxXP+gkWvysfNnxBy5Xq5PjP8f24rDYakSew2qROd7XpPZRx9Sg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA1asdTR+wu9aISYSQnRagWJ2uLM0BbFfFRRIM2X7aiMAiEA9svX/4pOSLkqYOy/3XBScGBrtI0GGQ/7nZJ0vWjje5I="}]},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}]},"0.5.0":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.5.0","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.15.0 < 2.0.0"},"dependencies":{"clear-require":"1.0.1","dom-js":"0.0.9","enb-async-require":"1.0.1","enb-require-or-eval":"1.0.2","vow":"0.4.10"},"devDependencies":{"enb":">= 0.15.0 < 2.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.3.0","mock-fs":"3.0.0","must":"0.12.0","chai":"3.2.0"},"scripts":{"test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"415967a2d6e6983cb13676d847966f2b72410b8c","_id":"enb-bem-i18n@0.5.0","_shasum":"b5b42298a25107e2cf75071bf82fd327de604e1a","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.7","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"b5b42298a25107e2cf75071bf82fd327de604e1a","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.5.0.tgz","integrity":"sha512-XLrS98HMdO+NVzd+/4zup5syZtqSNHRas2fmLTAsftiS+otW7EsqNdnu5ItdPHa6Ef9XXvVUgk/Zdh4kN2qiIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICUkUOBcXyiTFk5tUrkTCPnkTjIOp8t1aVAGvX5YACN4AiEAvdxRV4E+NjKeMJ6kiSYi5kuhaqHaQ6d4BGyOOtOUias="}]},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}]},"0.5.1":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"0.5.1","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.15.0 < 2.0.0"},"dependencies":{"clear-require":"1.0.1","dom-js":"0.0.9","enb-async-require":"1.0.1","enb-require-or-eval":"1.0.2","vow":"0.4.10"},"devDependencies":{"enb":">= 0.15.0 < 2.0.0","istanbul":"0.3.17","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.2.5","mock-enb":"0.3.0","mock-fs":"3.0.0","must":"0.12.0","chai":"3.2.0"},"scripts":{"test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"2d7acbd9c9e2aa9d7dd916239ae438e57d1fa3f0","_id":"enb-bem-i18n@0.5.1","_shasum":"8ae8bcd9d812780b1da3fbfcd3075dbcebab862c","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"8ae8bcd9d812780b1da3fbfcd3075dbcebab862c","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-0.5.1.tgz","integrity":"sha512-4m4lG+e31nYPOXqII9D3p3G5ntmzGngrCBEBxSI2OenKBMHKc7BwMn9XiZjrWVDyOFZbymhEv2CJLnIwZxkcUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhxET69fmEM5gK76/s0Vz5xBNL+u6dJMpTjSievfTdnAiAjIyUyASQ+z55dUllPs8uW1YO/iNAGsd4P6fbAWBeTEA=="}]},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"_npmOperationalInternal":{"host":"packages-11-east.internal.npmjs.com","tmp":"tmp/enb-bem-i18n-0.5.1.tgz_1456878524990_0.02959017571993172"}},"1.1.1":{"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"description":"BEM.I18N support for ENB","name":"enb-bem-i18n","version":"1.1.1","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"licenses":[{"type":"MPL-2.0","url":"https://github.com/enb-bem/enb-bem-i18n/blob/master/LICENSE.txt"}],"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"engines":{"node":">= 0.10.0"},"peerDependencies":{"enb":">= 0.15.0 < 2.0.0"},"dependencies":{"clear-require":"1.0.1","dom-js":"0.0.9","enb-async-require":"1.0.1","serialize-javascript":"1.1.2","vow":"0.4.11"},"devDependencies":{"bower":"1.5.3","chai":"3.3.0","enb":">= 0.15.0 < 2.0.0","istanbul":"0.3.22","jscs":"1.13.1","jshint":"2.8.0","mocha":"2.3.3","mock-enb":"0.3.0","mock-fs":"3.3.0","must":"0.13.1"},"scripts":{"deps":"bower i","test":"npm run lint && npm run unit","lint":"jshint . && jscs -c .jscs.js .","unit":"npm run deps && mocha -R spec","cover":"istanbul cover _mocha","coveralls":"npm i coveralls && npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls"},"gitHead":"611e65da0103568a0248b614065bbaaf70307e75","_id":"enb-bem-i18n@1.1.1","_shasum":"1e468ccea43f5ec686ec90e0ddb5c804fb05f5cc","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"1e468ccea43f5ec686ec90e0ddb5c804fb05f5cc","tarball":"https://registry.npmjs.org/enb-bem-i18n/-/enb-bem-i18n-1.1.1.tgz","integrity":"sha512-2ctlodTSjFujYZ2UE68Nq3wHPM6Qg6IPXwAHaGlyKtqu/INGMeigK6Rb3jFOW4j70NgLMaHDhedr1PzwMNsX/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGMNKYodtlVDzsPlVugp3vZ1Ch1S4YQSt2g2qrgjYuZQIhANk7/yxX6llHOMJ3aUMccwnqlQTedwLPVrs5v28AesQO"}]},"maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/enb-bem-i18n-1.1.1.tgz_1456920640046_0.25683775590732694"}}},"readme":"enb-bem-i18n\n============\n\n[![NPM version](https://img.shields.io/npm/v/enb-bem-i18n.svg?style=flat)](https://www.npmjs.org/package/enb-bem-i18n)\n[![Build Status](https://img.shields.io/travis/enb-bem/enb-bem-i18n/master.svg?style=flat&label=tests)](https://travis-ci.org/enb-bem/enb-bem-i18n)\n[![Build status](https://img.shields.io/appveyor/ci/blond/enb-bh.svg?style=flat&label=windows)](https://ci.appveyor.com/project/blond/enb-bh)\n[![Coverage Status](https://img.shields.io/coveralls/enb-bem/enb-bem-i18n.svg?style=flat)](https://coveralls.io/r/enb-bem/enb-bem-i18n?branch=master)\n[![devDependency Status](https://img.shields.io/david/enb-bem/enb-bem-i18n.svg?style=flat)](https://david-dm.org/enb-bem/enb-bem-i18n)\n\nПакет предоставляет набор ENB-технологий для сборки файлов, обеспечивающих мультиязыковую поддержку БЭМ-проектов. Под мультиязыковой поддержкой понимается интернационализация (далее по тексту также i18n).\n\nС помощью технологий пакета `enb-bem-i18n` осуществляется сборка модуля для интернационализации (`i18n`) вашего проекта.\n\n**Технологии пакета `enb-bem-i18n`:**\n\n* [keysets](api.ru.md#keysets) — служебная технология для сборки исходных файлов с переводами.\n* [i18n](api.ru.md#i18n) — технология для формирования бандлов с переводами для каждого языка.\n* [keysets-xml](api.ru.md#keysets-xml) — технология для локализации сервисов, использующих шаблонизатор XSLT.\n\nПринципы работы технологий и их API описаны в документе [API технологий](./api.ru.md).\n\n**Совместимость:** пакет поддерживает следующие библиотеки:\n\n* [bem-bl](https://ru.bem.info/libs/bem-bl/dev/)\n* [bem-core](https://ru.bem.info/libs/bem-core/)\n\n>Особенности реализации для каждой библиотеки описаны в разделе [Различия в использовании `i18n` в `bem-bl` и `bem-core`](#Различия-в-использовании-i18n-в-bem-bl-и-bem-core).\n\n## Установка\n\nУстановите пакет `enb-bem-i18n`:\n```\nnpm install --save-dev enb-bem-i18n\n```\n\n**Требования:** пакет `enb` версии `0.15.0` или выше.\n\n## Обзор документа\n\n<!-- TOC -->\n- [Быстрый старт](#Быстрый-старт)\n- [Принцип работы пакета `enb-bem-i18n`](#Принцип-работы-пакета-enb-bem-i18n)\n- [Основные понятия](#Основные-понятия)\n  - [Исходные данные — keysets](#Исходные-данные--keysets)\n    - [Расположение в файловой системе](#Расположение-в-файловой-системе)\n  - [Ядро `i18n`](#Ядро-i18n)\n- [Описание работы с технологиями](#Описание-работы-с-технологиями)\n  - [Объединение данных](#Объединение-данных)\n  - [Обработка данных](#Обработка-данных)\n  - [Сборка шаблонов](#Сборка-шаблонов)\n  - [Сборка только необходимых переводов](#Сборка-только-необходимых-переводов)\n- [Использование](#Использование)\n  - [В JavaScript](#В-javascript)\n    - [Использование в Node.js](#Использование-в-nodejs)\n    - [Использование в браузере](#Использование-в-браузере)\n  - [В шаблонах](#В-шаблонах)\n    - [BEMHTML](#bemhtml)\n    - [BH](#bh)\n- [API `i18n`](#api-i18n)\n  - [Инициализация](#Инициализация)\n  - [Передаваемые параметры функции `i18n`](#Передаваемые-параметры-функции-i18n)\n- [Различия в использовании `i18n` в `bem-bl` и `bem-core`](#Различия-в-использовании-i18n-в-bem-bl-и-bem-core)\n  - [Переключение между языками в runtime](#Переключение-между-языками-в-runtime)\n  - [Хранение общих keysets-файлов с переводами](#Хранение-общих-keysets-файлов-с-переводами)\n  - [Расположение ядра `i18n`](#Расположение-ядра-i18n)\n\n<!-- TOC END -->\n\n## Быстрый старт\n\nЧтобы собрать файлы интернационализации для каждого языка, подключите необходимые технологии в конфигурационном файле сборщика:\n\n```js\nvar I18NTech  = require('enb-bem-i18n/techs/i18n'),\n    KeysetsTech = require('enb-bem-i18n/techs/keysets'),\n    FileProvideTech = require('enb/techs/file-provider'),\n    bemTechs = require('enb-bem-techs');\n\nmodule.exports = function(config) {\n    config.setLanguages(['en', 'ru']);\n\n    config.node('bundle', function(node) {\n        // Получаем FileList\n        node.addTechs([\n            [FileProvideTech, { target: '?.bemdecl.js' }],\n            [bemTechs.levels, { levels: ['blocks'] }],\n            [bemTechs.deps],\n            [bemTechs.files]\n        ]);\n\n        // Собираем keyset-файлы для каждого языка\n        node.addTech([KeysetsTech, { lang: '{lang}' }]);\n\n        // Собираем i18n-файлы для каждого языка\n        node.addTech([I18NTech, { lang: '{lang}' }]);\n        node.addTarget('?.lang.{lang}.js');\n    });\n};\n```\n\n## Принцип работы пакета `enb-bem-i18n`\n\nВ основе работы пакета `enb-bem-i18n` лежит библиотека для интернационализации — [ядро `i18n`](#Ядро-i18n). Изначально ядро не содержит данных с переводами, оно наполняется данными ([инициализируется](#Инициализация)) из [keysets](#Исходные-данные-keysets)-файлов.\n\nРезультатом работы технологии [i18n](api.ru.md#i18n) является [функция `i18n`](#Обработка данных), которая общается с ядром и позволяет получить конкретное значение (строку) для указанного языка. Функция `i18n` может вызываться из [шаблонов](#В-шаблонах) или [клиентского JavaScript-кода](#В-javascript).\n\n## Основные понятия\n\n### Исходные данные — keysets\n\n`keysets` — исходные файлы с переводами для поддержки интернационализации. Перевод представляет собой набор ключей и их значений. Ключ определяет, какое из значений должно быть выбрано для указанного языка.\n\nПример для русского языка:\n\n```js\n{\n    hello: 'Привет!'\n}\n```\nПример для английского языка:\n\n```js\n{\n    hello: 'Hello!'\n}\n```\n\nНабор данных `ключ: 'значение'` передается с указанием контекста (`scope`). Обычно контекстом служит имя блока.\n\nПример keysets-файла для русского языка:\n\n```js\nmodule.exports = {\n    greeting: {\n        hello: 'Привет!'\n    }\n};\n```\n\n#### Расположение в файловой системе\n\nПереводы (keysets) хранятся в файлах `<lang>.js` (например, `en.js`).\n\nФайлы `<lang>.js` для каждой БЭМ-сущности находятся в отдельной директории `<block-name>.i18n` наряду с другими файлами технологий.\n\n```\nblock/\n    block.css\n    block.js\n    block.i18n/\n        ru.js        # Исходный файл с переводом для русского языка.\n        en.js        # Исходный файл с переводом для английского языка.\n```\n\nТакже есть возможность объединять одинаковые для всех языков переводы в общие файлы:\n\n* В `bem-bl` — в файл `all.js`.\n* В `bem-core` — в файл `<block-name>.i18n.js`.\n\n```\ncommon.blocks/\n    block1/\n        block1.css\n        block1.js\n        block1.i18n.js       # Исходный файл с переводом, содержащий\n                             # общие переводы.\n                             # Может содержать ядро `i18n` для библиотеки ` bem-core`.\n        block1.i18n/         # Директория для хранения файлов с переводами для разных языков.\n            en.js\n            ru.js\n            all.js           # Исходный файл с переводом (для\n                             # русского и английского языков).\n                             # Может содержать ядро `i18n` для библиотеки `bem-bl`.\n```\n\n### Ядро `i18n`\n\nЯдро `i18n` — это библиотека для интернационализации. Ядро находится в keysets-файлах (`<block-name>.i18n.js` или `<block-name>.all.js`) в одной из базовых библиотек блоков:\n\n* В `bem-bl` — файл `all.js`.\n* В `bem-core` — файл `<block-name>.i18n.js`.\n\nПакет `enb-bem-i18n` поддерживает разные реализации ядра интернационализации для библиотек `bem-bl` и `bem-core`.\n\n* В `bem-bl` — ядро `BEM.I18N`.\n* В `bem-core` — ядро `i18n`.\n\n> Далее по тексту для названия ядра будет использоваться `i18n`.\n\n>Подробнее о расположении keysets-файлов, содержащих ядро, в файловой системе читайте в разделе [Расположение в файловой системе](#Расположение-в-файловой-системе).\n\nЯдро `i18n` в библиотеках `bem-core` и `bem-bl` хранится в keysets-файлах по-разному:\n\n* В `bem-bl` (файл `all.js`):\n\n  ```js\n  {\n      all: {\n          '': { // пустая строка\n              /* код ядра */\n          }\n      }\n  }\n  ```\n\n* В `bem-core` (файл `i18n.js`):\n\n  ```js\n  {\n      i18n: {\n          i18n: {\n              /* код ядра */\n          }\n      }\n  }\n  ```\nПеред использованием ядро должно быть [инициализировано](#Инициализация) данными из keysets-файлов.\n\n**Важно!** Для получения ядра необходимо добавить [mustDeps](https://ru.bem.info/technology/deps/about/)-зависимость блокам, которые используют i18n.\n\n* Для bem-bl:\n\n  ```js\n  ({\n      mustDeps: { block: 'i-bem', elem: 'i18n' }\n  })\n  ```\n\n* Для bem-core:\n\n  ```js\n  ({\n      mustDeps: { block: 'i18n' }\n  })\n```\n\n>Подробно про API использования ядра `i18n` читайте в разделе [API `i18n`](#api-i18n).\n\n>Примеры всех вариантов использования ядра рассмотрены в [тестах к технологии](https://github.com/enb-bem/enb-bem-i18n/blob/master/test/techs/i18n/).\n\n## Описание работы с технологиями\n\nДанные из keysets-файлов `<lang>.js` во время сборки проходят несколько этапов:\n\n* [Объединение данных исходных файлов в один для указанного языка](#Объединение-данных)\n* [Обработка данных из объединенного файла](#Обработка-данных)\n* [Сборка шаблонов](#Сборка шаблонов)\n* [Сборка только необходимых переводов](#Сборка-только-необходимых-переводов)\n\n### Объединение данных\n\nТехнология [keysets](api.ru.md#keysets) объединяет исходные файлы `<lang>.js` для каждого языка в общий файл (`?.keysets.<lang>.js`). Набор языков, для которых будут собраны `?.keysets.<lang>.js`-файлы, задается с помощью опции [lang](api.ru.md#lang) в конфигурационном файле (`.enb/make.js`).\n\n`?.keysets.<lang>.js`-файл — это промежуточный результат сборки, который в дальнейшем используется технологией [i18n](api.ru.md#i18n).\n\nНапример, для блоков `greeting` и `login` результирующий `?.keysets.en.js`-файл будет собран следующим образом.\n\nИсходный файл `en.js` блока `greeting`:\n\n```js\nmodule.exports = {\n  greeting: {\n      hello: 'Hello',\n      unknown: 'stranger'\n  }\n};\n```\n\nИсходный файл `en.js` блока `login`:\n\n```js\nmodule.exports = {\n  login: {\n      login: 'Login',\n      pass: 'Password'\n  }\n};\n```\n\nРезультирующий `?.keysets.en.js`-файл:\n\n```js\nmodule.exports = {\n  greeting: {\n      hello: 'Hello',\n      unknown: 'stranger'\n  },\n  login: {\n      login: 'Login',\n      pass: 'Password'\n  }\n};\n```\n\n### Обработка данных\n\nДанные из объединенного файла `?.keysets.<lang>.js` обрабатываются технологией [i18n](api.ru.md#i18n). Результатом работы является функция `i18n`, которая при вызове из [шаблонов](#В-шаблонах) или [клиентского JavaScript](#В-javascript) принимает ключ и отдает значение (строку) для конкретного языка.\n\n>API взаимодействия с ядром `i18n` описан в разделе [API `i18n`](#api-i18n).\nВ результате работы технологии [i18n](api.ru.md#i18n) являются `lang.<lang>.js`-файлы, содержащие строки переводов, соответствующие запрошенным ключам.\n\n### Сборка шаблонов\n\nДля сборки интернационализированных шаблонов необходимо отдельно собрать шаблоны, отдельно `i18n`-файлы, а потом склеить их попарно для каждого языка.\n\n```\nindex.bemhtml.js\nindex.lang.en.js\nindex.lang.ru.js\n\nindex.en.bemhtml.js  # index.lang.en.js + index.bemhtml.js\nindex.ru.bemhtml.js  # index.lang.ru.js + index.bemhtml.js\n```\n\nПосле подключения `BEM.I18N` как сторонней библиотеки ее можно использовать:\n\n* в BEMHTML-шаблонах с помощью метода `this.require()`;\n* в BH — из пространства имен `bh.lib`.\n\n> Подробнее о том, как подключаются сторонние библиотеки смотрите в документации к пакетам [enb-bemxjst](https://github.com/enb-bem/enb-bemxjst/blob/master/README.md#Подключение-сторонних-библиотек) и [enb-bh](https://github.com/enb-bem/enb-bh/blob/master/README.md#Подключение-сторонних-библиотек).\n\nФайлы `i18n` нужно собирать так, чтобы `i18n`-функция была доступна из переменной `BEM.I18N` в любой среде исполнения. Для этого следует использовать опцию [exports](api.ru.md) со значением `{ globals: 'force' }`.\n\n**Пример сборки BEMHTML и BH шаблонов**\n\n```js\nvar I18NTech  = require('enb-bem-i18n/techs/i18n'),\n    KeysetsTech = require('enb-bem-i18n/techs/keysets'),\n    BEMHTMLTech = require('enb-bemxjst/techs/bemhtml'),\n    BHTech = require('enb-bh/techs/bh-bundle'),\n    FileProvideTech = require('enb/techs/file-provider'),\n    FileMergeTech = require('enb/techs/file-merge'),\n    bemTechs = require('enb-bem-techs');\n\nmodule.exports = function(config) {\n    config.setLanguages(['en', 'ru']);\n\n    config.node('bundle', function(node) {\n        // Получаем FileList\n        node.addTechs([\n            [FileProvideTech, { target: '?.bemdecl.js' }],\n            [bemTechs.levels, { levels: ['blocks'] }],\n            [bemTechs.deps],\n            [bemTechs.files]\n        ]);\n\n        // Собираем keyset-файлы для каждого языка\n        node.addTech([KeysetsTech, { lang: '{lang}' }]);\n        // Собираем i18n-файлы для каждого языка\n        node.addTech([I18NTech, {\n            lang: '{lang}',\n            exports: { globals: 'force' }\n        }]);\n\n        // Собираем BEMHTML-шаблоны.\n        // Подключаем `BEM.I18N` как стороннюю библиотеку.\n        // В шаблонах `i18n`-функция будет доступна c помощью метода `this.require('i18n')`.\n        node.addTech([BEMHTMLTech, {\n            requires: {\n                i18n: { globals: 'BEM.I18N' }\n            }\n        }]);\n\n        // Объединяем скомпилированный BEMHTML-файл с i18n-файлами для каждого языка\n        node.addTech([FileMergeTech, {\n            target: '?.{lang}.bemhtml.js',\n            lang: '{lang}',\n            sources: ['?.bemhtml.js', '?.lang.{lang}.js']\n        }]);\n        node.addTarget('?.{lang}.bemhtml.js');\n\n\n        // Собираем BH-шаблоны.\n        // Подключаем `BEM.I18N` как стороннюю библиотеку.\n        // В шаблонах `i18n`-функция будет доступна из `bh.lib.i18n`.\n        node.addTech([BHTech, {\n            requires: {\n                i18n: { globals: 'BEM.I18N' }\n            }\n        }]);\n\n        // Объединяем скомпилированный BH-файл с i18n-файлами для каждого языка\n        node.addTech([FileMergeTech, {\n            target: '?.{lang}.bh.js',\n            lang: '{lang}',\n            sources: ['?.bh.js', '?.lang.{lang}.js']\n        }]);\n        node.addTarget('?.{lang}.bh.js');\n    });\n};\n```\n\n### Сборка только необходимых переводов\n\nЕсли в браузере используется только часть переводов (например, когда остальные переводы применяются при шаблонизации в `Node.js`), то для экономии можно собрать только необходимое.\n\nДля этого в [файлах зависимостей](https://ru.bem.info/technology/deps/about/) укажите дополнительную информацию о технологиях, которые используют переводы.\n\n* При использовании в JavaScript-коде блоков в `deps.js`-файл необходимо добавить зависимость для `js`-технологии.\n\n  ```js\n  {\n      tech: 'js'\n      shouldDeps: {\n          tech: 'i18n'\n      }\n  }\n  ```\n\n  Такая запись означает, что `js`-технология блока зависит от технологии `i18n` этого же блока. Иначе говоря, в JavaScript-коде, предназначенном для работы в браузере, используются переводы.\n\n  **Важно!** Если в браузер должны попасть все переводы без исключения, то такая запись не обязательна.\n\n* При использовании в коде шаблонов в `deps.js`-файл необходимо добавить зависимость для `bemhtml`- или `bh`-технологии.\n\n  ```js\n  {\n      tech: 'bemhtml'\n      shouldDeps: {\n          tech: 'i18n'\n      }\n  }\n  ```\n\n  **Важно:** если в собранные шаблоны должны попасть все переводы без исключения, то такая запись не обязательна.\n\nНа основе этой информации в процессе сборки можно составить список БЭМ-сущностей, переводы которых необходимы для работы в браузере.\n\n> Для сборки на основе зависимостей по технологиям понадобится [depsByTechToBemdecl](https://github.com/enb-bem/enb-bem-techs/blob/master/docs/api.ru.md#depsbytechtobemdecl) из пакета [enb-bem-techs](https://github.com/enb-bem/enb-bem-techs/blob/master/README.md).\n\n**Пример сборки i18n для работы в браузере**\n\n```js\nvar I18NTech  = require('enb-bem-i18n/techs/i18n'),\n    KeysetsTech = require('enb-bem-i18n/techs/keysets'),\n    FileProvideTech = require('enb/techs/file-provider'),\n    bemTechs = require('enb-bem-techs');\n\nmodule.exports = function (config) {\n    config.setLanguages(['en', 'ru']);\n\n    config.node('bundle', function () {\n        // Получаем FileList\n        node.addTechs([\n            [bemTechs.levels, { levels: ['blocks'] }],\n            [FileProviderTech, { target: '?.bemdecl.js' }],\n            [bemTechs.deps],\n            [bemTechs.files]\n        ]);\n\n        // Получаем декларацию `?.i18n.bemdecl.js`, содержащую список только необходимых БЭМ-сущностей\n        // для работы i18n в браузере\n        node.addTech([bemTechs.depsByTechToBemdecl, {\n            target: '?.browser-i18n.bemdecl.js',\n            sourceTech: 'js',\n            destTech: 'i18n'\n        }]);\n        node.addTarget('?.browser-i18n.bemdecl.js');\n\n        // Получаем список необходимых файлов с переводами\n        node.addTechs([\n            [bemTechs.deps, {\n                target: '?.browser-i18n.deps.js',\n                bemdeclFile: '?.browser-i18n.bemdecl.js'\n            }],\n            [bemTechs.files, {\n                filesTarget: '?.browser-i18n.files',\n                dirsTarget: '?.browser-i18n.dirs',\n                depsFile: '?.browser-i18n.deps.js'\n            }]\n        ]);\n\n        // Собираем keyset-файлы для каждого языка\n        node.addTech([KeysetsTech, {\n            filesTarget: '?.browser-i18n.files',\n            lang: '{lang}'\n        }]);\n\n        // Собираем i18n-файлы для каждого языка\n        node.addTech([I18NTech, { lang: '{lang}' }]);\n        node.addTarget('?.lang.{lang}.js');\n    });\n};\n```\n\nДля сборки клиенских шаблонов, которые используют `i18n` можно воспользоваться информацией о JavaScript-зависимостях от технологии шаблонов.\n\n```js\n{\n    tech: 'js'\n    shouldDeps: {\n        tech: 'bemhtml' // или `bh`\n    }\n}\n```\n\n**Пример сборки i18n для работы в браузере JavaScript-кода и шаблонов**\n\n```js\nvar I18NTech  = require('enb-bem-i18n/techs/i18n'),\n    KeysetsTech = require('enb-bem-i18n/techs/keysets'),\n    FileProvideTech = require('enb/techs/file-provider'),\n    bemTechs = require('enb-bem-techs');\n\nmodule.exports = function (config) {\n    config.setLanguages(['en', 'ru']);\n\n    config.node('bundle', function () {\n        // Получаем FileList\n        node.addTechs([\n            [bemTechs.levels, { levels: ['blocks'] }],\n            [FileProviderTech, { target: '?.bemdecl.js' }],\n            [bemTechs.deps],\n            [bemTechs.files]\n        ]);\n\n        // Получаем декларацию, содержащую список только необходимых БЭМ-сущностей\n        // для работы в браузере BEMHTML, который использует i18n.\n        node.addTechs([\n            // декларация для работы i18n в браузере\n            [bemTechs.depsByTechToBemdecl, {\n                target: '?.browser-i18n.bemdecl.js',\n                sourceTech: 'js',\n                destTech: 'i18n'\n            }],\n            // декларация для работы BEMHTML в браузере\n            [bemTechs.depsByTechToBemdecl, {\n                target: '?.browser-bemhtml.bemdecl.js',\n                sourceTech: 'js',\n                destTech: 'bemhtml'\n            }],\n            // объединяем декларации\n            [bemTechs.mergeBemdecl, {\n                sources: ['?.browser-bemhtml.bemdecl.js', '?.browser-i18n.bemdecl.js'],\n                target: '?.browser-bemhtml+i18n.bemdecl.js'\n            }]\n        ]);\n\n        // Получаем список необходимых файлов с переводами\n        node.addTechs([\n            [bemTechs.deps, {\n                target: '?.browser-bemhtml+i18n.deps.js',\n                bemdeclFile: '?.browser-bemhtml+i18n.bemdecl.js'\n            }],\n            [bemTechs.files, {\n                filesTarget: '?.browser-bemhtml+i18n.files',\n                dirsTarget: '?.browser-bemhtml+i18n.dirs',\n                depsFile: '?.browser-bemhtml+i18n.deps.js'\n            }]\n        ]);\n\n        // Собираем keyset-файлы для каждого языка\n        node.addTech([KeysetsTech, {\n            filesTarget: '?.browser-bemhtml+i18n.files',\n            lang: '{lang}'\n        }]);\n\n        // Собираем i18n-файлы для каждого языка\n        node.addTech([I18NTech, { lang: '{lang}' }]);\n        node.addTarget('?.lang.{lang}.js');\n    });\n};\n```\n\n## Использование\n\nФункция `i18n` может использоваться:\n\n* [в JavaScript](#В-javascript)\n* [в шаблонах](#В-шаблонах)\n\n### В JavaScript\n\nCпособы использования `i18n` в JavaScript зависят от наличия модульной системы в проекте и ее типа. Файлы могут подключаться как [в Node.js](#Использование-в-node.js), так и [в браузере](#Использование-в-браузере), независимо от используемой библиотеки (`bem-bl` или `bem-core`).\n\n#### Использование в Node.js\n\nСкомпилированный файл можно подключить как модуль в формате CommonJS.\n\n```js\nvar i18n = require('bundle.lang.en.js'); // Путь до скомпилированного файла\n\ni18n('scope', 'key'); // 'val'\n```\n\n#### Использование в браузере\n\nВ браузере применение скомпиллированных `?.lang.<lang>.js`-файлов зависит от наличия модульной системы:\n\n* **В браузере без YModules как `BEM.I18N`**\n\n  ```js\n  BEM.I18N('greeting', 'hello'); // Ядро `i18n` предоставляется в глобальную видимость в переменную `BEM.I18N`.\n  ```\n\n* **В браузере с YModules как `i18n`-модуль**\n\n  ```js\n  modules.require('i18n', function (i18n) {\n      i18n('scope', 'key'); // 'val'\n  });\n  ```\n\n>**Важно!** В проект с модульной системой ядро библиотеки интернационализации подключаются, как модуль `i18n`, вне зависимости от используемой библиотеки `bem-core` или `bem-bl`.\n\n### В шаблонах\n\nСпособы использования `i18n`-функции зависят от [сборки шаблонов](README.md#Сборка-шаблонов).\n\n#### BEMHTML\n\nПосле подключения `BEM.I18N` как [сторонней библиотеки](https://github.com/enb-bem/enb-bemxjst/blob/master/README.md#Подключение-сторонних-библиотек) ее можно использовать в шаблонах с помощью метода `this.require`.\n\n```js\nblock('button').elem('tooltip').content()(function () {\n    var i18n = this.require('i18n'),  // Библиотека `BEM.I18N`\n\n    // Локализованное значение для ключа `tooltip`\n    return i18n('button', 'tooltip');\n});\n```\n\n#### BH\n\nПосле подключения `BEM.I18N` как [сторонней библиотеки](https://github.com/enb-bem/enb-bh/blob/master/README.md#Подключение-сторонних-библиотек) ее можно использовать в шаблонах из пространства имен `bh.lib`.\n\n```js\nbh.match('block', function (ctx) {\n    ctx.content({\n        elem: 'tooltip',\n        content: bh.lib.i18n('block', 'tooltip');\n    });\n});\n```\n## API `i18n`\n\nОписание взаимодействия с ядром `i18n`, результатом которого являются локализованные строки.\n\n### Инициализация\n\nВ разделе рассмотрены примеры инициализации ядра на абстрактных файлах для библиотек `bem-bl` и `bem-core`.\n\n* **В `bem-bl`**\n\n  ```js\n  var core = /* ... */,\n      keyset = {\n          hello: 'Привет!'\n      },\n      lang = 'ru';\n\n  core.decl('greeting', keyset, lang);\n  core.lang(lang);\n\n  core('greeting', 'hello'); // Привет!\n  ```\n\n* **В `bem-core`**\n\n  ```js\n  var core = /* ... */,\n      keysets = {\n          greeting: {\n              hello: \"Привет!\"\n          }\n      };\n\n  var i18n = core().decl(keysets);\n\n  i18n('greeting', 'hello'); // Привет!\n  ```\n\n### Передаваемые параметры функции `i18n`\n\nФункция `i18n` принимает следующие параметры:\n\n* **scope** — область видимости ключа. Обычно имя блока.\n* **key** — ключ, соответствующий значению для указанного языка.\n* **params** — входные данные для функции (дополнительный параметр).\n\nПараметризация значений позволяет задавать дополнительный параметр **params**, который будет обработан функцией `i18n` и может повлиять на результат перевода. Например, в этом параметре может передаваться число от 1 до 12, при обработке которого результатом будет месяц, соответствующий указанному числу.\n\nРезультат выполнения: строка, содержащая перевод.\n\n* **В `bem-bl`**\n\n  Задавать значения ключей можно не только как строку. Также возможность параметризации значений реализована через XML.\n\n  ```js\n  {\n      'scope-1': {\n          key: 'val'\n      },\n      'scope-2': {\n          key: 'Hello <i18n:param>who</i18n:param>!'\n      }\n  }\n  ```\n\n\n* **В `bem-core`**\n\n  Задавать значения ключей можно не только как строку. Параметризация значений реализована через функцию.\n\n  Пример:\n\n  ```js\n  {\n      'scope-1': {\n          key: 'val'\n      },\n      'scope-2': {\n          key: function (params, i18n) {\n              return i18n(params.scope, params.key);\n          }\n      }\n  }\n  ```\n\n  ```js\n  modules.require('i18n', function (i18n) {\n      i18n('scope-2', 'key', { scope: 'scope-1', key: 'key' }); // Значение\n  });\n  ```\n\n## Различия в использовании `i18n` в `bem-bl` и `bem-core`\n\n### Переключение между языками в runtime\n\n* В `bem-bl` реализована возможность переключения между языками в runtime.\n* В `bem-core` такой возможности нет.\n\n### Хранение общих keysets-файлов с переводами\n\n* В `bem-bl` переводы, одинаковые для всех языков, хранятся в файле `<block-name>.i18n/all.js`.\n* В `bem-core` — в файле `<block-name>.i18n.js`.\n\n### Расположение ядра `i18n`\n\n* В `bem-bl` — элемент `i18n` блока `i-bem`.\n* В `bem-core` — блок `i18n`.\n\n© 2014 YANDEX LLC. Код лицензирован [Mozilla Public License 2.0](LICENSE.txt).\n","maintainers":[{"name":"blond","email":"andrewblond@yandex.com"}],"time":{"modified":"2022-06-17T04:42:12.735Z","created":"2014-06-04T15:00:07.888Z","0.1.0":"2014-06-04T15:00:07.888Z","0.1.1":"2014-08-21T09:10:17.423Z","0.1.2":"2014-10-14T08:07:40.905Z","0.2.0":"2015-01-31T10:41:46.152Z","0.2.1":"2015-02-02T13:41:10.241Z","0.3.0":"2015-05-27T10:50:24.876Z","1.0.0-beta1":"2015-07-29T14:28:16.078Z","1.0.0-beta2":"2015-07-30T19:06:28.436Z","0.4.0":"2015-08-04T10:44:22.798Z","1.0.0-beta3":"2015-08-08T18:24:44.258Z","1.0.0-beta4":"2015-08-10T12:44:34.276Z","1.0.0-beta5":"2015-08-17T15:06:44.831Z","1.0.0-beta6":"2015-08-19T15:40:32.136Z","1.0.0-beta7":"2015-08-20T15:02:05.500Z","1.0.0":"2015-09-16T20:13:53.353Z","1.0.1":"2015-09-18T08:48:33.056Z","1.1.0":"2015-10-08T10:23:55.359Z","0.5.0":"2015-10-23T10:33:56.222Z","0.5.1":"2016-03-02T00:28:45.902Z","1.1.1":"2016-03-02T12:10:42.788Z"},"homepage":"https://github.com/enb-bem/enb-bem-i18n","repository":{"type":"git","url":"git://github.com/enb-bem/enb-bem-i18n.git"},"contributors":[{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},{"name":"Marat Dulin","email":"mdevils@yandex.ru"},{"name":"Andrey Kuznetsov","email":"andrey.kuznetsov48@yandex.ru"}],"author":{"name":"Andrew Abramov","email":"andrewblond@yandex.com"},"bugs":{"url":"https://github.com/enb-bem/enb-bem-i18n/issues"},"readmeFilename":"README.md","users":{"blond":true}}