browser-extension-settings 0.5.5 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/lib/extension-list.ts +2 -2
- package/lib/index.ts +1 -1
- package/lib/messages/de.ts +15 -0
- package/lib/messages/en.ts +1 -0
- package/lib/messages/es.ts +15 -0
- package/lib/messages/fr.ts +15 -0
- package/lib/messages/index.ts +55 -8
- package/lib/messages/it.ts +15 -0
- package/lib/messages/ja.ts +15 -0
- package/lib/messages/ko.ts +15 -0
- package/lib/messages/pt.ts +15 -0
- package/lib/messages/ru.ts +15 -0
- package/lib/messages/vi.ts +15 -0
- package/lib/messages/zh-cn.ts +1 -0
- package/lib/messages/zh-hk.ts +15 -0
- package/lib/messages/zh-tw.ts +15 -0
- package/lib/settings.ts +46 -9
- package/lib/style.scss +13 -13
- package/package.json +12 -8
package/README.md
CHANGED
|
@@ -19,6 +19,4 @@ Copyright (c) 2023 [Pipecraft](https://www.pipecraft.net). Licensed under the [M
|
|
|
19
19
|
## >\_
|
|
20
20
|
|
|
21
21
|
[](https://www.pipecraft.net)
|
|
22
|
-
[](https://utags.
|
|
23
|
-
[](https://dto.pipecraft.net)
|
|
24
|
-
[](https://www.bestxtools.com)
|
|
22
|
+
[](https://utags.link)
|
package/lib/extension-list.ts
CHANGED
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
createHTML,
|
|
8
8
|
removeClass,
|
|
9
9
|
} from "browser-extension-utils"
|
|
10
|
-
import { openButton, openInNewTabButton } from "./common"
|
|
11
|
-
import { i } from "./messages"
|
|
10
|
+
import { openButton, openInNewTabButton } from "./common.js"
|
|
11
|
+
import { i } from "./messages/index.js"
|
|
12
12
|
|
|
13
13
|
type InstalledExtension = {
|
|
14
14
|
id: string
|
package/lib/index.ts
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Einstellungen",
|
|
3
|
+
"settings.otherExtensions": "Andere Erweiterungen",
|
|
4
|
+
"settings.locale": "Sprache",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Einstellungsschaltfläche im Seitenmenü anzeigen",
|
|
6
|
+
"settings.menu.settings": "⚙️ Einstellungen",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Benutzer-Tags zu Links hinzufügen",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Link-Assistent",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - V2EX Minimalistischer Stil",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Hässliche Avatare ersetzen",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Weitere nützliche Benutzerskripte finden",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
package/lib/messages/en.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const messages = {
|
|
2
2
|
"settings.title": "Settings",
|
|
3
3
|
"settings.otherExtensions": "Other Extensions",
|
|
4
|
+
"settings.locale": "Language",
|
|
4
5
|
"settings.displaySettingsButtonInSideMenu": "Display Settings Button in Side Menu",
|
|
5
6
|
"settings.menu.settings": "⚙️ Settings",
|
|
6
7
|
"settings.extensions.utags.title": "🏷️ UTags - Add usertags to links",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Configuración",
|
|
3
|
+
"settings.otherExtensions": "Otras extensiones",
|
|
4
|
+
"settings.locale": "Idioma",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Mostrar botón de configuración en el menú lateral",
|
|
6
|
+
"settings.menu.settings": "⚙️ Configuración",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Agregar etiquetas de usuario a los enlaces",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Asistente de enlaces",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - Estilo minimalista V2EX",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Reemplazar avatares feos",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Encontrar más scripts de usuario útiles",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Paramètres",
|
|
3
|
+
"settings.otherExtensions": "Autres extensions",
|
|
4
|
+
"settings.locale": "Langue",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Afficher le bouton des paramètres dans le menu latéral",
|
|
6
|
+
"settings.menu.settings": "⚙️ Paramètres",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Ajouter des balises utilisateur aux liens",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Assistant de liens",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - Style minimaliste V2EX",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Remplacer les avatars laids",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Trouver plus de scripts utilisateur utiles",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
package/lib/messages/index.ts
CHANGED
|
@@ -1,8 +1,55 @@
|
|
|
1
|
-
import { initI18n } from "browser-extension-i18n"
|
|
2
|
-
import messagesEn from "./en"
|
|
3
|
-
import messagesZh from "./zh-cn"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { initAvailableLocales, initI18n, extractLocaleFromNavigator } from "browser-extension-i18n"
|
|
2
|
+
import messagesEn from "./en.js"
|
|
3
|
+
import messagesZh from "./zh-cn.js"
|
|
4
|
+
import messagesZhHk from "./zh-hk.js"
|
|
5
|
+
import messagesZhTw from "./zh-tw.js"
|
|
6
|
+
import messagesRu from "./ru.js"
|
|
7
|
+
import messagesKo from "./ko.js"
|
|
8
|
+
import messagesJa from "./ja.js"
|
|
9
|
+
import messagesFr from "./fr.js"
|
|
10
|
+
import messagesDe from "./de.js"
|
|
11
|
+
import messagesIt from "./it.js"
|
|
12
|
+
import messagesEs from "./es.js"
|
|
13
|
+
import messagesPt from "./pt.js"
|
|
14
|
+
import messagesVi from "./vi.js"
|
|
15
|
+
|
|
16
|
+
const localeMap = {
|
|
17
|
+
en: messagesEn,
|
|
18
|
+
"en-US": messagesEn,
|
|
19
|
+
zh: messagesZh,
|
|
20
|
+
"zh-CN": messagesZh,
|
|
21
|
+
"zh-HK": messagesZhHk,
|
|
22
|
+
"zh-TW": messagesZhTw,
|
|
23
|
+
ru: messagesRu,
|
|
24
|
+
"ru-RU": messagesRu,
|
|
25
|
+
ko: messagesKo,
|
|
26
|
+
"ko-KR": messagesKo,
|
|
27
|
+
ja: messagesJa,
|
|
28
|
+
"ja-JP": messagesJa,
|
|
29
|
+
fr: messagesFr,
|
|
30
|
+
"fr-FR": messagesFr,
|
|
31
|
+
de: messagesDe,
|
|
32
|
+
"de-DE": messagesDe,
|
|
33
|
+
it: messagesIt,
|
|
34
|
+
"it-IT": messagesIt,
|
|
35
|
+
es: messagesEs,
|
|
36
|
+
"es-ES": messagesEs,
|
|
37
|
+
pt: messagesPt,
|
|
38
|
+
"pt-PT": messagesPt,
|
|
39
|
+
"pt-BR": messagesPt,
|
|
40
|
+
vi: messagesVi,
|
|
41
|
+
"vi-VN": messagesVi,
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const locales = Object.keys(localeMap)
|
|
45
|
+
|
|
46
|
+
initAvailableLocales(locales)
|
|
47
|
+
|
|
48
|
+
export const prefferedLocale = extractLocaleFromNavigator() || "en"
|
|
49
|
+
|
|
50
|
+
// eslint-disable-next-line import/no-mutable-exports
|
|
51
|
+
export let i = initI18n(localeMap, prefferedLocale)
|
|
52
|
+
|
|
53
|
+
export function resetI18n(locale?: string) {
|
|
54
|
+
i = initI18n(localeMap, locale || prefferedLocale)
|
|
55
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Impostazioni",
|
|
3
|
+
"settings.otherExtensions": "Altre estensioni",
|
|
4
|
+
"settings.locale": "Lingua",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Mostra il pulsante delle impostazioni nel menu laterale",
|
|
6
|
+
"settings.menu.settings": "⚙️ Impostazioni",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Aggiungi tag utente ai collegamenti",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Assistente collegamenti",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - Stile minimalista V2EX",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Sostituisci avatar brutti",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Trova più script utente utili",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "設定",
|
|
3
|
+
"settings.otherExtensions": "その他の拡張機能",
|
|
4
|
+
"settings.locale": "言語",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "サイドメニューに設定ボタンを表示",
|
|
6
|
+
"settings.menu.settings": "⚙️ 設定",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - リンクにユーザータグを追加",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 リンクヘルパー",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - V2EX ミニマルスタイル",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "醜いアバターを置き換える",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "より便利なユーザースクリプトを見つける",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "설정",
|
|
3
|
+
"settings.otherExtensions": "다른 확장 프로그램",
|
|
4
|
+
"settings.locale": "언어",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "사이드 메뉴에 설정 버튼 표시",
|
|
6
|
+
"settings.menu.settings": "⚙️ 설정",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - 링크에 사용자 태그 추가",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 링크 도우미",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - V2EX 미니멀 스타일",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "못생긴 아바타 교체",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "더 유용한 사용자 스크립트 찾기",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Configurações",
|
|
3
|
+
"settings.otherExtensions": "Outras extensões",
|
|
4
|
+
"settings.locale": "Idioma",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Exibir botão de configurações no menu lateral",
|
|
6
|
+
"settings.menu.settings": "⚙️ Configurações",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Adicionar tags de usuário aos links",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Assistente de links",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - Estilo minimalista V2EX",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Substituir avatares feios",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Encontrar mais scripts de usuário úteis",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Настройки",
|
|
3
|
+
"settings.otherExtensions": "Другие расширения",
|
|
4
|
+
"settings.locale": "Язык",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Показать кнопку настроек в боковом меню",
|
|
6
|
+
"settings.menu.settings": "⚙️ Настройки",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Добавить пользовательские теги к ссылкам",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Помощник ссылок",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - V2EX Минималистичный стиль",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Заменить некрасивые аватары",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Найти больше полезных пользовательских скриптов",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "Cài đặt",
|
|
3
|
+
"settings.otherExtensions": "Tiện ích mở rộng khác",
|
|
4
|
+
"settings.locale": "Ngôn ngữ",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "Hiển thị nút cài đặt trong menu bên",
|
|
6
|
+
"settings.menu.settings": "⚙️ Cài đặt",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ UTags - Thêm thẻ người dùng vào liên kết",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 Trợ lý liên kết",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - Phong cách tối giản V2EX",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "Thay thế avatar xấu",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "Tìm thêm script người dùng hữu ích",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
package/lib/messages/zh-cn.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const messages = {
|
|
2
2
|
"settings.title": "设置",
|
|
3
3
|
"settings.otherExtensions": "其他扩展",
|
|
4
|
+
"settings.locale": "语言",
|
|
4
5
|
"settings.displaySettingsButtonInSideMenu": "在侧边栏菜单中显示设置按钮",
|
|
5
6
|
"settings.menu.settings": "⚙️ 设置",
|
|
6
7
|
"settings.extensions.utags.title": "🏷️ 小鱼标签 (UTags) - 为链接添加用户标签",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "設定",
|
|
3
|
+
"settings.otherExtensions": "其他擴充功能",
|
|
4
|
+
"settings.locale": "語言",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "在側邊欄選單中顯示設定按鈕",
|
|
6
|
+
"settings.menu.settings": "⚙️ 設定",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ 小魚標籤 (UTags) - 為連結添加用戶標籤",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 連結助手",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - V2EX 極簡風格",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "賜你個頭像吧",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "更多有趣的腳本",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
"settings.title": "設定",
|
|
3
|
+
"settings.otherExtensions": "其他擴充功能",
|
|
4
|
+
"settings.locale": "語言",
|
|
5
|
+
"settings.displaySettingsButtonInSideMenu": "在側邊欄選單中顯示設定按鈕",
|
|
6
|
+
"settings.menu.settings": "⚙️ 設定",
|
|
7
|
+
"settings.extensions.utags.title": "🏷️ 小魚標籤 (UTags) - 為連結新增使用者標籤",
|
|
8
|
+
"settings.extensions.links-helper.title": "🔗 連結助手",
|
|
9
|
+
"settings.extensions.v2ex.rep.title": "V2EX.REP - 专注提升 V2EX 主题回复浏览体验",
|
|
10
|
+
"settings.extensions.v2ex.min.title": "v2ex.min - V2EX 極簡風格",
|
|
11
|
+
"settings.extensions.replace-ugly-avatars.title": "替換醜陋的頭像",
|
|
12
|
+
"settings.extensions.more-by-pipecraft.title": "更多有趣的腳本",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default messages
|
package/lib/settings.ts
CHANGED
|
@@ -18,16 +18,16 @@ import {
|
|
|
18
18
|
runWhenHeadExists,
|
|
19
19
|
} from "browser-extension-utils"
|
|
20
20
|
import styleText from "data-text:./style.scss"
|
|
21
|
-
import { createSwitchOption } from "./switch"
|
|
21
|
+
import { createSwitchOption } from "./switch.js"
|
|
22
22
|
import {
|
|
23
23
|
createExtensionList,
|
|
24
24
|
addCurrentExtension,
|
|
25
25
|
activeExtension,
|
|
26
26
|
activeExtensionList,
|
|
27
27
|
deactiveExtensionList,
|
|
28
|
-
} from "./extension-list"
|
|
29
|
-
import { besVersion, settingButton } from "./common"
|
|
30
|
-
import { i } from "./messages"
|
|
28
|
+
} from "./extension-list.js"
|
|
29
|
+
import { besVersion, settingButton } from "./common.js"
|
|
30
|
+
import { i, prefferedLocale, resetI18n } from "./messages/index.js"
|
|
31
31
|
|
|
32
32
|
const prefix = "browser_extension_settings_"
|
|
33
33
|
|
|
@@ -82,9 +82,9 @@ type SettingsSelectItem = {
|
|
|
82
82
|
title: string
|
|
83
83
|
icon?: string
|
|
84
84
|
type: "select"
|
|
85
|
-
options:
|
|
85
|
+
options: Record<string, string | number>
|
|
86
86
|
group?: number
|
|
87
|
-
defaultValue?:
|
|
87
|
+
defaultValue?: string | number
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
type SettingsTipItem = {
|
|
@@ -321,7 +321,7 @@ function createSettingsElement() {
|
|
|
321
321
|
})
|
|
322
322
|
|
|
323
323
|
addElement(settingsMain, "a", {
|
|
324
|
-
textContent: "
|
|
324
|
+
textContent: i("settings.title"),
|
|
325
325
|
class: "navigation_go_previous",
|
|
326
326
|
onclick() {
|
|
327
327
|
activeExtensionList()
|
|
@@ -483,7 +483,11 @@ function createSettingsElement() {
|
|
|
483
483
|
})
|
|
484
484
|
break
|
|
485
485
|
}
|
|
486
|
+
|
|
486
487
|
// No default
|
|
488
|
+
default: {
|
|
489
|
+
break
|
|
490
|
+
}
|
|
487
491
|
}
|
|
488
492
|
}
|
|
489
493
|
}
|
|
@@ -551,13 +555,30 @@ function addCommonSettings(settingsTable: SettingsTable) {
|
|
|
551
555
|
}
|
|
552
556
|
}
|
|
553
557
|
|
|
558
|
+
// Switch locale
|
|
559
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
560
|
+
settingsTable.locale = {
|
|
561
|
+
title: i("settings.locale"),
|
|
562
|
+
type: "select",
|
|
563
|
+
defaultValue: prefferedLocale,
|
|
564
|
+
options: {
|
|
565
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
566
|
+
English: "en",
|
|
567
|
+
中文: "zh",
|
|
568
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
569
|
+
Русский: "ru",
|
|
570
|
+
},
|
|
571
|
+
group: ++maxGroup,
|
|
572
|
+
} as SettingsSelectItem
|
|
573
|
+
|
|
574
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
554
575
|
settingsTable.displaySettingsButtonInSideMenu = {
|
|
555
576
|
title: i("settings.displaySettingsButtonInSideMenu"),
|
|
556
577
|
defaultValue: !(
|
|
557
578
|
typeof GM === "object" && typeof GM.registerMenuCommand === "function"
|
|
558
579
|
),
|
|
559
|
-
group: maxGroup
|
|
560
|
-
}
|
|
580
|
+
group: ++maxGroup,
|
|
581
|
+
} as SettingsSwitchItem
|
|
561
582
|
}
|
|
562
583
|
|
|
563
584
|
function handleShowSettingsUrl() {
|
|
@@ -588,12 +609,28 @@ export const initSettings = async (options: SettingsOptions) => {
|
|
|
588
609
|
// console.log(JSON.stringify(settings, null, 2))
|
|
589
610
|
await updateOptions()
|
|
590
611
|
addSideMenu()
|
|
612
|
+
|
|
613
|
+
const newLocale =
|
|
614
|
+
(getSettingsValue("locale") as string | undefined) || prefferedLocale
|
|
615
|
+
console.log("lastLocale:", lastLocale, "newLocale:", newLocale)
|
|
616
|
+
if (lastLocale !== newLocale) {
|
|
617
|
+
closeModal()
|
|
618
|
+
resetI18n(newLocale)
|
|
619
|
+
lastLocale = newLocale
|
|
620
|
+
setTimeout(showSettings, 100)
|
|
621
|
+
}
|
|
622
|
+
|
|
591
623
|
if (typeof options.onValueChange === "function") {
|
|
592
624
|
options.onValueChange()
|
|
593
625
|
}
|
|
594
626
|
})
|
|
595
627
|
|
|
596
628
|
settings = await getSettings()
|
|
629
|
+
|
|
630
|
+
let lastLocale =
|
|
631
|
+
(getSettingsValue("locale") as string | undefined) || prefferedLocale
|
|
632
|
+
resetI18n(lastLocale)
|
|
633
|
+
|
|
597
634
|
runWhenHeadExists(() => {
|
|
598
635
|
addStyle(getSettingsStyle())
|
|
599
636
|
})
|
package/lib/style.scss
CHANGED
|
@@ -434,20 +434,20 @@
|
|
|
434
434
|
#browser_extension_settings_container {
|
|
435
435
|
right: 10px;
|
|
436
436
|
|
|
437
|
-
.
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
display: block;
|
|
442
|
-
}
|
|
443
|
-
.extension_list_container.bes_active + div {
|
|
444
|
-
display: none;
|
|
445
|
-
}
|
|
446
|
-
}
|
|
437
|
+
.browser_extension_settings_wrapper {
|
|
438
|
+
a.navigation_go_previous {
|
|
439
|
+
display: block;
|
|
440
|
+
}
|
|
447
441
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
442
|
+
.extension_list_container {
|
|
443
|
+
display: none;
|
|
444
|
+
}
|
|
445
|
+
.extension_list_container.bes_active {
|
|
446
|
+
display: block;
|
|
447
|
+
}
|
|
448
|
+
.extension_list_container.bes_active + div {
|
|
449
|
+
display: none;
|
|
450
|
+
}
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browser-extension-settings",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Settings module for developing browser extensions and userscripts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.ts",
|
|
@@ -30,16 +30,19 @@
|
|
|
30
30
|
},
|
|
31
31
|
"homepage": "https://github.com/utags/browser-extension-settings#readme",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"browser-extension-i18n": "^0.
|
|
33
|
+
"browser-extension-i18n": "^0.1.1",
|
|
34
34
|
"browser-extension-storage": "^0.1.2",
|
|
35
|
-
"browser-extension-utils": "^0.
|
|
35
|
+
"browser-extension-utils": "^0.2.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@types/chrome": "^0.
|
|
38
|
+
"@types/chrome": "^0.1.4",
|
|
39
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
40
|
+
"jsdom": "^26.1.0",
|
|
39
41
|
"npm-run-all": "^4.1.5",
|
|
40
|
-
"prettier": "^3.
|
|
41
|
-
"typescript": "^5.
|
|
42
|
-
"
|
|
42
|
+
"prettier": "^3.6.2",
|
|
43
|
+
"typescript": "^5.9.2",
|
|
44
|
+
"vitest": "^3.2.4",
|
|
45
|
+
"xo": "^0.60.0"
|
|
43
46
|
},
|
|
44
47
|
"files": [
|
|
45
48
|
"lib/",
|
|
@@ -47,12 +50,13 @@
|
|
|
47
50
|
"README.md"
|
|
48
51
|
],
|
|
49
52
|
"engines": {
|
|
50
|
-
"node": "^
|
|
53
|
+
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
|
|
51
54
|
},
|
|
52
55
|
"xo": {
|
|
53
56
|
"space": 2,
|
|
54
57
|
"prettier": true,
|
|
55
58
|
"globals": [
|
|
59
|
+
"GM",
|
|
56
60
|
"document"
|
|
57
61
|
],
|
|
58
62
|
"rules": {
|