Parse item flags.
This commit is contained in:
parent
b2e53d790b
commit
fff8349e25
@ -113,6 +113,13 @@ PO.parse = function (data) {
|
||||
finish();
|
||||
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
|
||||
finish();
|
||||
item.comments.push(trim(line.replace(/^#/, '')));
|
||||
@ -157,6 +164,7 @@ PO.Item = function () {
|
||||
this.msgid_plural = null;
|
||||
this.msgstr = [];
|
||||
this.comments = [];
|
||||
this.flags = {};
|
||||
};
|
||||
|
||||
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.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