diff options
Diffstat (limited to 'i18n/src/closureI18nExtractor.js')
| -rw-r--r-- | i18n/src/closureI18nExtractor.js | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/i18n/src/closureI18nExtractor.js b/i18n/src/closureI18nExtractor.js index a26f89b7..13d42143 100644 --- a/i18n/src/closureI18nExtractor.js +++ b/i18n/src/closureI18nExtractor.js @@ -9,6 +9,7 @@ exports.pluralExtractor = pluralExtractor;  exports.outputLocale = outputLocale;  exports.correctedLocaleId = correctedLocaleId;  exports.findLocaleId = findLocaleId; +exports.serializeContent = serializeContent;  var goog = { provide: function() {},    require: function() {}, @@ -125,6 +126,12 @@ function canonicalizeForJsonStringify(unused_key, object) {    return result;  } +function serializeContent(localeObj) { +  return JSON.stringify(localeObj, canonicalizeForJsonStringify, '  ') +    .replace(new RegExp('[\\u007f-\\uffff]', 'g'), function(c) { return '\\u'+('0000'+c.charCodeAt(0).toString(16)).slice(-4); }) +    .replace(/"@@|@@"/g, ''); +} +  function outputLocale(localeInfo, localeID) {    var fallBackID = localeID.match(/[A-Za-z]+/)[0],        localeObj = localeInfo[localeID], @@ -167,9 +174,7 @@ function outputLocale(localeInfo, localeID) {      id: localeObj.id    }; -  var content = JSON.stringify(localeInfo[localeID], canonicalizeForJsonStringify, '  ') -      .replace(/\ยค/g, '\\u00A4') -      .replace(/"@@|@@"/g, ''); +  var content = serializeContent(localeInfo[localeID]);    return prefix + content + suffix;  } | 
