Wait a sec, aren't we reimplementating getPropertiesPathInZip here?
Can't be do something like this:
```
var localeDir = utils.getFile(self.localeBaseDir, locale); 
if (isShared) {
  propFile = utils.getFile(localeDir, getPropertiesPathInZip(webapp, removeLocaleString(originalPath)));
} else {
  propFile = utils.getFile(localeDir, webapp.sourceDirectoryFile.parent.leafName, webapp.sourceDirectoryFile.leafName, getPropertiesPathInZip(webapp, removeLocaleString(originalPath)));
}
```
Also I'm wondering if the relative path isn't just the relative path to the gaia dir in both cases?
`var propFile = utils.getFile(self.localeBaseDir, locale, removeLocaleString(originalPath.substr(self.gaiaDir.length)));`