commit 55280e52560ee3b04cdcc38aac3c14c1272e7a00
parent 48b5bc8beefbf4618b4848a4eb0ecf29b114a107
Author: Simon Kornblith <simon@simonster.com>
Date: Fri, 17 Jun 2011 20:05:48 +0000
- fix Zotero.loadTranslator() from sandbox
- add (currently only en-US) months to Zotero.Date for connectors (localization is #1830)
Diffstat:
2 files changed, 32 insertions(+), 19 deletions(-)
diff --git a/chrome/content/zotero/xpcom/date.js b/chrome/content/zotero/xpcom/date.js
@@ -51,19 +51,28 @@ Zotero.Date = new function(){
* Load dateFormat bundle into _dateFormatsBundle
*/
function _loadDateFormatsBundle() {
- var src = 'chrome://global/locale/dateFormat.properties';
- var localeService = Components.classes['@mozilla.org/intl/nslocaleservice;1'].
- getService(Components.interfaces.nsILocaleService);
- var appLocale = localeService.getApplicationLocale();
-
- var bundle =
- Components.classes["@mozilla.org/intl/stringbundle;1"]
- .getService(Components.interfaces.nsIStringBundleService).createBundle(src, appLocale);
-
- _months = {"short":[], "long":[]};
- for(var i=1; i<=12; i++) {
- _months.short.push(bundle.GetStringFromName("month."+i+".Mmm"));
- _months.long.push(bundle.GetStringFromName("month."+i+".name"));
+ if(Zotero.isFx) {
+ var src = 'chrome://global/locale/dateFormat.properties';
+ var localeService = Components.classes['@mozilla.org/intl/nslocaleservice;1'].
+ getService(Components.interfaces.nsILocaleService);
+ var appLocale = localeService.getApplicationLocale();
+
+ var bundle =
+ Components.classes["@mozilla.org/intl/stringbundle;1"]
+ .getService(Components.interfaces.nsIStringBundleService).createBundle(src, appLocale);
+
+ _months = {"short":[], "long":[]};
+ for(var i=1; i<=12; i++) {
+ _months.short.push(bundle.GetStringFromName("month."+i+".Mmm"));
+ _months.long.push(bundle.GetStringFromName("month."+i+".name"));
+ }
+ } else {
+ // TODO localize for Chrome/Safari
+ _months = {
+ "short":["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep",
+ "Oct", "Nov", "Dec"],
+ "long":["January", "February", "March", "April", "May", "June", "July",
+ "Auguest", "September", "October", "November", "December"]};
}
}
diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js
@@ -181,11 +181,15 @@ Zotero.Translate.Sandbox = {
translation.setHandler(arg1,
function(obj, item) {
try {
- // necessary to get around object wrappers
- if(Zotero.isFx && arg1 == "itemDone"
- && (translate instanceof Zotero.Translate.Web
- || translate instanceof Zotero.Translate.Search)) {
- item = translate._sandboxManager.sandbox.Zotero._transferItem(JSON.stringify(item));
+ if(arg1 == "itemDone") {
+ if(Zotero.isFx && (translate instanceof Zotero.Translate.Web
+ || translate instanceof Zotero.Translate.Search)) {
+ // necessary to get around object wrappers in Firefox
+ item = translate._sandboxManager.sandbox.Zotero._transferItem(JSON.stringify(item));
+ } else {
+ // otherwise, just use parent translator's complete function
+ item.complete = translate._sandboxManager.sandbox.Zotero.Item.prototype.complete;
+ }
}
arg2(obj, item);
} catch(e) {
@@ -665,7 +669,7 @@ Zotero.Translate.Base.prototype = {
}
for(var i in this._handlers[type]) {
- Zotero.debug("Translate: running handler "+i+" for "+type, 5);
+ Zotero.debug("Translate: Running handler "+i+" for "+type, 5);
try {
returnValue = this._handlers[type][i].apply(null, args);
} catch(e) {