From 71bb04f0465906a2aba1cd80dda8df00afa7c12c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20B=C3=A4ume?= Date: Tue, 22 Sep 2015 10:40:49 +0200 Subject: [PATCH] add support for po files without headers basically fix all the examples. --- lib/po.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/po.js b/lib/po.js index 6e1e2cd..6407079 100644 --- a/lib/po.js +++ b/lib/po.js @@ -64,10 +64,15 @@ PO.parse = function (data) { data = data.replace(/\r\n/g, '\n'); var po = new PO(); var sections = data.split(/\n\n/); - var headers = [sections.shift()]; + var headers = []; //everything until the first 'msgid ""' is considered header - while (headers[headers.length - 1].indexOf('msgid ""') < 0) { - headers.push(sections.shift()); + while (sections[0] && (headers.length === 0 || headers[headers.length - 1].indexOf('msgid ""') < 0)) { + if (sections[0].match(/msgid "[^"]/)) { + //found first real string, adding a dummy header item + headers.push('msgid ""'); + } else { + headers.push(sections.shift()); + } } headers = headers.join('\n'); var lines = sections.join('\n').split(/\n/);