|
|
@@ -24,7 +24,8 @@
|
|
|
/* global browser, window, document, localStorage, FileReader, location, fetch, TextDecoder, DOMParser, HTMLElement, MouseEvent */
|
|
|
|
|
|
const HELP_ICON_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABIUlEQVQ4y+2TsarCMBSGvxTBRdqiUZAWOrhJB9EXcPKFfCvfQYfulUKHDqXg4CYUJSioYO4mSDX3ttzt3n87fMlHTpIjlsulxpDZbEYYhgghSNOUOI5Ny2mZYBAELBYLer0eAJ7ncTweKYri4x7LJJRS0u12n7XrukgpjSc0CpVSXK/XZ32/31FKNW85z3PW6zXT6RSAJEnIsqy5UGvNZrNhu90CcDqd+C6tT6J+v//2Th+PB2VZ1hN2Oh3G4zGTyQTbtl/YbrdjtVpxu91+Ljyfz0RRhG3bzOfzF+Y4TvNXvlwuaK2pE4tfzr/wzwsty0IIURlL0998KxRCMBqN8H2/wlzXJQxD2u12vVkeDoeUZUkURRU+GAw4HA7s9/sK+wK6CWHasQ/S/wAAAABJRU5ErkJggg==";
|
|
|
-const HELP_PAGE_PATH = "/src/ui/pages/help.html";
|
|
|
+const HELP_PAGE_PATH_PREFIX = "/src/ui/pages/help";
|
|
|
+const HELP_PAGE_PATH_DEFAULT = "/src/ui/pages/help.html";
|
|
|
let DEFAULT_PROFILE_NAME,
|
|
|
DISABLED_PROFILE_NAME,
|
|
|
CURRENT_PROFILE_NAME,
|
|
|
@@ -1485,7 +1486,9 @@ async function prompt(message, positionY, defaultValue = "") {
|
|
|
}
|
|
|
|
|
|
async function getHelpContents() {
|
|
|
- const helpPage = await fetch(browser.runtime.getURL(HELP_PAGE_PATH));
|
|
|
+ const helpPageURL = await getHelpPageURL();
|
|
|
+ helpLabel.href = helpPageURL;
|
|
|
+ const helpPage = await fetch(helpPageURL);
|
|
|
const content = new TextDecoder().decode(await helpPage.arrayBuffer());
|
|
|
const doc = (new DOMParser()).parseFromString(content, "text/html");
|
|
|
const items = doc.querySelectorAll("[data-options-label]");
|
|
|
@@ -1528,7 +1531,7 @@ async function getHelpContents() {
|
|
|
helpContent.querySelectorAll("a[href]").forEach(linkElement => {
|
|
|
const hrefValue = linkElement.getAttribute("href");
|
|
|
if (hrefValue.startsWith("#")) {
|
|
|
- linkElement.href = browser.runtime.getURL(HELP_PAGE_PATH + linkElement.getAttribute("href"));
|
|
|
+ linkElement.href = helpPageURL + hrefValue;
|
|
|
linkElement.target = "_blank";
|
|
|
}
|
|
|
});
|
|
|
@@ -1537,6 +1540,30 @@ async function getHelpContents() {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+async function getHelpPageURL() {
|
|
|
+ const language = browser.i18n.getUILanguage().replace(/-/g, "_");
|
|
|
+ try {
|
|
|
+ const url = browser.runtime.getURL(HELP_PAGE_PATH_PREFIX + "_" + language + ".html");
|
|
|
+ await (await fetch(url)).arrayBuffer();
|
|
|
+ return url;
|
|
|
+ } catch (_error) {
|
|
|
+ try {
|
|
|
+ const url = browser.runtime.getURL(HELP_PAGE_PATH_PREFIX + "_" + language.split("_")[0] + ".html");
|
|
|
+ await (await fetch(url)).arrayBuffer();
|
|
|
+ return url;
|
|
|
+ } catch (_error) {
|
|
|
+ try {
|
|
|
+ const url = browser.runtime.getURL(HELP_PAGE_PATH_PREFIX + "_" + language.split("_")[1] + ".html");
|
|
|
+ await (await fetch(url)).arrayBuffer();
|
|
|
+ return url;
|
|
|
+ }
|
|
|
+ catch (_error) {
|
|
|
+ return browser.runtime.getURL(HELP_PAGE_PATH_DEFAULT);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
function getLocalStorageItem(key) {
|
|
|
try {
|
|
|
return localStorage.getItem(key);
|