Parse item flags.
This commit is contained in:
parent
b2e53d790b
commit
fff8349e25
@ -113,6 +113,13 @@ PO.parse = function (data) {
|
|||||||
finish();
|
finish();
|
||||||
item.references.push(trim(line.replace(/^#:/, '')));
|
item.references.push(trim(line.replace(/^#:/, '')));
|
||||||
}
|
}
|
||||||
|
else if (line.match(/^#,/)) { // Flags
|
||||||
|
finish();
|
||||||
|
var flags = trim(line.replace(/^#,/, '')).split(",");
|
||||||
|
for (var i = 0; i < flags.length; i++) {
|
||||||
|
item.flags[flags[i]] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (line.match(/^#/)) { // Comment
|
else if (line.match(/^#/)) { // Comment
|
||||||
finish();
|
finish();
|
||||||
item.comments.push(trim(line.replace(/^#/, '')));
|
item.comments.push(trim(line.replace(/^#/, '')));
|
||||||
@ -157,6 +164,7 @@ PO.Item = function () {
|
|||||||
this.msgid_plural = null;
|
this.msgid_plural = null;
|
||||||
this.msgstr = [];
|
this.msgstr = [];
|
||||||
this.comments = [];
|
this.comments = [];
|
||||||
|
this.flags = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
PO.Item.prototype.toString = function () {
|
PO.Item.prototype.toString = function () {
|
||||||
|
20
test/fixtures/fuzzy.po
vendored
Normal file
20
test/fixtures/fuzzy.po
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# French translation of Link (6.x-2.9)
|
||||||
|
# Copyright (c) 2011 by the French translation team
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Link (6.x-2.9)\n"
|
||||||
|
"POT-Creation-Date: 2011-12-31 23:39+0000\n"
|
||||||
|
"PO-Revision-Date: 2013-12-17 14:59+0100\n"
|
||||||
|
"Language-Team: French\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
"Last-Translator: Ruben Vermeersch <ruben@rocketeer.be>\n"
|
||||||
|
"Language: fr\n"
|
||||||
|
"X-Generator: Poedit 1.6.2\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Sources"
|
||||||
|
msgstr "Source"
|
@ -50,4 +50,16 @@ describe('Parse', function () {
|
|||||||
assert.equal(item.msgstr, "Y");
|
assert.equal(item.msgstr, "Y");
|
||||||
assert.deepEqual(item.references, ["a", "b"]);
|
assert.deepEqual(item.references, ["a", "b"]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Parses flags', function () {
|
||||||
|
var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/fuzzy.po', 'utf8'));
|
||||||
|
assert.notEqual(po, null);
|
||||||
|
assert.equal(po.items.length, 1);
|
||||||
|
|
||||||
|
var item = po.items[0];
|
||||||
|
assert.equal(item.msgid, "Sources");
|
||||||
|
assert.equal(item.msgstr, "Source");
|
||||||
|
assert.notEqual(item.flags, null);
|
||||||
|
assert.equal(item.flags.fuzzy, true);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user