Compare commits
	
		
			3 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 03a257b40d | ||
|  | 58875dc119 | ||
|  | a6937bb7f0 | 
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "pofile", |   "name": "pofile", | ||||||
|   "version": "1.0.8", |   "version": "1.0.9", | ||||||
|   "authors": [ |   "authors": [ | ||||||
|     "Ruben Vermeersch <ruben@rocketeer.be>" |     "Ruben Vermeersch <ruben@rocketeer.be>" | ||||||
|   ], |   ], | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								dist/pofile.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								dist/pofile.js
									
									
									
									
										vendored
									
									
								
							| @@ -316,6 +316,15 @@ PO.Item.prototype.toString = function () { | |||||||
|         return lines; |         return lines; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     //handle \n in single-line texts (can not be handled in _escape) | ||||||
|  |     var _processLineBreak = function (keyword, text, index) { | ||||||
|  |         var processed = _process(keyword, text, index); | ||||||
|  |         for (var i = 1; i < processed.length - 1; i++) { | ||||||
|  |             processed[i] = processed[i].slice(0, -1) + '\\n"'; | ||||||
|  |         } | ||||||
|  |         return processed; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|     // https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html |     // https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html | ||||||
|     // says order is translator-comments, extracted-comments, references, flags |     // says order is translator-comments, extracted-comments, references, flags | ||||||
|  |  | ||||||
| @@ -351,7 +360,8 @@ PO.Item.prototype.toString = function () { | |||||||
|  |  | ||||||
|             if (Array.isArray(text) && text.length > 1) { |             if (Array.isArray(text) && text.length > 1) { | ||||||
|                 text.forEach(function (t, i) { |                 text.forEach(function (t, i) { | ||||||
|                     lines = lines.concat(mkObsolete + _process(keyword, t, i)); |                     var processed = _processLineBreak(keyword, t, i); | ||||||
|  |                     lines = lines.concat(mkObsolete + processed.join('\n' + mkObsolete)); | ||||||
|                 }); |                 }); | ||||||
|             } else if (self.msgid_plural && keyword === 'msgstr' && !hasTranslation) { |             } else if (self.msgid_plural && keyword === 'msgstr' && !hasTranslation) { | ||||||
|                 for (var pluralIndex = 0; pluralIndex < self.nplurals; pluralIndex++) { |                 for (var pluralIndex = 0; pluralIndex < self.nplurals; pluralIndex++) { | ||||||
| @@ -362,11 +372,7 @@ PO.Item.prototype.toString = function () { | |||||||
|                     0 : |                     0 : | ||||||
|                     undefined; |                     undefined; | ||||||
|                 text = Array.isArray(text) ? text.join() : text; |                 text = Array.isArray(text) ? text.join() : text; | ||||||
|                 var processed = _process(keyword, text, index); |                 var processed = _processLineBreak(keyword, text, index); | ||||||
|                 //handle \n in single-line texts (can not be handled in _escape) |  | ||||||
|                 for (var i = 1; i < processed.length - 1; i++) { |  | ||||||
|                     processed[i] = processed[i].slice(0, -1) + '\\n"'; |  | ||||||
|                 } |  | ||||||
|                 lines = lines.concat(mkObsolete + processed.join('\n' + mkObsolete)); |                 lines = lines.concat(mkObsolete + processed.join('\n' + mkObsolete)); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								dist/pofile.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/pofile.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										18
									
								
								lib/po.js
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								lib/po.js
									
									
									
									
									
								
							| @@ -313,6 +313,15 @@ PO.Item.prototype.toString = function () { | |||||||
|         return lines; |         return lines; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     //handle \n in single-line texts (can not be handled in _escape) | ||||||
|  |     var _processLineBreak = function (keyword, text, index) { | ||||||
|  |         var processed = _process(keyword, text, index); | ||||||
|  |         for (var i = 1; i < processed.length - 1; i++) { | ||||||
|  |             processed[i] = processed[i].slice(0, -1) + '\\n"'; | ||||||
|  |         } | ||||||
|  |         return processed; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|     // https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html |     // https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html | ||||||
|     // says order is translator-comments, extracted-comments, references, flags |     // says order is translator-comments, extracted-comments, references, flags | ||||||
|  |  | ||||||
| @@ -348,7 +357,8 @@ PO.Item.prototype.toString = function () { | |||||||
|  |  | ||||||
|             if (Array.isArray(text) && text.length > 1) { |             if (Array.isArray(text) && text.length > 1) { | ||||||
|                 text.forEach(function (t, i) { |                 text.forEach(function (t, i) { | ||||||
|                     lines = lines.concat(mkObsolete + _process(keyword, t, i)); |                     var processed = _processLineBreak(keyword, t, i); | ||||||
|  |                     lines = lines.concat(mkObsolete + processed.join('\n' + mkObsolete)); | ||||||
|                 }); |                 }); | ||||||
|             } else if (self.msgid_plural && keyword === 'msgstr' && !hasTranslation) { |             } else if (self.msgid_plural && keyword === 'msgstr' && !hasTranslation) { | ||||||
|                 for (var pluralIndex = 0; pluralIndex < self.nplurals; pluralIndex++) { |                 for (var pluralIndex = 0; pluralIndex < self.nplurals; pluralIndex++) { | ||||||
| @@ -359,11 +369,7 @@ PO.Item.prototype.toString = function () { | |||||||
|                     0 : |                     0 : | ||||||
|                     undefined; |                     undefined; | ||||||
|                 text = Array.isArray(text) ? text.join() : text; |                 text = Array.isArray(text) ? text.join() : text; | ||||||
|                 var processed = _process(keyword, text, index); |                 var processed = _processLineBreak(keyword, text, index); | ||||||
|                 //handle \n in single-line texts (can not be handled in _escape) |  | ||||||
|                 for (var i = 1; i < processed.length - 1; i++) { |  | ||||||
|                     processed[i] = processed[i].slice(0, -1) + '\\n"'; |  | ||||||
|                 } |  | ||||||
|                 lines = lines.concat(mkObsolete + processed.join('\n' + mkObsolete)); |                 lines = lines.concat(mkObsolete + processed.join('\n' + mkObsolete)); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| { | { | ||||||
|   "name": "pofile", |   "name": "pofile", | ||||||
|   "description": "Parse and serialize Gettext PO files.", |   "description": "Parse and serialize Gettext PO files.", | ||||||
|   "version": "1.0.8", |   "version": "1.0.9", | ||||||
|   "author": { |   "author": { | ||||||
|     "name": "Ruben Vermeersch", |     "name": "Ruben Vermeersch", | ||||||
|     "email": "ruben@savanne.be", |     "email": "ruben@savanne.be", | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								test/fixtures/c-strings.po
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								test/fixtures/c-strings.po
									
									
									
									
										vendored
									
									
								
							| @@ -57,3 +57,17 @@ msgid "" | |||||||
| msgstr "" | msgstr "" | ||||||
| "\a\b\t\n" | "\a\b\t\n" | ||||||
| "\v\f\r" | "\v\f\r" | ||||||
|  |  | ||||||
|  | # plural text must suport \n | ||||||
|  | msgid "" | ||||||
|  | "Test.\n" | ||||||
|  | " multiline." | ||||||
|  | msgid_plural "" | ||||||
|  | "Test\n" | ||||||
|  | " multiline plural." | ||||||
|  | msgstr[0] "" | ||||||
|  | "Test.\n" | ||||||
|  | " mehrzeilig." | ||||||
|  | msgstr[1] "" | ||||||
|  | "Test.\n" | ||||||
|  | " mehrzeilig Plural." | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user