Firefox 54 compatiblity for locale service

This commit is contained in:
Dan Stillman 2017-05-25 19:49:20 -04:00
parent 4bdef6d24a
commit 7f52280a95
3 changed files with 31 additions and 18 deletions

View File

@ -248,7 +248,14 @@ function getTooltipText(button) {
let src = 'chrome://zotero/locale/zotero.properties'; let src = 'chrome://zotero/locale/zotero.properties';
let localeService = Components.classes['@mozilla.org/intl/nslocaleservice;1'] let localeService = Components.classes['@mozilla.org/intl/nslocaleservice;1']
.getService(Components.interfaces.nsILocaleService); .getService(Components.interfaces.nsILocaleService);
let appLocale = localeService.getApplicationLocale(); Components.utils.import("resource://gre/modules/Services.jsm");
if (Services.locale.getAppLocale) {
var appLocale = Services.locale.getAppLocale();
}
// Fx <=53
else {
var appLocale = Services.locale.getApplicationLocale();
}
let stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"] let stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService); .getService(Components.interfaces.nsIStringBundleService);
let stringBundle = stringBundleService.createBundle(src, appLocale); let stringBundle = stringBundleService.createBundle(src, appLocale);

View File

@ -270,9 +270,13 @@ Components.utils.import("resource://gre/modules/Services.jsm");
var stringBundleService = var stringBundleService =
Components.classes["@mozilla.org/intl/stringbundle;1"] Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService); .getService(Components.interfaces.nsIStringBundleService);
var localeService = Components.classes['@mozilla.org/intl/nslocaleservice;1']. if (Services.locale.getAppLocale) {
getService(Components.interfaces.nsILocaleService); var appLocale = Services.locale.getAppLocale();
var appLocale = localeService.getApplicationLocale(); }
// Fx <=53
else {
var appLocale = Services.locale.getApplicationLocale();
}
_localizedStringBundle = stringBundleService.createBundle( _localizedStringBundle = stringBundleService.createBundle(
"chrome://zotero/locale/zotero.properties", appLocale); "chrome://zotero/locale/zotero.properties", appLocale);
@ -1492,17 +1496,13 @@ Components.utils.import("resource://gre/modules/Services.jsm");
return this.collation; return this.collation;
} }
var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"] Components.utils.import("resource://gre/modules/Services.jsm");
.getService(Components.interfaces.nsILocaleService); if (Services.locale.getAppLocale) {
var appLocale = localeService.getApplicationLocale(); var appLocale = Services.locale.getAppLocale();
}
// Use nsICollation before Fx30 // Fx <=53
if (Zotero.platformMajorVersion < 30) { else {
var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"] var appLocale = Services.locale.getApplicationLocale();
.getService(Components.interfaces.nsILocaleService);
var collationFactory = Components.classes["@mozilla.org/intl/collation-factory;1"]
.getService(Components.interfaces.nsICollationFactory);
return this.collation = collationFactory.CreateCollation(appLocale);
} }
try { try {

View File

@ -7,9 +7,15 @@ var lastJumpToYearValue;
*/ */
function initLocaleBundle() { function initLocaleBundle() {
var src = 'chrome://zotero/locale/timeline.properties'; var src = 'chrome://zotero/locale/timeline.properties';
var localeService = Components.classes['@mozilla.org/intl/nslocaleservice;1']
.getService(Components.interfaces.nsILocaleService); Components.utils.import("resource://gre/modules/Services.jsm");
var appLocale = localeService.getApplicationLocale(); if (Services.locale.getAppLocale) {
var appLocale = Services.locale.getAppLocale();
}
// Fx <=53
else {
var appLocale = Services.locale.getApplicationLocale();
}
var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"] var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService); .getService(Components.interfaces.nsIStringBundleService);