diff options
| author | Pete Bacon Darwin | 2013-04-17 22:13:49 +0100 | 
|---|---|---|
| committer | Pete Bacon Darwin | 2013-04-17 22:13:49 +0100 | 
| commit | 695c54c17b3299cd6170c45878b41cb46a577cd2 (patch) | |
| tree | 00231bfa167c7a188ed59d37b8eb9ae6d6b09d2e /i18n/src/closureI18nExtractor.js | |
| parent | 363e4cbf649de4c5206f1904ee76f89301ceaab0 (diff) | |
| download | angular.js-695c54c17b3299cd6170c45878b41cb46a577cd2.tar.bz2 | |
fix(i18n): escape all chars above \u007f in locale files
Modify the script that writes the locales so all characters above \u007f are escaped
Includes the updated locale files after running the closureI18nExtractor.
Closes #2417
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;  } | 
