diff --git a/dist/pofile.js b/dist/pofile.js index b28c5ec..deb9e97 100644 --- a/dist/pofile.js +++ b/dist/pofile.js @@ -1,8 +1,5 @@ -require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 1) { + if (Array.isArray(text) && text.length > 1) { text.forEach(function (t, i) { lines = lines.concat(mkObsolete + _process(keyword, t, i)); }); } else { - text = isArray(text) ? text.join() : text; - var processed = _process(keyword, text); + var index = (self.msgid_plural && Array.isArray(text)) ? + 0 : + undefined; + text = Array.isArray(text) ? text.join() : text; + var processed = _process(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"'; @@ -341,89 +341,6 @@ PO.Item.prototype.toString = function () { module.exports = PO; -},{"fs":3,"lodash.isarray":4}],3:[function(require,module,exports){ +},{"fs":2}],2:[function(require,module,exports){ -},{}],4:[function(require,module,exports){ -/** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="npm" -o ./npm/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ -var isNative = require('lodash._isnative'); - -/** `Object#toString` result shortcuts */ -var arrayClass = '[object Array]'; - -/** Used for native method references */ -var objectProto = Object.prototype; - -/** Used to resolve the internal [[Class]] of values */ -var toString = objectProto.toString; - -/* Native method shortcuts for methods with the same name as other `lodash` methods */ -var nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray; - -/** - * Checks if `value` is an array. - * - * @static - * @memberOf _ - * @type Function - * @category Objects - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if the `value` is an array, else `false`. - * @example - * - * (function() { return _.isArray(arguments); })(); - * // => false - * - * _.isArray([1, 2, 3]); - * // => true - */ -var isArray = nativeIsArray || function(value) { - return value && typeof value == 'object' && typeof value.length == 'number' && - toString.call(value) == arrayClass || false; -}; - -module.exports = isArray; - -},{"lodash._isnative":5}],5:[function(require,module,exports){ -/** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="npm" -o ./npm/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - -/** Used for native method references */ -var objectProto = Object.prototype; - -/** Used to resolve the internal [[Class]] of values */ -var toString = objectProto.toString; - -/** Used to detect if a method is native */ -var reNative = RegExp('^' + - String(toString) - .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - .replace(/toString| for [^\]]+/g, '.*?') + '$' -); - -/** - * Checks if `value` is a native function. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if the `value` is a native function, else `false`. - */ -function isNative(value) { - return typeof value == 'function' && reNative.test(value); -} - -module.exports = isNative; - -},{}]},{},["W8CkM0"]) \ No newline at end of file +},{}]},{},[1]); diff --git a/dist/pofile.min.js b/dist/pofile.min.js index b065715..0af3e39 100644 --- a/dist/pofile.min.js +++ b/dist/pofile.min.js @@ -1 +1 @@ -require=function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0&&(m>=n&&(j.obsolete=!0),m=0,n=0,e.items.push(j),j=new g.Item)}function c(a){return a=d(a),a=a.replace(/^[^"]*"|"$/g,""),a=a.replace(/\\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))/g,function(a,b,c,d){if(c)return String.fromCharCode(parseInt(c,8));if(d)return String.fromCharCode(parseInt(d,16));switch(b){case"a":return"";case"b":return"\b";case"t":return" ";case"n":return"\n";case"v":return" ";case"f":return"\f";case"r":return"\r";default:return b}})}a=a.replace(/\r\n/g,"\n");for(var e=new g,f=a.split(/\n\n/),h=[];f[0]&&(0===h.length||h[h.length-1].indexOf('msgid ""')<0);)f[0].match(/msgid "[^"]/)?h.push('msgid ""'):h.push(f.shift());h=h.join("\n");var i=f.join("\n").split(/\n/);e.headers={"Project-Id-Version":"","Report-Msgid-Bugs-To":"","POT-Creation-Date":"","PO-Revision-Date":"","Last-Translator":"",Language:"","Language-Team":"","Content-Type":"","Content-Transfer-Encoding":"","Plural-Forms":""},h.split(/\n/).reduce(function(a,b){return a.merge&&(b=a.pop().slice(0,-1)+b.slice(1),delete a.merge),/^".*"$/.test(b)&&!/^".*\\n"$/.test(b)&&(a.merge=!0),a.push(b),a},[]).forEach(function(a){if(a.match(/^#\./))e.extractedComments.push(a.replace(/^#\.\s*/,""));else if(a.match(/^#/))e.comments.push(a.replace(/^#\s*/,""));else if(a.match(/^"/)){a=a.trim().replace(/^"/,"").replace(/\\n"$/,"");var b=a.split(/:/),c=b.shift().trim(),d=b.join(":").trim();e.headers[c]=d}});for(var j=new g.Item,k=null,l=0,m=0,n=0;i.length>0;){var o=d(i.shift()),p=!1;if(o.match(/^#\~/)&&(o=d(o.substring(2)),p=!0),o.match(/^#:/))b(),j.references.push(d(o.replace(/^#:/,"")));else if(o.match(/^#,/)){b();for(var q=d(o.replace(/^#,/,"")).split(","),r=0;r0&&(n++,"msgstr"===k?j.msgstr[l]+=c(o):"msgid"===k?j.msgid+=c(o):"msgid_plural"===k&&(j.msgid_plural+=c(o)));p&&m++}return b(),e},g.Item=function(){this.msgid="",this.msgctxt=null,this.references=[],this.msgid_plural=null,this.msgstr=[],this.comments=[],this.extractedComments=[],this.flags={},this.obsolete=!1},g.Item.prototype.toString=function(){var a=[],b=this,c=function(a){return a=a.replace(/[\x07\b\t\v\f\r"\\]/g,function(a){switch(a){case"":return"\\a";case"\b":return"\\b";case" ":return"\\t";case" ":return"\\v";case"\f":return"\\f";case"\r":return"\\r";default:return"\\"+a}})},d=function(a,b,d){var e=[],f=b.split(/\n/),g="undefined"!=typeof d?"["+d+"]":"";return f.length>1?(e.push(a+g+' ""'),f.forEach(function(a){e.push('"'+c(a)+'"')})):e.push(a+g+' "'+c(b)+'"'),e};this.comments.forEach(function(b){a.push("# "+b)}),this.extractedComments.forEach(function(b){a.push("#. "+b)}),this.references.forEach(function(b){a.push("#: "+b)});var e=Object.keys(this.flags).filter(function(a){return!!this.flags[a]},this);e.length>0&&a.push("#, "+e.join(","));var g=this.obsolete?"#~ ":"";return["msgctxt","msgid","msgid_plural","msgstr"].forEach(function(c){var e=b[c];if(null!=e)if(f(e)&&e.length>1)e.forEach(function(b,e){a=a.concat(g+d(c,b,e))});else{e=f(e)?e.join():e;for(var h=d(c,e),i=1;i0&&(m>=n&&(j.obsolete=!0),m=0,n=0,e.items.push(j),j=new f.Item)}function c(a){return a=d(a),a=a.replace(/^[^"]*"|"$/g,""),a=a.replace(/\\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))/g,function(a,b,c,d){if(c)return String.fromCharCode(parseInt(c,8));if(d)return String.fromCharCode(parseInt(d,16));switch(b){case"a":return"";case"b":return"\b";case"t":return"\t";case"n":return"\n";case"v":return"\v";case"f":return"\f";case"r":return"\r";default:return b}})}a=a.replace(/\r\n/g,"\n");for(var e=new f,g=a.split(/\n\n/),h=[];g[0]&&(0===h.length||h[h.length-1].indexOf('msgid ""')<0);)g[0].match(/msgid "[^"]/)?h.push('msgid ""'):h.push(g.shift());h=h.join("\n");var i=g.join("\n").split(/\n/);e.headers={"Project-Id-Version":"","Report-Msgid-Bugs-To":"","POT-Creation-Date":"","PO-Revision-Date":"","Last-Translator":"",Language:"","Language-Team":"","Content-Type":"","Content-Transfer-Encoding":"","Plural-Forms":""},h.split(/\n/).reduce(function(a,b){return a.merge&&(b=a.pop().slice(0,-1)+b.slice(1),delete a.merge),/^".*"$/.test(b)&&!/^".*\\n"$/.test(b)&&(a.merge=!0),a.push(b),a},[]).forEach(function(a){if(a.match(/^#\./))e.extractedComments.push(a.replace(/^#\.\s*/,""));else if(a.match(/^#/))e.comments.push(a.replace(/^#\s*/,""));else if(a.match(/^"/)){a=a.trim().replace(/^"/,"").replace(/\\n"$/,"");var b=a.split(/:/),c=b.shift().trim(),d=b.join(":").trim();e.headers[c]=d}});for(var j=new f.Item,k=null,l=0,m=0,n=0;i.length>0;){var o=d(i.shift()),p=!1;if(o.match(/^#\~/)&&(o=d(o.substring(2)),p=!0),o.match(/^#:/))b(),j.references.push(d(o.replace(/^#:/,"")));else if(o.match(/^#,/)){b();for(var q=d(o.replace(/^#,/,"")).split(","),r=0;r0&&(n++,"msgstr"===k?j.msgstr[l]+=c(o):"msgid"===k?j.msgid+=c(o):"msgid_plural"===k&&(j.msgid_plural+=c(o)));p&&m++}return b(),e},f.Item=function(){this.msgid="",this.msgctxt=null,this.references=[],this.msgid_plural=null,this.msgstr=[],this.comments=[],this.extractedComments=[],this.flags={},this.obsolete=!1},f.Item.prototype.toString=function(){var a=[],b=this,c=function(a){return a=a.replace(/[\x07\b\t\v\f\r"\\]/g,function(a){switch(a){case"":return"\\a";case"\b":return"\\b";case"\t":return"\\t";case"\v":return"\\v";case"\f":return"\\f";case"\r":return"\\r";default:return"\\"+a}})},d=function(a,b,d){var e=[],f=b.split(/\n/),g="undefined"!=typeof d?"["+d+"]":"";return f.length>1?(e.push(a+g+' ""'),f.forEach(function(a){e.push('"'+c(a)+'"')})):e.push(a+g+' "'+c(b)+'"'),e};this.comments.forEach(function(b){a.push("# "+b)}),this.extractedComments.forEach(function(b){a.push("#. "+b)}),this.references.forEach(function(b){a.push("#: "+b)});var e=Object.keys(this.flags).filter(function(a){return!!this.flags[a]},this);e.length>0&&a.push("#, "+e.join(","));var f=this.obsolete?"#~ ":"";return["msgctxt","msgid","msgid_plural","msgstr"].forEach(function(c){var e=b[c];if(null!=e)if(Array.isArray(e)&&e.length>1)e.forEach(function(b,e){a=a.concat(f+d(c,b,e))});else{var g=b.msgid_plural&&Array.isArray(e)?0:void 0;e=Array.isArray(e)?e.join():e;for(var h=d(c,e,g),i=1;i