| Index: lib/utils.js | 
| =================================================================== | 
| --- a/lib/utils.js | 
| +++ b/lib/utils.js | 
| @@ -43,10 +43,23 @@ | 
| }, | 
| get appLocale() | 
| { | 
| -    let locale = ext.i18n.getMessage("@@ui_locale").replace(/_/g, "-"); | 
| +    let locale = ext.i18n.getUILanguage(); | 
| Object.defineProperty(this, "appLocale", {value: locale, enumerable: true}); | 
| return this.appLocale; | 
| }, | 
| +  get readingDirection() | 
| +  { | 
| +    let direction = ext.i18n.getMessage("@@bidi_dir"); | 
| +    // This fallback is only necessary for Microsoft Edge | 
| +    if (!direction) | 
| +      direction = /^(?:ar|fa|he|ug|ur)\b/.test(this.appLocale) ? "rtl" : "ltr"; | 
| +    Object.defineProperty( | 
| +      this, | 
| +      "readingDirection", | 
| +      {value: direction, enumerable: true} | 
| +    ); | 
| +    return this.readingDirection; | 
| +  }, | 
| generateChecksum(lines) | 
| { | 
| // We cannot calculate MD5 checksums yet :-( | 
|  |