Parse item flags.
This commit is contained in:
		| @@ -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); | ||||||
|  |     }); | ||||||
| }); | }); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user