{"_id":"lingua","_rev":"42-54993ffcca495a2797737d88f6fcf163","name":"lingua","description":"An i18n middleware for the Express.js framework.","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.1":{"name":"lingua","description":"A i18n middleware for the express.js framework.","version":"0.0.1","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"Andre Koenig","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"express":">=2.3.10"},"engines":{"node":">=0.4.0"},"_id":"lingua@0.0.1","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.7","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"358d4790c916b3518d4c726cda00edec50808bb6","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.0.1.tgz","integrity":"sha512-rjWHCvNK73cSgdLW108ca/RFxfIEte5U3MGh2mH2OK8QyFxWmV8wLGdSZ+rrZ9n+GrgV3chS+I9SYmL2X6x+qg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEJu7EB1ZHaYpdECFXNrjnxmh7KxymZg9rxQsnd5rieqAiB5sKZPQWThRTZvF0WFxVPwKxkBvZLq881eKz+2UE4sKQ=="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.0.2":{"name":"lingua","description":"A i18n middleware for the express.js framework.","version":"0.0.2","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"express":">=2.3.10"},"engines":{"node":">=0.4.0"},"_npmJsonOpts":{"file":"/home/andre/.npm/lingua/0.0.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"lingua@0.0.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"5faae55ba4c9d2689397265e888dda4aa7cde02a","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.0.2.tgz","integrity":"sha512-v7te09J/l0VwhjRe5ThNGufJ92RAEJXq6gdhvIqBiBColEsovwSBios8hlJxImnTQsNGwHhtUBGq+HtCesRZLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMOSsezPrG4eP5MW/dKlO+9DRJAaCMHkzyQ+u9fuBC/AiEAvTRg5hBsstFnCGxP02XVW/RkaKAbpuYSqR3cgp8c2bw="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.0.3":{"name":"lingua","description":"A i18n middleware for the express.js framework.","version":"0.0.3","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"express":">=2.3.10"},"engines":{"node":">=0.4.0"},"_npmJsonOpts":{"file":"/home/andre/.npm/lingua/0.0.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"lingua@0.0.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"daa932032fce1c3b798a4d960ddf74cfb31ecd39","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.0.3.tgz","integrity":"sha512-xzAsC/hWmgvmgQlEwnLEjVC+dtRsGPC0tc4OKk2Z5makVZHp4y3mp4OdY+ecgfj4ERQEREy8rhjKtPzb0Ql1MQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9K03lSWnCS2Z23bvgYnGRVdW+RfgXZpkGtpnO0BXRvAIgUmuXLk1XUovEkCqFwRa7wH0x5a39OT8cOfcnkfbUHj0="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.0.4":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.0.4","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"express":">=2.3.10"},"engines":{"node":">=0.4.0"},"_npmJsonOpts":{"file":"/home/andre/.npm/lingua/0.0.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"lingua@0.0.4","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"fd20e8ff746a4626e015be376045f546327631db","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.0.4.tgz","integrity":"sha512-zoPca3MLc9e8hSHtLh9H4+CiGS94L43ZLPw+fL87a9LrJQO6+wHEYnlX7KbdGIOF9qbJFJPcSPGWAwQSu7+oWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHAF4d68Cgs5Do/mDvi06MD79bI01ropTA42XFA7FM1HAiBS3QmIM21KTj4z8tmSxO6M5AekiRt9ah17pHaw4mszTQ=="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.1.0":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.1.0","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"express":">=2.3.10","cookies":">= 0.1.6"},"engines":{"node":">=0.4.0"},"_npmJsonOpts":{"file":"/home/andre/.npm/lingua/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"lingua@0.1.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"733abfec8f0c0b6037fe1c61f0859f0d07fe8284","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.1.0.tgz","integrity":"sha512-oCgJ15q/dXhPDGm1ERTiZtT4G2H5UwWRyPO2n8GEZetAwxxyrnkD5NfwJP446SKdNNHYUzfwPfiAKqZ2YWSOQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCA/15dB/xiERxlNBlGCEiAjohXRNwLsedEnmcoPGwmjAIgLOhpKysZj5F83gQwV2yrwPU7w1ZddjxTd3ST1cSZlX4="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.1.1":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.1.1","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"engines":{"node":">=0.4.0"},"_npmJsonOpts":{"file":"/home/andre/.npm/lingua/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"lingua@0.1.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"86678919de9aa939cb4998b56515172d7c1f5874","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.1.1.tgz","integrity":"sha512-3L6J7fECvuYijWz1DA98J5itMQrICY6T2KltwzBB32oAudRoL3/JRnf5f+XIbzp9RBC1Y9tKc+AYUmK5otsP4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrrmHLYvZ4zHwc5qoj4ssJXuXK+WdbmnhJll1/EG5j+AiEAgRp0FP9owCpEd6fKM8AQosojjD4bygQAJM+OZbAKUwY="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.1.2":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.1.2","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":">= 0.1.6"},"engines":{"node":">=0.4.0"},"_npmUser":{"name":"andrekoenig","email":"andre.koenig@gmail.coom"},"_id":"lingua@0.1.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.94","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"543637a20e070936e910a2c245a897e20d671fe1","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.1.2.tgz","integrity":"sha512-hFdAsPOtGclfYETJID7fWMqSdpDkhZeM/QlF9fxMNOLFspWQurfKFBTJS+oyttOX0y0Kc2ej+HoEY0zlTtA/9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF38QN7JXvsScxu8/C8E2GY4WOcJA4NFO4riAjSBDAKgIhAKmuvr3EIR795qbxR/YvQ2dMhQGWf+POkq6czUDaBFe3"}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.2.0":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.2.0","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":">= 0.1.6"},"engines":{"node":">=0.4.0"},"_npmUser":{"name":"andrekoenig","email":"andre.koenig@gmail.coom"},"_id":"lingua@0.2.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.94","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"b63fa568d0225ed1115e7ff471444a8b3b6bb1bd","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.2.0.tgz","integrity":"sha512-WBKf1g6ymmQ5Pprj97qfirW/QM5+t0b6MF8fQvZQ8H3jalckuWRJye4Go+jYzzoxmBTXQ2ufeIDaZB/sZ36zyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrbyHKUJ08uNrDo66AV2IeFdNPR0n9mKlLm8qOhUbbiAIhAIQjiIacB4QLFoDuya9c+5iBV8+5VrmGeTIB14mbtQB1"}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.2.1":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.2.1","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":">= 0.1.6"},"engines":{"node":">=0.4.0"},"_npmUser":{"name":"andrekoenig","email":"andre.koenig@gmail.coom"},"_id":"lingua@0.2.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.94","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"fe4672d14c3851ed5b07f1029c9c44eb49e2186d","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.2.1.tgz","integrity":"sha512-N+r66B5ljwlmnseShmDS9JSFEc87sML3XsxnfBQJmxjnyE9V5QxdLNboOAeq3GzZCAOmS9hkCd0g3WIAkbkY/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqsiqkDsv84GBjB/Rbh/UBT4iZ+lCg8WGxhIp6i5F7JgIhAIOE8TzEui62pfQoYtbN2r7UzotFFAQbv1AdllN8I9Nr"}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.3.0":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.3.0","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://profile.lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_npmUser":{"name":"andrekoenig","email":"andre.koenig@gmail.com"},"_id":"lingua@0.3.0","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"e84bd5931d62f512c9a49f82ee441970d35ac2ab","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.0.tgz","integrity":"sha512-OM0WENywmwGREAp8/KTD5pKNDJzFm4bivOWpb4HC2E9ldKkzju0WtfTvHvlxNVEwqWx9yyjT17G1N36WySnGiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsjjiuPh8EXRt/dKG3fgat7x0uwZ79jX7lWRJS/OQulAiAHlPHE/XHSnSBvQ3TPFR7TBawxgc9zE9vxGMsGW3TuQg=="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.3.1":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.3.1","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://profile.lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_npmUser":{"name":"andrekoenig","email":"andre.koenig@gmail.com"},"_id":"lingua@0.3.1","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.8.2","_defaultsLoaded":true,"dist":{"shasum":"7e3453980ef245649e1f5069acddae1657f56123","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.1.tgz","integrity":"sha512-2DIpV7WySyvmAuA/21pO/Gk76l0hB3aUrErwPIEnggIYMS8N30Sqa40vNedqZDXuahUonOCeFo5hSkYNbAHybA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFvzBaQZ0Um2T8BkdtZPygHgg+yZYhAgHqxu2J5tqsNAiEA9a0tnkL04xQspRbVR2Nunc249Ij68KFbnXuvwxKF3jA="}]},"maintainers":[{"name":"andrekoenig","email":"andre.koenig@gmail.com"}]},"0.3.2":{"name":"lingua","description":"A i18n middleware for the Express.js framework.","version":"0.3.2","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://profile.lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_id":"lingua@0.3.2","dist":{"shasum":"cde0ddf514ec51573d4b0148a8ff07cf4f7357da","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.2.tgz","integrity":"sha512-IpfSi/8BPQifYCiNewvGwp8Fljy72wM6+/BZFuF61j9dPNyK0zfwv8iROVNehsalswG37YNIm0HAOBKpiMZHoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFcaJAmx8Ksb27VYBxW7wA4YoOfNjqPScTN8x+SWStKwIgOWCUbc7RdW6bGsD/YZelmcIbbs4zW0bGVHcePFu1yek="}]},"maintainers":[{"name":"akoenig","email":"andre.koenig@gmail.com"}]},"0.3.3":{"name":"lingua","description":"An i18n middleware for the Express.js framework.","version":"0.3.3","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://profile.lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_id":"lingua@0.3.3","dist":{"shasum":"a4f39f6d3dc3bbbadcb3999c909e2a5b7b0ac6d4","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.3.tgz","integrity":"sha512-HEBZSzRCV/MYm7viAss9/XgXGkjzpwFmLAz7xVfy4QTgflHpaWn32TWG1TAD/9qr/8UY7mSHrdoBCGkVuPdAMA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7vek5oF2Lml8znwYoSM2zlf+QLVG58vxljxHKzJT0fQIhAOI0chZs2Y/DKawkpIRslqu9yvWTo5GtoEa6vChdzSoL"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"akoenig","email":"andre.koenig@gmail.com"},"maintainers":[{"name":"akoenig","email":"andre.koenig@gmail.com"}]},"0.3.4":{"name":"lingua","description":"An i18n middleware for the Express.js framework.","version":"0.3.4","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://profile.lochkartenstanzer.de"},"main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_id":"lingua@0.3.4","dist":{"shasum":"dce08e33b530441754f5110eff682e04ae6efd7c","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.4.tgz","integrity":"sha512-nG7JFCw4U4mU6KX14ssl/NlPS4/J+13jZlRptFZrB7RCYjWaG27OZVrhQIcO0pc2i7+sPdk8O3pd6UsMCGIoCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcJU8KmVinsA2ZlMM0fZrtdJgxEeusEnHFmOk3NVY0JAiBv1IHML4fco/jVhNsG9cm3tLnZp0RywTRpi+ViZp+Zeg=="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"akoenig","email":"andre.koenig@gmail.com"},"maintainers":[{"name":"akoenig","email":"andre.koenig@gmail.com"}]},"0.3.5":{"name":"lingua","description":"An i18n middleware for the Express.js framework.","version":"0.3.5","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com","url":"http://profile.lochkartenstanzer.de"},"license":"MIT","main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_id":"lingua@0.3.5","dist":{"shasum":"8246e7fa9a0f60c2a55976043f9c52e634f38e65","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.5.tgz","integrity":"sha512-iPchou7awmokY9rTV2f1jYUJYE0xqgkwFVkRl9cJyQdt8WVHHPAeFpcICjRA3Oi+1Ym45EK5edWu+GNFnRT5cw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlaNKJXRAEeiemchXGRtK3D7b0u8DLNfNGAFgwmZFYsAiEA0ErWJKh92q8HNbS4u2G3zVLmpRoN7vQGr3JrXcBSkPI="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"akoenig","email":"andre.koenig@gmail.com"},"maintainers":[{"name":"akoenig","email":"andre.koenig@gmail.com"}]},"0.3.6":{"name":"lingua","description":"An i18n middleware for the Express.js framework.","version":"0.3.6","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com"},"license":"MIT","main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"_id":"lingua@0.3.6","dist":{"shasum":"b00321848568cf9106cf44d4c03ad92feaa10b3c","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.3.6.tgz","integrity":"sha512-3Pz1f4LYFKjQ2TTqEcpTBeWPegEFAOJz23OG/yN+er7oHxboj/SZx4KPcxwW9idDkdSkwzEncNaSRY9BNv1NZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESD27BN/R5Um0AtXMsyDRlVR8k/SaytMKQ106tE3AxdAiBuyzbq5d788hFKq4rGysqEe90VIeOTNxWsLFRs330lWg=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"akoenig","email":"andre.koenig@gmail.com"},"maintainers":[{"name":"akoenig","email":"andre.koenig@gmail.com"}]},"0.4.0":{"name":"lingua","description":"An i18n middleware for the Express.js framework.","version":"0.4.0","repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"author":{"name":"André König","email":"andre.koenig@gmail.com"},"license":"MIT","main":"./lib/lingua.js","directories":{"lib":"lib"},"dependencies":{"cookies":"0.3.x","traverse":"0.6.x"},"engines":{"node":">= 0.6.x"},"bugs":{"url":"https://github.com/akoenig/express-lingua/issues"},"homepage":"https://github.com/akoenig/express-lingua","_id":"lingua@0.4.0","dist":{"shasum":"f5abb51dd34858d2fe944891aa01595db054642b","tarball":"https://registry.npmjs.org/lingua/-/lingua-0.4.0.tgz","integrity":"sha512-hTYXr3hCvZVKHQ/lcYMTW9NDejZayLTrprJfLBfLJuuPVmvLWIMe6lAoDLmmuvDfatEMrcPYion12ZdPu4OCuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKroCTNS+pTy1qECjMHdvwpp2M5icYPLWbZn0tzowkFgIhAJx8gjI5aBr0T79A8C0h7QhXNcRE3qwxJhVIrq5nqGMg"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"akoenig","email":"akoenig@posteo.de"},"maintainers":[{"name":"akoenig","email":"andre.koenig@gmail.com"}]}},"maintainers":[{"email":"akoenig@posteo.de","name":"akoenig"}],"time":{"modified":"2022-06-19T12:32:47.297Z","created":"2011-09-25T10:02:27.557Z","0.0.1":"2011-09-25T10:02:28.406Z","0.0.2":"2011-09-25T22:17:57.313Z","0.0.3":"2011-09-25T22:46:14.826Z","0.0.4":"2011-09-27T00:02:35.159Z","0.1.0":"2011-10-07T23:01:14.208Z","0.1.1":"2011-10-11T03:53:39.949Z","0.1.2":"2011-10-11T23:47:32.105Z","0.2.0":"2011-10-22T17:35:42.501Z","0.2.1":"2011-10-22T18:20:46.065Z","0.3.0":"2012-05-26T20:46:59.482Z","0.3.1":"2012-07-31T07:54:13.556Z","0.3.2":"2012-09-27T02:16:11.067Z","0.3.3":"2012-11-27T23:03:38.272Z","0.3.4":"2013-02-19T18:26:57.140Z","0.3.5":"2013-03-18T21:25:55.158Z","0.3.6":"2013-04-01T20:37:46.802Z","0.4.0":"2014-03-10T13:24:03.580Z"},"author":{"name":"André König","email":"andre.koenig@gmail.com"},"repository":{"type":"git","url":"git://github.com/akoenig/express-lingua.git"},"users":{"fgribreau":true,"bigglesatlarge":true},"readme":"# Lingua\n\nLingua is a middleware for the Express.js framework that helps you to internationalise your webapp easily. It determines the language of the user agent and pushes the i18n resources to your views.\n\n## Installation\n\n    $ npm install lingua\n\n## Quick Start\n\nUsing lingua comes down with four simple steps:\n\n1. **Grab lingua**\n\n    ```javascript\n\n    var express = require('express'),\n        lingua  = require('lingua');\n\n    ...\n    // Express init code goes here\n    ...    \n\n    // Express app configuration code and lingua init.\n    app.configure(function() {\n        ...\n        app.set('views', __dirname + '/views');\n        app.set('view engine', 'ejs');\n\n        // Lingua configuration\n        app.use(lingua(app, {\n            defaultLocale: 'en',\n            path: __dirname + '/i18n'\n        }));\n\n        app.use(express.bodyParser());\n        app.use(express.methodOverride());\n        app.use(express.static(__dirname + '/public'));\n        app.use(app.router);\n\n        ...\n    });\n    ```\n    _Note:_ Please ensure that the call: \"app.use(app.router);\" is the last entry in your configuration section.\n\n2. **Create i18n resource files** - Note that you have to create a resource file for your default language. (In this example: './i18n/en.json' and './i18n/de-de.json').\n\n    ```javascript\n    // en.json\n        {\n            \"title\": \"Hello World\",\n            \"content\": {\n                \"description\": \"A little description.\"\n            }\n        }\n\n    // de-de.json\n        {\n            \"title\": \"Hallo Welt\",\n            \"content\": {\n                \"description\": \"Eine kleine Beschreibung.\"\n            }\n        }\n    ```\n\n3.    \n    a.  **Use lingua in your views - Static output** - Note that the syntax depends on your template engine. In this example it is: [ejs](http://embeddedjs.com/) and the request comes from a browser which sends 'en' with the HTTP request header.\n\n    ```html\n    <h1><%= lingua.title %></h1> <!-- out: <h1>Hello World</h1> -->\n    <p><%= lingua.content.description %></h1> <!-- out: <p>A little description.</p> -->\n    ```\n\n    b.  **Use lingua in your views - Dynamic output** - Sometimes it is necessary to handle dynamic data within your express route and pass it to the template. What if your i18n resource includes placeholders (\"{key}\") within a string where you can put in your dynamic data? Well, it is possible. First of all, look at this i18n resource file:\n\n    ```javascript\n    // de.json\n    {\n        \"greeting\": \"Hallo {name}. Dieser Schlüssel {code} wurde für Dich generiert.\"\n    }\n    ```\n\n    Now it is possible to transfer an object from your route into your template:\n\n    ```javascript\n    app.get('/', function(req, res) {\n        var names = ['Sarah', 'Thomas', 'Claudia'];\n\n        res.render('index', {\n            person: {\n                name: names[Math.floor(Math.random()*names.length)],\n                code: Math.round(Math.random()*100)\n            }\n        });\n    });\n    ```\n\n    And finally you can execute the i18n resource (yes, you can execute it (: ) and pass your data model to this function:\n\n    ```html\n    <p><%= lingua.greeting(person) %></p>\n    ```\n\n    _Note:_ Every i18n resource which contains placeholders like in the example above is a function after you've started the application.\n\n4.  **Let the user select a language** - Note that the user's selection is persisted within a cookie. This is an optional step. If you want to let lingua determine the user language from the browser configuration then leave this step out. Anyway, this is a very handy feature for switching the language by a user decision.\n\n    ```html\n    <a href=\"?language=de-DE\">de-DE</a>\n    <a href=\"?language=en-US\">en-US</a>\n    ```\n\n    You can configure lingua in order to change the name of this parameter.\n\n    ```javascript\n\n    // Express app configuration code and lingua init.\n    app.configure(function() {\n        ...\n\n        // Lingua configuration\n        app.use(lingua(app, {\n            defaultLocale: 'en',\n            path: __dirname + '/i18n',\n            storageKey: 'lang' // http://domain.tld/?lang=de\n        }));\n\n        ...\n    });\n    ```\n\n    The cookie lingua uses expires in one year, and includes the httpOnly flag to prevent clientside access from Javascript. You can override these settings by providing a cookieOptions key during configuration.\n\n    ```javascript\n\n    // Express app configuration code and lingua init.\n    app.configure(function() {\n        ...\n\n        // Lingua configuration\n        app.use(lingua(app, {\n            defaultLocale: 'en',\n            path: __dirname + '/i18n',\n            storageKey: 'lang', // http://domain.tld/?lang=de\n            cookieOptions: {\n                domain: '.domain.tld',    // to allow subdomains access to the same cookie, for instance\n                path: '/blog',            // to restrict the language cookie to a path\n                httpOnly: false,          // if you need access to this cookie from javascript on the client\n                expires: new Date(Date.now() + 24 * 60 * 60 * 1000),  // expire in 1 day instead of 1 year\n                secure: true              // for serving over https\n            }\n        }));\n\n        ...\n    });\n    ```\n\n    \n\n\n## Example Application\n\nThere is an example application at [./example](https://github.com/akoenig/express-lingua/tree/master/example)\n\nTo run it:\n\n    $ cd example\n    $ node app.js\n\nYou can find a deployed version of this app [here](http://lingua-demo.herokuapp.com/).\n\n## License\n\n[MIT License](http://www.opensource.org/licenses/mit-license.php)\n\n## Author\n\nCopyright (c) 2013, [André König](http://iam.andrekoenig.info)","homepage":"https://github.com/akoenig/express-lingua","bugs":{"url":"https://github.com/akoenig/express-lingua/issues"},"license":"MIT","readmeFilename":"README.md"}