Skip to content

Commit ff1a185

Browse files
authored
Improve the process of writing userscripts (#2362)
* add link from settings page to userscript directory * watch for changes to userscript directory
1 parent d082073 commit ff1a185

40 files changed

+106
-12
lines changed

js/preload/default.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ window.addEventListener('message', function (e) {
5050
return
5151
}
5252

53-
if (e.data && e.data.message && e.data.message === 'showCredentialList') {
53+
if (e.data?.message === 'showCredentialList') {
5454
ipc.send('showCredentialList')
5555
}
56+
57+
if (e.data?.message === 'showUserscriptDirectory') {
58+
ipc.send('showUserscriptDirectory')
59+
}
5660
})

js/userscripts.js

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/* implements userscript support */
22

3+
var path = require('path')
4+
var chokidar = require('chokidar')
5+
36
var webviews = require('webviews.js')
47
var settings = require('util/settings/settings.js')
58
var bangsPlugin = require('searchbar/bangsPlugin.js')
@@ -65,22 +68,37 @@ function urlMatchesPattern (url, pattern) {
6568
}
6669

6770
const userscripts = {
71+
scriptDir: path.join(window.globalArgs['user-data-path'], 'userscripts'),
6872
scripts: [], // {options: {}, content}
73+
showDirectory: function () {
74+
electron.shell.openPath(userscripts.scriptDir)
75+
},
76+
ensureDirectoryExists: function () {
77+
fs.access(userscripts.scriptDir, fs.constants.R_OK, function (err) {
78+
if (err) {
79+
fs.mkdir(userscripts.scriptDir, function (err) {
80+
if (err) {
81+
console.warn('failed to create userscripts directory', err)
82+
}
83+
})
84+
}
85+
})
86+
},
6987
loadScripts: function () {
7088
userscripts.scripts = []
7189

72-
var path = require('path')
73-
var scriptDir = path.join(window.globalArgs['user-data-path'], 'userscripts')
74-
75-
fs.readdir(scriptDir, function (err, files) {
76-
if (err || files.length === 0) {
90+
fs.readdir(userscripts.scriptDir, function (err, files) {
91+
if (err) {
92+
userscripts.ensureDirectoryExists()
93+
return
94+
} else if (files.length === 0) {
7795
return
7896
}
7997

8098
// store the scripts in memory
8199
files.forEach(function (filename) {
82100
if (filename.endsWith('.js')) {
83-
fs.readFile(path.join(scriptDir, filename), 'utf-8', function (err, file) {
101+
fs.readFile(path.join(userscripts.scriptDir, filename), 'utf-8', function (err, file) {
84102
if (err || !file) {
85103
return
86104
}
@@ -127,6 +145,26 @@ const userscripts = {
127145
})
128146
})
129147
},
148+
startDirWatcher: function () {
149+
userscripts.stopDirWatcher() // destroy any previous instance
150+
userscripts.watcherInstance = chokidar.watch(userscripts.scriptDir, {
151+
ignoreInitial: true,
152+
disableGlobbing: true,
153+
awaitWriteFinish: {
154+
stabilityThreshold: 500,
155+
pollInterval: 100
156+
}
157+
})
158+
userscripts.watcherInstance.on('all', debounce(function () {
159+
userscripts.loadScripts()
160+
}, 100))
161+
},
162+
stopDirWatcher: function () {
163+
if (userscripts.watcherInstance) {
164+
userscripts.watcherInstance.close()
165+
userscripts.watcherInstance = null
166+
}
167+
},
130168
getMatchingScripts: function (src) {
131169
return userscripts.scripts.filter(function (script) {
132170
if (
@@ -167,12 +205,18 @@ const userscripts = {
167205
settings.listen('userscriptsEnabled', function (value) {
168206
if (value === true) {
169207
userscripts.loadScripts()
208+
userscripts.startDirWatcher()
170209
} else {
171210
userscripts.scripts = []
211+
userscripts.stopDirWatcher()
172212
}
173213
})
174214
webviews.bindEvent('dom-ready', userscripts.onPageLoad)
175215

216+
webviews.bindIPC('showUserscriptDirectory', function () {
217+
userscripts.showDirectory()
218+
})
219+
176220
bangsPlugin.registerCustomBang({
177221
phrase: '!run',
178222
snippet: l('runUserscript'),

localization/languages/ar.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "يمكن سكريبت المستخدم من تغير سلوك المواقع - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">معرفة المزيد</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "خاص user-agent إستخدم",
167168
"settingsUpdateNotificationsToggle": "إبحث تلقائيا عن التحديثات",
168169
"settingsUsageStatisticsToggle": {

localization/languages/be.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Карыстальнiцкiя скрыпты дазваляюць змяняць паводзіны сайтаў - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">даведацца больш</a>."
165165
},
166-
"settingsUserAgentToggle": "Выкарыстоўваць карыстацкі user agent",
166+
"settingsUserscriptShowDirectory": null, //missing translation,
167+
"settingsUserAgentToggle": "Выкарыстоўваць карыстацкі user agent",
167168
"settingsUpdateNotificationsToggle": "Аўтаматычна правяраць наяўнасць абнаўленняў",
168169
"settingsUsageStatisticsToggle": {
169170
"unsafeHTML": "Адпраўляць статыстыку выкарыстання (<a href=\"https://github.com/minbrowser/min/blob/master/docs/statistics.md\">Больш інфармацыі</a>)"

localization/languages/bg.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@
162162
"settingsUserscriptsExplanation": {
163163
"unsafeHTML": "Потребителските скриптове Ви позволяват да промените поведението на уеб сайтове - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">научете повече</a>."
164164
},
165+
"settingsUserscriptShowDirectory": null, //missing translation,
165166
"settingsUserAgentToggle": "Използване на персонализиран потребителски агент",
166167
"settingsUpdateNotificationsToggle": "Автоматично проверяване за актуализации",
167168
"settingsUsageStatisticsToggle": null, //missing translation

localization/languages/bn.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "ব্যবহারকারীর স্ক্রিপ্ট আপনাকে ওয়েবসাইটের আচরণ পরিবর্তন করার অনুমতি দেয় - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\"> আরও শিখুন </a>"
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "একটি কাস্টম ব্যবহারকারী এজেন্ট ব্যবহার করুন",
167168
"settingsUpdateNotificationsToggle": "স্বয়ংক্রিয়ভাবে আপডেটগুলির জন্য পরীক্ষা করুন",
168169
"settingsUsageStatisticsToggle": null, //missing translation

localization/languages/ca.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Els scripts d'usuari et permeten modificar el comportament dels llocs web - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">més informació</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Utilitzar un agent d'usuari personalitzat",
167168
"settingsUpdateNotificationsToggle": "Comprovar actualitzacions automàticament",
168169
"settingsUsageStatisticsToggle": {

localization/languages/cs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Uživatelské skripty umožňují upravit chování webových stránek - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">více informací</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Použít vlastní User-Agent řetězec",
167168
"settingsUpdateNotificationsToggle": "Automaticky kontrolovat aktualizace",
168169
"settingsUsageStatisticsToggle": {

localization/languages/da.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Brugerscripts giver dig mulighed for at ændre adfærd på websteder - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">få mere at vide her</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Brug en brugerdefineret brugeragent",
167168
"settingsUpdateNotificationsToggle": "Kontroller automatisk for opdateringer",
168169
"settingsUsageStatisticsToggle": {

localization/languages/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Benutzerdefinierte Skripte erlauben es das Verhalten von Webseiten zu modifizieren - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\"> mehr dazu.</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Benutzerdefinierten Benutzer-Agent nutzen",
167168
"settingsUpdateNotificationsToggle": "Automatisch nach Aktualisierungen überprüfen",
168169
"settingsUsageStatisticsToggle": {

localization/languages/el.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Τα scripts χρηστών σας επιτρέπουν να τροποποιήσετε την συμπεριφορά των ιστοσελίδων - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">μάθετε περισσότερα</a>."
165165
},
166-
"settingsUserAgentToggle": "Χρήση προσαρμοσμένου χρήστη agent",
166+
"settingsUserscriptShowDirectory": null, //missing translation,
167+
"settingsUserAgentToggle": "Χρήση προσαρμοσμένου χρήστη agent",
167168
"settingsUpdateNotificationsToggle": "Αυτόματος έλεγχος για ενημερώσεις",
168169
"settingsUsageStatisticsToggle": {
169170
"unsafeHTML": "Αποστολή στατιστικών χρήσης (<a href=\"https://github.com/minbrowser/min/blob/master/docs/statistics.md\">Παραπάνω πληροφορίες</a>)"

localization/languages/en-US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "User scripts allow you to modify the behavior of websites - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">learn more</a>."
165165
},
166+
"settingsUserscriptShowDirectory": "Show script directory",
166167
"settingsUserAgentToggle": "Use a custom user agent",
167168
"settingsUpdateNotificationsToggle": "Automatically check for updates",
168169
"settingsUsageStatisticsToggle": {

localization/languages/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Los userscripts te permiten modificar el comportamiento de los sitios web - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">Más información</a>."
165165
}, //"learn more" was translated to "más información" (more info)
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Usar agente de usuario personalizado",
167168
"settingsUpdateNotificationsToggle": "Buscar actualizaciones automáticamente",
168169
"settingsUsageStatisticsToggle": {

localization/languages/fa.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@
164164
"settingsUserscriptsExplanation": {
165165
"unsafeHTML": "اسکریپت های کاربر این اجازه را به شما می دهند تا رفتار سایت ها را تغییر دهید - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">اطلاعات بیشتر</a>."
166166
},
167+
"settingsUserscriptShowDirectory": null, //missing translation,
167168
"settingsUserAgentToggle": null, //missing translation
168169
"settingsUpdateNotificationsToggle": null, //missing translation
169170
"settingsUsageStatisticsToggle": null, //missing translation

localization/languages/fi.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Komentosarjat mahdollistavat sivustojen käyttäytymisen mukauttamisen - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">lisätietoja</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Käytä mukautettua käyttäjäagenttia",
167168
"settingsUpdateNotificationsToggle": "Tarkista päivitykset automaattisesti",
168169
"settingsUsageStatisticsToggle": {

localization/languages/fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Les scripts personnalisés vous permettent de modifier le comportement des pages web - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">en savoir plus (en anglais)</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Utiliser un user-agent particulier",
167168
"settingsUpdateNotificationsToggle": "Vérifier automatiquement pour des mises à jour",
168169
"settingsUsageStatisticsToggle": {

localization/languages/hr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Korisničke skripte omogućuju vam izmjenu ponašanja web stranica - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">Saznajte više</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Upotrijebite prilagođeni korisnički agent",
167168
"settingsUpdateNotificationsToggle": "Automatski provjeri ima li ažuriranja",
168169
"settingsUsageStatisticsToggle": {

localization/languages/hu.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@
161161
"settingsAutoplayToggle": null, //missing translation
162162
"settingsOpenTabsInForegroundToggle": null, //missing translation
163163
"settingsUserscriptsExplanation": "Felhasználói szkript magyarázat",
164+
"settingsUserscriptShowDirectory": null, //missing translation,
164165
"settingsUserAgentToggle": null, //missing translation
165166
"settingsUpdateNotificationsToggle": null, //missing translation
166167
"settingsUsageStatisticsToggle": null, //missing translation

localization/languages/id.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "User script memungkinkan Anda untuk merubah perilaku situs web - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">Pelajari lebih lanjut</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Gunakan user agent khusus",
167168
"settingsUpdateNotificationsToggle": "Cek pembaruan secara otomatis",
168169
"settingsUsageStatisticsToggle": {

localization/languages/it.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Gli script definiti dall'utente ti permettono di modificare il comportamento dei siti - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">scopri di più</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Utilizza un user agent personalizzato",
167168
"settingsUpdateNotificationsToggle": "Controlla automaticamente la presenza di aggiornamenti",
168169
"settingsUsageStatisticsToggle": {

localization/languages/ja.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "ユーザースクリプトを使用して、Webサイトの動作を変更できます - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">詳細</a>。"
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "カスタムユーザーエージェントを使用する",
167168
"settingsUpdateNotificationsToggle": "アップデートを自動的に確認する",
168169
"settingsUsageStatisticsToggle": {

localization/languages/ko.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "사용자 명령(스크립트)을 사용하면 누리집의 행동을 수정할 수 있습니다. - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">더보기</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "사용자 정의 에이전트(UserAgent) 사용",
167168
"settingsUpdateNotificationsToggle": "판올림 자동 확인",
168169
"settingsUsageStatisticsToggle": {

localization/languages/lt.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Naudotojo scenarijai leidžia jums modifikuoti internetinių svetainių elgseną - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">sužinokite daugiau</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": null, //missing translation
167168
"settingsUpdateNotificationsToggle": "Automatiškai tikrinti ar yra atnaujinimų",
168169
"settingsUsageStatisticsToggle": null, //missing translation

localization/languages/nl.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Gebruikersscripten kunt u gebruiken om het gedrag van websites te wijzigingen - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">lees meer</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Gebruik een aangepaste gebruikersagent",
167168
"settingsUpdateNotificationsToggle": "Automatisch controleren op updates",
168169
"settingsUsageStatisticsToggle": {

localization/languages/pl.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Skrypty użytkownika pozwalają modyfikować zachowanie stron internetowych - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">dowiedz się więcej</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Użyj niestandardowego klienta użytkownika",
167168
"settingsUpdateNotificationsToggle": "Automatycznie sprawdź dostępność aktualizacji",
168169
"settingsUsageStatisticsToggle": {

localization/languages/pt-BR.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Scripts do usuário permitem modificar o comportamento do site - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">Saiba mais</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Usar agente de usuário personalizado",
167168
"settingsUpdateNotificationsToggle": "Verificar atualizações automaticamente",
168169
"settingsUsageStatisticsToggle": {

localization/languages/pt-PT.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Os scripts permitem-lhe alterar o comportamento dos sites - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">Saber mais</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Utilizar um agente de utilizador personalizado",
167168
"settingsUpdateNotificationsToggle": "Procurar atualizações automaticamente",
168169
"settingsUsageStatisticsToggle": {

localization/languages/ru.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Пользовательские скрипты позволяют изменять поведение сайтов - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">узнать больше</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Использовать пользовательский user agent",
167168
"settingsUpdateNotificationsToggle": "Автоматически проверять наличие обновлений",
168169
"settingsUsageStatisticsToggle": {

localization/languages/sr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "Korisničke skripte omogućavaju modifikovanje ponašanja sajtova - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">learn more</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "Koristi prilagođeni korisnički agent",
167168
"settingsUpdateNotificationsToggle": "Automatski obaveštavaj o novim verzijama Min",
168169
"settingsUsageStatisticsToggle": {

localization/languages/th.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"settingsUserscriptsExplanation": {
164164
"unsafeHTML": "สคริปต์ผู้ใช้ที่จะช่วยให้คุณปรับเปลี่ยนพฤติกรรมของเว็บไซต์ได้ - <a href=\"https://github.com/minbrowser/min/wiki/userscripts\">เรียนรู้เพิ่มเติม</a>."
165165
},
166+
"settingsUserscriptShowDirectory": null, //missing translation,
166167
"settingsUserAgentToggle": "ใช้ตัวแทนผู้ใช้ที่กำหนดค่าเอง",
167168
"settingsUpdateNotificationsToggle": "ตรวจสอบการอัปเดตโดยอัตโนมัติ",
168169
"settingsUsageStatisticsToggle": {

0 commit comments

Comments
 (0)