-
-
Notifications
You must be signed in to change notification settings - Fork 44
/
index.js
1770 lines (1766 loc) · 162 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const lang = navigator.appName === 'Netscape' ? navigator.language : navigator.userLanguage;
let config = {};
window.setLang = (_lang) => {
if (window.lang === _lang) return;
window.lang = _lang;
switch (_lang) {
case 'zh-CN':
case 'zh-SG':
config = {
name: '搜索酱',
lang: '语言',
setLang: '设置语言',
outOfDate: '发现新版本,点击前往更新',
blacklist: '黑名单',
description: '详细描述',
moreOptions: '更多选项',
showIcon: '显示分组',
hideIcon: '隐藏分组',
rulesStore: '搜索引擎仓库',
import: '导入设置',
importFromClipboard: '从剪贴板导入',
exportTitle: '导出配置,单击导出搜索引擎配置,长按导出完整配置',
exportCache: '导出图标缓存',
general: '常规设置',
searchEngines: '搜索引擎',
exportConfig: '导出设置',
presetGroupName: '预置分组名',
presetGroupValue: '预置分组内容',
addGroup: '添加预置分组',
addGroupTips: '添加一组预置高亮词,以在不同场景重复调用',
findInPage: '页内查找',
customSearch: '划词搜索',
about: '关于',
override: '是否覆盖当前配置?',
showInSearchEngine: '高亮搜索引擎页面',
showInSearchEngineTips: '在搜索引擎结果页高亮关键词',
showInSearchJumpPage: '高亮搜索引擎页面打开的站点',
showInSearchJumpPageTips: '在搜索引擎页面点击打开的站点内高亮关键词',
currentTypeFirst: '置顶当前分组',
currentTypeFirstTips: '开启后,当前分组将前移至第一位',
mouseLeaveToHide: '鼠标移开时自动隐藏',
mouseLeaveToHideTips: '当鼠标从搜索条或者搜索磁贴上移开时自动隐藏搜索酱',
limitInPageLen: '限制关键词最小长度',
limitInPageLenTips: '不对长度小于此值的关键词进行高亮',
ignoreWords: '忽略关键词列表',
inPageWordsStyles: '关键词样式',
inPageWordsAddStyles: '自定义关键词CSS,数组内按顺序指向对应关键词',
defaultPicker: '自动开启元素选择',
defaultPickerTips: '打开搜索输入框时自动开启元素选择',
emptyAfterCloseInput: '关闭时清空高亮',
emptyAfterCloseInputTips: '关闭搜索输入框时清空高亮关键词',
altToHighlight: 'Alt 划选立即高亮',
altToHighlightTips: '使用搜索输入框的页内搜索功能时,使用 Alt 划选后立即高亮',
disableInputOnWords: '划选文字时不弹出搜索输入框',
disableInputOnWordsTips: '正在划选文字时使用快捷键不弹出搜索输入框,仅显示搜索条',
inPageRule: '站点自动高亮规则',
errorNoType: '请输入分组名',
errorSameType: '分组名不能重复',
editType: '编辑分组',
typeName: '分组名',
typeIcon: '分组图标',
category: '分组',
iconTips: '图标可使用 FontAwsome、图片链接或者 base64 代码',
typeMatch: '网址匹配',
typeEnableSelTxt: '指向选择文字',
typeEnableSelImg: '指向图片',
typeEnableSelAudio: '指向音频',
typeEnableSelVideo: '指向视频',
typeEnableSelLink: '指向链接',
typeEnableSelPage: '指向页面',
typeOpenInNewTab: '启用后该组链接将默认在新窗口打开',
openSelect: '打开选项',
openInNewTabOption: '新标签页打开',
openInCurrentOption: '当前页打开',
openInBackOption: '后台标签页打开',
openInDefaultOption: '默认',
openInIncognitoOption: '隐身窗口打开',
openInMinWindowOption: '小窗口打开',
showCurrent: '显示当前站点',
showCurrentTips: '匹配到当前站点时,不隐藏当前站点图标',
delete: '删除',
deleteOk: '删除完毕',
cancel: '取消',
edit: '编辑',
add: '新增',
editSite: '编辑站点',
addSite: '新增站点',
addType: '新增分组',
siteName: '站点名',
siteUrl: '站点 URL',
siteIcon: '站点图标',
siteKeywords: '搜索词提取',
keywordRegTips: '单个关键词:wd;多个:wd|qw|key;正则分组:(?:wd|w)/(.*?)\\b;选择器:input#su',
kwFilter: '筛选正则',
kwFilterTips: '搜索词或者指向链接的筛选正则,当对象文字或者链接不匹配时隐藏该引擎;在开头使用 @{sel} 可筛选选择器为 sel 的元素',
siteMatch: '网址匹配',
siteMatchTips: '根据页面网址的正则匹配当前引擎,设为 0 强制隐藏该站',
siteCharset: '站点编码',
toolbarPosition: '搜索条位置',
portrait: '纵向',
horizontal: '横向',
openInNewTab: '默认在新标签页打开链接',
openInNewTabTips: '启用后链接将全部默认在新标签页打开',
enableInPage: '启用划词搜索',
enableInPageTips: '启用后选择文字并长按鼠标右键可调出搜索条',
bindFunctionKey: '按住此功能键单击鼠标右键可立即唤出当前分组的磁贴',
ctrlKey: 'Ctrl键',
altKey: 'Alt键',
shiftKey: 'Shift键',
metaKey: 'meta键',
configContent: '设置源码',
batchOpenConfirm: '批量搜索确认框',
batchOpenConfirmDefault: '默认',
batchOpenConfirmAlways: '总是需要确认',
batchOpenConfirmNo: '不需要确认',
copy: '复制',
save: '保存',
autoClose: '自动合上分组',
autoDelay: '隐藏延时',
needName: '需要名称',
needUrl: '需要 URL',
wrongImg: '非有效图标地址',
overOpen: '鼠标划过时分组自动展开',
overOpenTips: '选中此项则当鼠标划过分组图标,对应分组将自动展开',
selectToShow: '划选立即调用磁贴',
selectToShowTips: '启用后划选立即调出磁贴',
autoCloseTips: '启用之后一旦鼠标离开搜索条,已打开的分组抽屉将会自动合上',
enableShortcut: '启用站点快捷键',
enableShortcutTips: '启用后,将使得所有为站点分配的快捷键生效',
shortcut: '快捷键',
siteShotcut: '搜索快捷键',
switchSitesKey: '当前分组内引擎切换快捷键,仅当匹配到当前引擎时有效',
switchSitesPreKey: '向前切换快捷键',
switchSitesNextKey: '向后切换快捷键',
initShow: '默认拉出搜索条',
initShowTips: '默认拉出搜索条,鼠标划过后再贴边隐藏',
configPage: '默认设置页',
configPageTips: '将当前页面设为默认设置页',
alwaysShow: '总是显示搜索条',
alwaysShowTips: '即使没有匹配到搜索引擎也显示搜索条',
presetCss: '预置样式',
presetCssTips: '选择后载入预置样式',
customCss: '自定义样式',
replaceCss: '确定要替换当前编辑的样式吗?',
enableInInput: '监听输入框',
enableInInputTips: '启用后,在输入框内生效',
fontAwesomeCss: 'FontAwesome CDN地址',
bgUrl: '展开模式的背景图地址',
nobatch: '不参与批量打开',
hideNotMatch: '非当前引擎则隐藏该项',
typeMatchTips: '根据正则筛选当前分组,仅在匹配站点显示该分组,设为 0 隐藏该分组',
siteUrlTips: '%s 查询词; %t 目标链接; %u 页面地址; %h 页面域名',
customSize: '缩放搜索条',
tilesZoom: '缩放磁贴',
tipsZoom: '缩放提示文本',
zoomDrag: '缩放拖拽圆盘',
typeOpenTime: '分组展开耗时',
longPressTime: '长按时间',
typeShotcut: '批量打开快捷键',
enableRightMouse: '启用鼠标右键长按',
enableRightMouseTips: '启用后,在目标对象上长按鼠标右键可唤出搜索条',
enableLeftMouse: '启用鼠标左键',
enableLeftMouseTips: '启用后,在目标对象上单击鼠标左键可唤出搜索磁贴',
enableMiddleMouse: '启用鼠标中键',
enableMiddleMouseTips: '启用后,在目标对象上单击鼠标中键可唤出搜索磁贴',
longPressTile: '使用搜索磁贴代替搜索条',
longPressTileTips: '启用后,长按唤出的搜索条将替换为磁贴',
hideTileType: '隐藏磁贴中的分组图标',
hideTileTypeTips: '启用后,磁贴中的分组图标将会被隐藏',
cacheSwitch: '缓存图标',
sameSiteName: '在【#t#】下存在同名站点',
sameShortcut: '【#t#】已经绑定了相同快捷键',
noIcons: '纯文本模式',
noIconsTips: '隐藏图标,仅显示纯文本',
showEngineWords: '显示引擎名',
showEngineWordsTips: '在引擎图标下方显示引擎名',
noAni: '禁止动画效果',
noAniTips: '禁止所有动画效果',
quickAddRule: '快速添加搜索引擎',
quickAddRuleTips: '按住 Ctrl + Alt 点击任意搜索框快速添加搜索引擎',
syncBuild: '添加引擎后立即生效',
syncBuildTips: '监听配置变化,在添加引擎后立即生效,否则在页面刷新后生效',
searchMycroft: '💎 在 mycroftproject 上搜索其他人编辑好的搜索引擎并一键导入,例如:“谷歌学术”',
showSiteLists: '显示引擎列表',
showSiteListsTips: '启用后将在分组图标旁启用引擎列表面板',
alwaysShowSiteLists: '总是显示引擎列表',
alwaysShowSiteListsTips: '启用后,分组抽屉打开时也会显示引擎列表',
disableTypeOpen: '禁用分组点击展开',
disableTypeOpenTips: '点击分组后不再展开,而是显示引擎列表',
disableAutoHighlight: '禁用自动高亮的站点,一行一条',
historyLength: '历史站点数',
historyLengthTips: '在默认展开的分组末尾插入数个最近访问的站点',
historyInsertFirst: '将历史站点插入到分组开头',
historyInsertFirstTips: '将最近访问的站点插入到分组开头,否则插入到末尾',
shiftLastUsedType: '前移上次使用的分组',
shiftLastUsedTypeTips: '将上次使用的分组前移至当前分组之后',
sortType: '自动排序分组',
sortTypeTips: '自动按照访问次数重新排序分组',
sortSite: '自动排序引擎',
sortSiteTips: '自动按照访问次数重新排序分组内的引擎',
multiline: '多行搜索,选取多行文字时,以换行符分隔,按行搜索',
multilineLabel: '开关',
multilineGap: '搜索间隔',
disable: '禁用',
enable: '启用',
ask: '询问',
filterEngine: '筛选引擎',
verifyResult: '验证结果',
verifyBtn: '批量验证所有引擎可用性',
verifying: '验证中……',
verifyFinish: '验证完成',
batchAction: '批量操作',
selectAll: '全选',
invert: '反选',
deleteConfirm: '你确定要删除这些站点吗?',
moveTo: '移动至',
moveToConfirm: '你确定要将这些站点移动至【#t#】吗?',
autoHide: '自动隐藏搜索条',
autoHideTips: '达到上方设置延时之后,自动隐藏搜索条',
autoHideAll: '完全隐藏',
autoHideAllTips: '隐藏时使得搜索条完全消失',
unsetTips: '未设置',
resizePageTips: '不隐藏并且收缩页面',
minSizeMode: '极简模式',
minSizeModeTips: '开启后,搜索条将只显示当前分组,直至鼠标划过',
dragToSearch: '开启拖拽搜索',
dragToSearchTips: '开启后拖拽文字、链接或者图片进行搜索,内圈为当前分组(即首个划词/搜图/链接/页面分组)前 6 个站点,可自行前往搜索引擎标签页修改,外圈为最近使用的站点',
sameSiteUrl: '站点Url不能重复',
clone: '克隆',
cloneConfirm: '你确定要将这些站点克隆至 【#t#】?',
cloneAction: '你想要将它们克隆成一个集合吗?',
groupName: '集合名',
donate: '你好!我是 Hoothin,也是 SearchJumper 的作者。\n\n我很高兴能与大家分享 SearchJumper,这是一个完全开源免费的项目。虽然它的开发耗费了我大量的时间,但只要有人能从中获得帮助,一切都是值得的。\n\n如果您觉得 SearchJumper 对您有所帮助,并且愿意支持我的努力,我真心希望您考虑以下几种方式来夸夸我。您的支持将是我前进的动力,让我能够继续改进和提供更好的作品。\n\n- 捐赠:您可以考虑通过捐赠来支持 SearchJumper 的未来发展。即使是一小笔捐款,都将对我产生巨大的鼓舞和激励。\n- 反馈和分享:如果您有任何有关 SearchJumper 的反馈或建议,或者愿意与他人分享您的使用体验,那将是我最开心的事情。您的反馈将帮助我不断改进和优化 SearchJumper,让更多的人受益。\n- 社区参与:欢迎加入 SearchJumper 的 Discord 频道,与其他用户一起分享您的见解和经验。这是一个互相学习和支持的平台,您的参与将使社区更加繁荣。\n\n再次感谢您对 SearchJumper 的支持!我将竭尽全力优化改进这个项目。谢谢您的捐赠和夸奖,我由衷感激!',
share: '使用说明',
importBookmarks: '导入浏览器书签',
sync: 'Webdav 同步',
host: '服务器地址',
username: '用户名',
password: '密码',
path: '路径',
syncTips: 'Webdav 服务器需要支持自设 cors(不支持坚果云等),自行添加 allowed_hosts: https://hoothin.github.io',
expandType: '展开分组',
expandTypeTips: '展开分组,不隐藏同一分组中超出数量的引擎',
expandTypeLength: '显示引擎数',
expandTypeLengthTips: '隐藏超出此数量的引擎',
jsonToolong: '站点数据过于庞大,是否继续格式化为JSON文本?',
imgTooBig: '图片大于50kb,可能造成卡顿,是否继续上传?',
cacheSwitchTips: '在后台缓存图标为 base64 图片至配置,以免 icon 请求拉低性能。注意开始缓存时会弹出跨域请求,缓存过程可能卡顿,此时勿关闭配置页',
searchFontawesome: '🚩 搜索 FontAwesome 图标用于分组项',
localAppAddBtn: '添加自定义本地应用调用',
localApp: '本地应用调用',
localAppCall: '调用命令',
localAppName: '自定义调用头,可留空,编辑前注意备份注册表',
localAppUnknowCall: '无法分析此命令,请检查命令或者手动构造注册表',
localAppWrongName: '调用头只能输入数字或者字母',
callInputKey: '唤出搜索输入框的快捷键',
showAllKey: '唤出全部展开模式的快捷键',
defaultFindTab: '默认显示页内查找',
defaultFindTabTips: '打开搜索输入框时默认显示页内查找标签,否则默认显示站点筛选标签',
globalSearchNow: '立即搜索所有标签页',
globalSearchNowTips: '当点击固定按钮时,立即在所有标签页搜索关键词,否则仅搜索当前活动标签页,可能会影响性能,谨慎开启',
geneRegFile: '生成注册表补丁',
dragHistory: '拖拽轮盘外圈',
hideDragHistoryTips: '隐藏拖拽轮盘中用于存放最近 10 个历史访问引擎的外圈',
reuseDragHistoryTips: '拖拽轮盘外圈继续显示当前分组超出 6 个之外的引擎',
disableAutoOpen: '禁用分组自动展开',
disableAutoOpenTips: '启用后,调出搜索条之后,对应分组将不再自动展开',
minPopup: '最小化搜索磁贴',
minPopupTips: '启用后,划词磁贴将只显示一个分组图标,直至鼠标划过',
minPopupDisable: '禁用',
minPopupEnable: '启用',
minPopupInput: '仅在输入框上启用',
hidePopup: '禁用搜索磁贴',
hidePopupTips: '开启后,划词磁贴将会禁用,划词时以完整搜索条取代',
numPerLine: '磁贴每行引擎数',
numPerLineTips: '设置磁贴每一行显示的引擎数量',
tileOffset: '磁贴偏移量',
tileOffsetTips: '使磁贴偏移一段距离,以留出空间给其他划词扩展',
limitPopupLen: '划词磁贴字数限制',
limitPopupLenTips: '当划选文字长度小于此字数时不显示磁贴',
hideOnSearchEngine: '在搜索引擎页面隐藏',
hideOnSearchEngineTips: '在搜索引擎页面搜索条将不再自动显示',
suggestType: '搜索联想词的引擎',
install: '安装地址',
allPage: '展开所有引擎',
allPageTips: '可通过 https://search.hoothin.com/all?kw=keywords&engine=someengine&self=1 在浏览器外部调用,详见 Github',
pinyinAddon: '拼音扩展',
spellAddon: '拼写扩展',
discord: 'Discord 讨论群组',
templateTitle: '模板文本',
templateTips: '模板文本,用 %template{模板名} 调用,适用于存放密钥',
templateName: '模板名',
templateValue: '模板内容',
freeWebdav: '获取 WebDAV 同步服务',
freeWebDavShare: '分享引擎列表',
freeWebdavConfirm: '是否获取账号使用 WebDav 同步功能?请注意,该功能为随性分享,不能保证稳定可用,请勿用于非法用途。如需稳定可控,请自行搭建 WebDav 服务器。',
requestAccount: '申请账号中,请耐心等待服务器下发',
requestStatus: '正在查询账号当前状态',
webdavDisabled: 'Webdav 账号已过期',
closePopupWhenClick: '点击主窗口时关闭打开的小窗口',
closePopupWhenClickTips: '打开方式选择小窗口时,点击主窗口将关闭打开的小窗口',
rate: '非常感谢您对搜索酱的使用,恳请您在插件商店中给予五星评价,这对我意义重大。如有任何问题或建议,欢迎随时联系我。',
popupSize: '小窗口位置和大小',
popupWidth: '宽度',
popupHeight: '高度',
popupLeft: '左边距',
popupTop: '上边距',
query: '查询状态',
shareText: '我的搜索酱合集: https://search.hoothin.com/#t#',
shareTextPw: ' 访问密码:#t#',
shareTips: '当前分享页面:',
sharePassword: '分享密码,可留空',
shareTitleword: '分享标题,可留空',
paramTitle: '搜索参数',
param: '参数',
details: '详述',
param_s: '搜索关键词',
param_S: '最近一次的搜索关键词',
param_sl: '小写字母搜索词',
param_su: '大写字母搜索词',
param_sr: '未转码的搜索关键词',
param_ss: '搜索关键词转换为简体中文,需要安装我的【简繁自由切换】 https://greasyfork.org/scripts/24300',
param_st: '搜索关键词转换为繁体中文,同上',
param_se: '搜索关键词执行 escape',
param_e: '当前页面编码',
param_c: '客户端: pc,mobile',
param_u: '当前网站 url,指向链接或图片时为对应 url (链接优先)。%U: 该项的 URI 编码',
param_h: '当前网站 host',
param_t: '当前指向链接或者图片的地址 (图片优先)。%T: 该项的 URI 编码',
param_b: '指向对象地址去除 http头。%B: 该项的 URI 编码',
param_n: '指向对象的 title 或 alt 或 网站标题',
param_i: '指向图片的 base64,未指向图片时尝试获取剪贴板图片',
param_sre: '用正则替换搜索关键词/页面或链接url/图片src,例如 %sr.replace(/[^\\d]/g, "").replace(/(\\d)/g, "$1 ") 代表提取原始关键词中所有数字,并以空格分隔,支持 %s %sl %sr %su %t %u',
param_ssplit: '多行搜索参数,%s[]代表按换行或者空格分隔后依次取下一项,%s[-1]代表逆序依次取下一项,%s[0]代表指定第一项,%s[all]代表分隔后批量搜索,%s[1|@]代表以@分隔并且指定第二项,支持replace,例如%s[].replace(/(\\d)/,"a$1")。没有关键词时会尝试读取剪贴板',
param_p1: 'post 参数体,例如 %p{x=1&y=%s}',
param_p2: 'post 但不跳转',
param_p3: '页内 post,可在页面之内使用【css 选择器或者 xpath】填写参数提交查询,适用于不开放GET/POST接口的网站,例如 #p{#input=%u&sleep(500)&click(.submit)}, 代表在"#input"内输入指定url,然后等待500毫秒,最后点击".submit"。可在内容中使用 \\& \\= 来 表示 & =。wait(#input) 代表等待元素 #input 出现,wait(!.loading)代表等待元素 .loading 消失,call(alert("Hello")) 代表执行代码 alert("Hello"),支持 await。input 时 @ 代表当前输入框',
param_input: '输入占位,例如%input{请输入您的三围,90 55 90}。使用/创建下拉菜单,例如%input{请选择你的罩杯,A/B/C}。也可以分别添加描述,例如%input{请选择你的罩杯/稀有/绝佳/好大,A/B/C}',
param_group: '通过你已经创建的站点名批量打开,例如 ["雅虎搜索","谷歌搜索"]',
param_ele: '通过 css 选择器或者 xpath 抓取元素并返回文字内容,例如 %element{.mainTitle},省略选择器时返回当前选中元素',
param_elep: '获取抓取到元素的属性值,例如 %element{.mainTitle}.prop(href) %element{.mainTitle}.prop(innerHTML)',
param_elere: '正则替换,例如 %element{.mainTitle}.prop(href).replace(/https/i,"")',
param_cp: '在开头使用"copy:"可以复制之后的所有字串',
param_paste: '在开头使用"paste:"可以将文本粘贴到输入框内当前位置,如果未指定参数则默认读取剪切板',
param_showTips: '在鼠标悬浮时立即在 tips 内显示所获取的 html 代码,如果返回数组则第二项为点击后复制的内容,第二项返回链接则点击后打开。可使用 fetch 跨域,使用 storage.getItem/storage.setItem 操作持久数据,name 获取引擎名。也可以使用简化模式,直接传入链接与模板,例如 showTips:https://api.xxx.xxx/xxx <i>{json.result|*%s} USD = %s RMB</i>,代表抓取 api.xxx.xxx 的数据,以 json 格式解析,并将 json.result 放入 <i> 模板后返回 tips。再例如 showTips:https://xxx.com/%sr <span>{title}</span><p>{.genre a|<mark>()</mark>}</p><img src="https://xxx.com{a.bigImage>img|src}"/> 代表抓取 xxx.com,获取页面标题、遍历所有 .genre a 元素的内容并分别创建 mark 元素、获取 a.bigImage>img 图片的 src 并创建 img 元素',
param_find: '页内查找高亮,例如 find:%s',
param_findadd: '添加目标关键词到指定页内高亮预置分组,例如 find.addto(reddit):%t.replace(/.*user/,"") 代表获取指定链接之后提取链接中 user 后参数添加进入 reddit 分组',
javascript: '执行 js 代码,window.keywords 代表关键词,window.targetElement 代表指向元素。如果当前页面无法执行页内代码,则可新建油猴脚本粘贴代码,导出方法到 window 下,通过方法名调用。例如 javascript:searchJumper_Function1',
param_date1: '当前时间戳(ms)',
param_date2: '对当前时间戳进行简单运算,例如%date{/1000 +604800},代表一星期之后以秒计算的时间戳',
aboutContent: '平时工作中搜索引擎跳转功能用得很频繁,但尝试了相关的扩展,发现大多夹有私货。特别是国内公司做的插件,基本都有购物返链和隐私数据收集。\n而这只是一个简单功能,所以不如自己写一个啦。\n结果写配置页面耗费的精力数倍于脚本本身……🤦\n这个搜索引擎跳转支持自己拖拽定义位置,同时也支持站内搜索,多语言编码设置(例如shift-jis),划词搜索,以及配置导入导出。'
}
break;
case 'zh-TW':
case 'zh-HK':
config = {
name: '搜尋醬',
lang: '語言',
setLang: '設置語言',
outOfDate: '發現新版本,點擊前往更新',
blacklist: '黑名單',
description: '詳細描述',
moreOptions: '更多選項',
showIcon: '顯示分組',
hideIcon: '隱藏分組',
rulesStore: '搜尋引擎倉庫',
import: '導入設置',
importFromClipboard: '從剪貼板導入',
exportTitle: '導出配置,單擊導出搜尋引擎配置,長按導出完整配置',
exportCache: '導出圖標緩存',
general: '常規設置',
searchEngines: '搜尋引擎',
exportConfig: '導出設置',
presetGroupName: '預置分組名',
presetGroupValue: '預置分組內容',
addGroup: '添加預置分組',
addGroupTips: '添加一組預置高亮詞,以在不同場景重複調用',
findInPage: '頁内查找',
customSearch: '劃詞搜尋',
about: '關於',
override: '是否覆蓋目前配置?',
showInSearchEngine: '高亮搜尋引擎頁面',
showInSearchEngineTips: '在搜尋引擎結果頁高亮關鍵詞',
showInSearchJumpPage: '高亮搜尋引擎頁面開啟的站點',
showInSearchJumpPageTips: '在搜尋引擎頁面點選開啟的站點內高亮關鍵詞',
currentTypeFirst: '置頂當前分組',
currentTypeFirstTips: '開啟後,當前分組將前移至第一位',
mouseLeaveToHide: '滑鼠移開時自動隱藏',
mouseLeaveToHideTips: '當滑鼠從搜尋條或者搜索磁貼上移開時自動隱藏搜尋醬',
limitInPageLen: '限制關鍵詞最小長度',
limitInPageLenTips: '不對長度小於此值的關鍵詞進行高亮',
ignoreWords: '忽略關鍵詞列表',
inPageWordsStyles: '關鍵詞樣式',
inPageWordsAddStyles: '自定義關鍵詞CSS,數組内按順序指向對應關鍵詞',
defaultPicker: '自動開啟元素選擇',
defaultPickerTips: '打開搜尋輸入框時自動開啟元素選擇',
emptyAfterCloseInput: '關閉時清空高亮',
emptyAfterCloseInputTips: '關閉搜尋輸入框時清空高亮關鍵字',
altToHighlight: 'Alt 劃選立即高亮',
altToHighlightTips: '使用搜索輸入框的頁內搜尋功能時,使用 Alt 劃選後立即高亮',
disableInputOnWords: '劃選文字時不彈出搜尋輸入框',
disableInputOnWordsTips: '正在劃選文字時使用快捷鍵不彈出搜尋輸入框,僅顯示搜尋條',
inPageRule: '站點自動高亮規則',
errorNoType: '請輸入分組名',
errorSameType: '分組名不能重複',
editType: '編輯分組',
typeName: '分組名',
typeIcon: '分組圖標',
category: '分組',
iconTips: '圖標可使用 FontAwsome、圖片連結或者 base64 代碼',
typeMatch: '網址匹配',
typeEnableSelTxt: '指向選擇文字',
typeEnableSelImg: '指向圖片',
typeEnableSelAudio: '指向音頻',
typeEnableSelVideo: '指向視頻',
typeEnableSelLink: '指向鏈接',
typeEnableSelPage: '指向頁面',
typeOpenInNewTab: '啟用後該組連結將默認在新窗口打開',
openSelect: '打開選項',
openInNewTabOption: '新標簽頁打開',
openInCurrentOption: '當前頁打開',
openInBackOption: '背景標簽頁打開',
openInDefaultOption: '默認打開選項',
openInIncognitoOption: '隱身窗口打開',
openInMinWindowOption: '小窗口打開',
showCurrent: '顯示當前站點',
showCurrentTips: '匹配到當前站點時,不隱藏當前站點圖標',
delete: '刪除',
deleteOk: '刪除完畢',
cancel: '取消',
edit: '編輯',
add: '新增',
editSite: '編輯站點',
addSite: '新增站點',
addType: '新增分組',
siteName: '站點名',
siteUrl: '站點 URL',
siteIcon: '站點圖標',
siteKeywords: '搜尋詞提取',
keywordRegTips: '單個關鍵詞:wd;多個:wd|qw|key;正則分組:(?:wd|w)/(.*?)\\b;選擇器:input#su',
kwFilter: '篩選正則',
kwFilterTips: '搜尋詞或者指向連結的篩選正則,當對象文字或者連結不匹配時隱藏該引擎;在開頭使用 @{sel} 可篩選選擇器為 sel 的元素',
siteMatch: '網址匹配',
siteMatchTips: '根據頁面網址的正則匹配當前引擎,設爲 0 强制隱藏該站',
siteCharset: '站點編碼',
toolbarPosition: '搜尋條位置',
portrait: '縱向',
horizontal: '橫向',
openInNewTab: '默認在新標籤頁打開連結',
openInNewTabTips: '啟用後連結將全部默認在新標籤頁打開',
enableInPage: '啟用劃詞搜尋',
enableInPageTips: '啟用後選擇文字並長按滑鼠右鍵可調出搜尋條',
bindFunctionKey: '按住此功能鍵單擊滑鼠右鍵可立即喚出當前分組的磁貼',
ctrlKey: 'Ctrl鍵',
altKey: 'Alt鍵',
shiftKey: 'Shift鍵',
metaKey: 'meta鍵',
configContent: '設置源碼',
batchOpenConfirm: '批量搜尋確認框',
batchOpenConfirmDefault: '默認',
batchOpenConfirmAlways: '總是需要確認',
batchOpenConfirmNo: '不需要確認',
copy: '複製',
save: '保存',
autoClose: '自動合上分組',
autoDelay: '隱藏延時',
needName: '需要名稱',
needUrl: '需要 URL',
wrongImg: '非有效圖標地址',
overOpen: '滑鼠划過時分組自動展開',
overOpenTips: '選中此項則當滑鼠划過分組圖標,對應分組將自動展開',
selectToShow: '劃選立即調用磁貼',
selectToShowTips: '啟用後劃選立即調出磁貼',
autoCloseTips: '啟用之後一旦滑鼠離開搜尋條,已打開的分組抽屜將會自動合上',
enableShortcut: '啟用站點快捷鍵',
enableShortcutTips: '啟用後,將使得所有為站點分配的快捷鍵生效',
shortcut: '快捷鍵',
siteShotcut: '搜尋快捷鍵',
switchSitesKey: '當前分組內引擎切換快捷鍵,僅當匹配到當前引擎時有效',
switchSitesPreKey: '向前切換快捷鍵',
switchSitesNextKey: '向後切換快捷鍵',
initShow: '默認拉出搜尋條',
initShowTips: '預設立即拉出搜尋條,鼠標划過后再貼邊隱藏',
configPage: '預設設定頁',
configPageTips: '將目前頁面設為預設設定頁',
alwaysShow: '總是顯示搜尋條',
alwaysShowTips: '即使沒有匹配到搜尋引擎也顯示搜尋條',
presetCss: '預置樣式',
presetCssTips: '選擇后載入預置樣式',
customCss: '自定義樣式',
replaceCss: '確定要替換當前編輯的樣式嗎?',
enableInInput: '監聽輸入框',
enableInInputTips: '啓用後,在輸入框内生效',
fontAwesomeCss: 'FontAwesome CDN位址',
bgUrl: '展開模式的背景圖位址',
nobatch: '不參與批量打開',
hideNotMatch: '非當前引擎則隱藏該項',
typeMatchTips: '根據正則篩選當前分組,僅在匹配站點顯示該分組,設爲 0 隱藏該分組',
siteUrlTips: '%s 查詢詞; %t 目標連結; %u 頁面地址; %h 頁面域名',
customSize: '縮放搜尋條',
tilesZoom: '縮放磁貼',
tipsZoom: '縮放提示文本',
zoomDrag: '縮放拖曳圓盤',
typeOpenTime: '分組展開耗時',
longPressTime: '長按時間',
typeShotcut: '批量打開快捷鍵',
enableRightMouse: '啟用滑鼠右鍵長按',
enableRightMouseTips: '啟用後,在目標對象上長按滑鼠右鍵可喚出搜尋條',
enableLeftMouse: '啟用滑鼠左鍵',
enableLeftMouseTips: '啟用後,在目標對象上單擊滑鼠左鍵可喚出搜尋磁貼',
enableMiddleMouse: '啟用滑鼠中鍵',
enableMiddleMouseTips: '啟用後,在目標對象上單擊滑鼠中鍵可喚出搜尋磁貼',
longPressTile: '使用搜尋磁貼取代搜尋條',
longPressTileTips: '啟用後,長按喚出的搜尋條將會被取代為磁貼',
hideTileType: '隱藏磁貼中的分組圖示',
hideTileTypeTips: '啟用後,磁貼中的分組圖示將會被隱藏',
cacheSwitch: '緩存圖標',
sameSiteName: '在【#t#】下存在同名站點',
sameShortcut: '【#t#】已經綁定了相同快捷鍵',
noIcons: '純文本模式',
noIconsTips: '隱藏圖標,僅顯示純文本',
showEngineWords: '顯示引擎名',
showEngineWordsTips: '在引擎圖標下方顯示引擎名',
noAni: '禁止動畫效果',
noAniTips: '禁止所有動畫效果',
quickAddRule: '快速添加搜尋引擎',
quickAddRuleTips: '按住 Ctrl + Alt 點擊任意搜尋框快速添加搜尋引擎',
syncBuild: '新增引擎後立即生效',
syncBuildTips: '監聽設定變化,在新增引擎後立即生效,否則在頁面刷新後生效',
searchMycroft: '💎 在 mycroftproject 上搜尋其他人編輯好的搜尋引擎並一鍵導入',
showSiteLists: '顯示引擎列表',
showSiteListsTips: '啓用後將在分組圖標旁啓用引擎列表面板',
alwaysShowSiteLists: '總是顯示引擎列表',
alwaysShowSiteListsTips: '啟用後,分組抽屜打開時也會顯示引擎列表',
disableTypeOpen: '停用分組點擊展開',
disableTypeOpenTips: '點擊分組后不再展開,而是顯示引擎列表',
disableAutoHighlight: '停用自動高亮的站點,一行一條',
historyLength: '歷史站點數',
historyLengthTips: '在默認展開的分組末尾插入數個最近訪問的站點',
historyInsertFirst: '將歷史站點插入到分組開頭',
historyInsertFirstTips: '將最近訪問的站點插入到分組開頭,否則插入到末尾',
shiftLastUsedType: '前移上次使用的分組',
shiftLastUsedTypeTips: '將上次使用的分組前移至當前分組之後',
sortType: '自動排序分組',
sortTypeTips: '自動按照訪問次數重新排序分組',
sortSite: '自動排序引擎',
sortSiteTips: '自動按照訪問次數重新排序分組内的引擎',
multiline: '多行搜尋,選取多行文字時,以換行符分隔,按行搜尋',
multilineLabel: '開關',
multilineGap: '搜尋間隔',
disable: '禁用',
enable: '啟用',
ask: '詢問',
filterEngine: '篩選引擎',
verifyResult: '驗證結果',
verifyBtn: '批量驗證所有引擎可用性',
verifying: '驗證中……',
verifyFinish: '驗證完成',
batchAction: '批量操作',
selectAll: '全選',
invert: '反選',
deleteConfirm: '你確定要刪除這些站點嗎?',
moveTo: '移動至',
moveToConfirm: '你確定要將這些站點移動至【#t#】嗎?',
autoHide: '自動隱藏搜尋條',
autoHideTips: '達到上方設置延時之後,自動隱藏搜尋條',
autoHideAll: '完全隱藏',
autoHideAllTips: '隱藏時使得搜尋條完全消失',
unsetTips: '未設置',
resizePageTips: '不隱藏並收縮頁面',
minSizeMode: '極簡模式',
minSizeModeTips: '開啟後,搜尋條將只顯示當前分組,直至鼠標劃過',
dragToSearch: '開啟拖拽搜尋',
dragToSearchTips: '開啟後拖曳文字、連結或者圖片進行搜尋,內圈為當前分組(即首個劃詞/搜圖/連結/頁面分組)前 6 個引擎,可自行前往搜尋引擎標籤頁修改,外圈為最近使用的引擎',
sameSiteUrl: '站點Url不能重複',
clone: '克隆',
cloneConfirm: '你確定要將這些站點克隆至 【#t#】?',
cloneAction: '你想要將它們克隆成一個集合嗎?',
groupName: '集合名',
donate: '你好! 我是 Hoothin,也是 SearchJumper 的作者。 \n\n我很高興能與大家分享 SearchJumper,這是一個完全開源免費的專案。 雖然它的開發耗費了我大量的時間,但只要有人能從中獲得幫助,一切都是值得的。 \n\n如果您覺得 SearchJumper 對您有所幫助,並且願意支持我的努力,我真誠地希望您考慮以下幾種方式來誇誇我。 您的支持將是我前進的動力,讓我能夠繼續改進並提供更好的作品。 \n\n- 捐贈:您可以考慮透過捐贈來支持 SearchJumper 的未來發展。 即使是一小筆捐款,都將對我產生巨大的鼓舞和激勵。 \n- 回饋與分享:如果您有任何有關 SearchJumper 的回饋或建議,或願意與他人分享您的使用體驗,那將是我最開心的事情。 您的回饋將幫助我不斷改進和優化 SearchJumper,讓更多的人受益。 \n- 社區參與:歡迎加入 SearchJumper 的 Discord 頻道,與其他用戶分享您的見解和經驗。 這是一個互相學習和支持的平台,您的參與將使社區更加繁榮。 \n\n再次感謝您對 SearchJumper 的支持! 我將竭盡全力優化改進這個項目。 謝謝您的捐款和誇獎,我由衷感激!',
share: '使用説明',
importBookmarks: '導入瀏覽器書簽',
sync: 'Webdav 同步',
host: '伺服器地址',
username: '用戶名',
password: '密碼',
path: '路徑',
syncTips: 'Webdav 伺服器需要支援自設 cors,添加 allowed_hosts: https://hoothin.github.io',
expandType: '展開分組',
expandTypeTips: '展開分組,不隱藏同一分組中超出數量之外的引擎',
expandTypeLength: '顯示引擎數',
expandTypeLengthTips: '隱藏超出此數量的引擎',
jsonToolong: '站點數據過於龐大,是否繼續格式化為JSON文本?',
imgTooBig: '圖片大於50kb,可能造成卡頓,是否繼續上傳?',
cacheSwitchTips: '在後台緩存圖標為base64圖片。注意開始緩存時會彈出跨域請求,緩存過程可能卡頓,此時勿關閉配置頁',
searchFontawesome: '🚩 搜尋 FontAwesome 圖標用於分組項',
localAppAddBtn: '添加自定義本地應用調用',
localApp: '本地應用調用',
localAppCall: '調用命令',
localAppName: '自定義調用頭,可留空,編輯前注意備份注冊表',
localAppUnknowCall: '無法分析此命令,請檢查命令或者手動構造註冊表',
localAppWrongName: '調用頭只能輸入數字或者字母',
callInputKey: '喚出搜尋輸入框的快捷鍵',
showAllKey: '喚出全部展開模式的快捷鍵',
defaultFindTab: '默認顯示頁內查找',
defaultFindTabTips: '打開搜尋輸入框時默認顯示頁內查找標簽,否則默認顯示站點篩選標簽',
globalSearchNow: '立即搜尋所有標籤頁',
globalSearchNowTips: '當點擊固定按鈕時,立即在所有標籤頁搜尋關鍵詞,否則僅搜尋當前活動標籤頁,可能會影響性能,謹慎開啟',
geneRegFile: '生成註冊表補丁',
dragHistory: '拖曳輪盤外圈',
hideDragHistoryTips: '隱藏拖曳輪盤中用於存放最近 10 個歷史訪問引擎的外圈',
reuseDragHistoryTips: '拖曳輪盤外圈繼續顯示目前分組超出 6 個以外的引擎',
disableAutoOpen: '禁用分組自動展開',
disableAutoOpenTips: '啓用後,調出搜尋條之後,對應分組將不再自動展開',
minPopup: '最小化搜尋磁貼',
minPopupTips: '啟用後,劃詞磁貼將只顯示一個分組圖標,直至鼠標劃過',
minPopupDisable: '禁用',
minPopupEnable: '啟用',
minPopupInput: '僅在輸入框上啓用',
hidePopup: '禁用搜尋磁貼',
hidePopupTips: '開啟後,劃詞磁貼將會禁用,劃詞時以完整搜尋條取代',
numPerLine: '磁貼每行引擎數',
numPerLineTips: '設定磁貼每一行顯示的引擎數量',
tileOffset: '磁貼偏移量',
tileOffsetTips: '使磁貼偏移一段距離,以留出空間給其他劃詞擴展',
limitPopupLen: '劃詞磁貼字數限制',
limitPopupLenTips: '當劃選文字長度小於此字數時不顯示磁貼彈框',
hideOnSearchEngine: '在搜尋引擎頁面隱藏',
hideOnSearchEngineTips: '在搜尋引擎頁面搜尋條將不再自動顯示',
suggestType: '搜索聯想詞的引擎',
install: '安裝位址',
allPage: '展開所有引擎',
allPageTips: '可透過 https://search.hoothin.com/all?kw=keywords&engine=someengine&self=1 在瀏覽器外部調用,詳見 Github',
pinyinAddon: '拼音擴充',
spellAddon: '單詞擴充',
discord: 'Discord 討論群組',
templateTitle: '模板文本',
templateTips: '模板文本,用 %template{模板名} 調用,適用於存放密鑰',
templateName: '模板名',
templateValue: '模板内容',
freeWebdav: '獲取 WebDAV 同步服務',
freeWebDavShare: '分享引擎清單',
freeWebdavConfirm: '獲取帳號使用 WebDav 同步功能? 請注意,此功能為隨性分享,無法保證穩定可用,請勿用於非法用途。 如需穩定可控,請自行建置 WebDav 伺服器。 ',
requestAccount: '申請帳號中,請耐心等待伺服器下發',
requestStatus: '正在查詢帳號目前狀態',
webdavDisabled: 'Webdav 帳號已過期',
closePopupWhenClick: '點擊主視窗時關閉開啟的小視窗',
closePopupWhenClickTips: '打開方式選擇小視窗時,點擊主視窗將關閉開啟的小視窗',
rate: '非常感謝您對搜尋醬的使用,懇請您在插件商店中給予五星評價,這對我意義重大。如有任何問題或建議,歡迎隨時與我聯絡。',
popupSize: '小視窗位置與大小',
popupWidth: '寬度',
popupHeight: '高度',
popupLeft: '左邊距',
popupTop: '上邊距',
query: '查詢狀態',
shareText: '我的搜尋醬合集: https://search.hoothin.com/#t#',
shareTextPw: ' 訪問密碼:#t#',
shareTips: '目前分享頁面:',
sharePassword: '分享密碼,可留空',
shareTitleword: '分享標題,可留空',
paramTitle: '搜尋參數',
param: '參數',
details: '詳述',
param_s: '搜尋關鍵詞',
param_S: '最近一次的搜尋關鍵詞',
param_sl: '小寫字母搜尋詞',
param_su: '大寫字母搜尋詞',
param_sr: '未轉碼的搜尋關鍵詞',
param_ss: '搜尋關鍵詞轉換爲簡體中文,需要安裝我的【繁簡自由切換】 https://greasyfork.org/scripts/24300',
param_st: '搜尋關鍵詞轉換爲正體中文,同上',
param_se: '搜尋關鍵詞執行 escape',
param_e: '當前頁面編碼',
param_c: '客戶端: pc,mobile',
param_u: '當前網站 url,指向鏈接或圖片時為對應 url (鏈接優先)。%U: 該項的 URI 編碼',
param_h: '當前網站 host',
param_t: '當前指向鏈接或者圖片的地址 (圖片優先)。%T: 該項的 URI 編碼',
param_b: '指向對像地址去除 http頭。%B: 該項的 URI 編碼',
param_n: '指向對像的 title 或 alt 或 網站標題',
param_i: '指向圖片的 base64,未指向圖片時嘗試取得剪貼簿圖片',
param_sre: '用正則替換搜尋關鍵詞/頁面或鏈接url/圖片src,例如 %sr.replace(/[^\\d]/g, "").replace(/(\\d)/g, "$1 ") 代表提取原始關鍵詞中所有數字,並以空格分隔,支持 %s %sl %sr %su %t %u',
param_ssplit: '多行搜尋參數,%s[]代表按換行或者空格分隔後依次取下一項,%s[-1]代表逆序依次取下一項,%s[0]代表指定第一項,%s[all]代表分隔後批量搜尋,%s[1|@]代表以@分隔並且指定第二項,支持replace,例如%s[].replace(/(\\d)/,"a$1")。沒有關鍵詞時會嘗試讀取剪貼板',
param_p1: 'post 參數體,例如 %p{x=1&y=%s}',
param_p2: 'post 但不跳轉',
param_p3: '頁内 post,可在頁面之内使用【css 選擇器或者 xpath】填寫參數提交查詢,適用於不開放GET/POST接口的網站,例如 #p{#input=%u&sleep(500)&click(.submit)}, 代表在"#input"内輸入指定url,然後等待500毫秒,最後點擊".submit"。可在内容中使用 \\& \\= 來 表示 & =。wait(#input) 代表等待元素 #input 出現,wait(!.loading)代表等待元素 .loading 消失,call(alert("Hello")) 代表執行程式碼 alert("Hello"),支援 await。input 時 @ 代表當前輸入框',
param_input: '輸入占位,例如%input{請輸入您的三圍,90 55 90}。使用/創建下拉菜單,例如%input{請選擇你的罩杯,A/B/C}。也可以分別添加描述,例如%input{請選擇你的罩杯/稀有/絕佳/好大,A/B/C}',
param_group: '透過你已經創建的站點名批量打開,例如 ["雅虎搜尋","谷歌搜尋"]',
param_ele: '透過 css 選擇器或者 xpath 抓取元素並返回文字内容,例如 %element{.mainTitle},省略選擇器時返回當前選中元素',
param_elep: '獲取抓取到元素的屬性值,例如 %element{.mainTitle}.prop(href) %element{.mainTitle}.prop(innerHTML)',
param_elere: '正則替換,例如 %element{.mainTitle}.prop(href).replace(/https/i,"")',
param_cp: '在開頭使用"copy:"可以複製之後的所有字串',
param_paste: '在開頭使用"paste:"可以將文字貼到輸入框內當前位置,如果未指定參數則預設讀取剪切板',
param_showTips: '在鼠標懸浮時立即在 tips 內顯示所獲取的 html 代碼,如果返回陣列則第二項為點擊後復制的內容,第二項返回連結則點擊后打開。可使用 fetch 跨域,使用 storage.getItem/storage.setItem 操作持久數據,name 獲取引擎名。也可以使用簡化模式,直接傳入鏈接與模板,例如 showTips:https://api.xxx.xxx/xxx <i>{json.result|*%s} USD = %s RMB</i>,代表抓取 api.xxx.xxx 的數據,以 json 格式解析,並將 json.result 放入 <i> 模板後返回 tips。再例如 showTips:https://xxx.com/%sr <span>{title}</span><p>{.genre a|<mark>()</mark>}</p><img src="https://xxx.com{a.bigImage>img|src}"/> 代表抓取 xxx.com,獲取頁面標題、遍歷所有 .genre a 元素的內容並分別創建 mark 元素、獲取 a.bigImage>img 圖片的 src 並創建 img 元素',
param_find: '頁內查找高亮,例如 find:%s',
param_findadd: '添加目標關鍵詞到指定頁內高亮預置分組,例如 find.addto(reddit):%t.replace(/.*user/,"") 代表獲取指定鏈接之後提取鏈接中 user 後參數添加進入 reddit 分組',
javascript: '執行 js 程式碼,window.keywords 代表關鍵字,window.targetElement 代表指向元素。 如果目前頁面無法執行頁內程式碼,則可新建油猴腳本貼上程式碼,匯出方法到 window 下,透過方法名稱呼叫。 例如 javascript:searchJumper_Function1',
param_date1: '當前時間戳(ms)',
param_date2: '對當前時間戳進行簡單運算,例如%date{/1000 +604800},代表一星期之後以秒計算的時間戳',
aboutContent: '平時工作中搜尋引擎跳轉功能用得很頻繁,但嘗試了相關的擴展,發現大多夾有私貨。\n而這只是一個簡單功能,所以不如自己寫一個啦。\n結果寫配置頁面耗費的精力數倍於腳本本身……🤦\n這個搜尋引擎跳轉支持自己拖拽定義位置,同時也支持站內搜尋,多語言編碼設置(例如shift-jis),劃詞搜尋,以及配置導入導出。'
}
break;
case 'ja':
config = {
name: '検索ちゃん',
lang: '言語',
setLang: '言語を設定',
outOfDate: 'スクリプトが古くなっています。クリックして更新してください',
blacklist: 'ブラックリスト',
description: '説明',
moreOptions: 'その他のオプション',
showIcon: 'カテゴリを表示',
hideIcon: 'カテゴリを非表示',
rulesStore: 'エンジン ストレージ',
import: '設定をインポート',
importFromClipboard: 'クリップボードからインポート',
exportTitle: 'JSON をエクスポート、クリックしてエンジンをエクスポート、長押ししてすべての構成データをエクスポート',
exportCache: 'アイコン キャッシュをエクスポート',
general: '一般',
searchEngines: '検索エンジン',
exportConfig: '設定のエクスポート',
presetGroupName: 'プリセットグループ名',
presetGroupValue: 'プリセットグループの内容',
addGroup: 'プリセットグループを追加',
addGroupTips: 'さまざまなシーンで繰り返し呼び出されるプリセットのハイライト単語のセットを追加します',
findInPage: 'ページ内を検索',
customSearch: 'カスタム検索',
about: '概要',
override: '現在の設定を上書きしますか?',
showInSearchEngine: '検索エンジン ページを強調表示',
showInSearchEngineTips: '検索エンジンの結果ページでキーワードを強調表示します',
showInSearchJumpPage: '検索エンジンから開かれたサイトを強調表示します',
showInSearchJumpPageTips: '検索エンジンをクリックして開いたページ上のキーワードを強調表示します',
currentTypeFirst: '現在のグループを固定',
currentTypeFirstTips: '有効にすると、現在のグループは最初の位置に移動します',
mouseLeaveToHide: 'マウスが離れると自動的に非表示になります',
mouseLeaveToHideTips: 'マウスが検索バーから離れると自動的に非表示になります',
limitInPageLen: 'キーワードの最小長を制限する',
limitInPageLenTips: 'この値よりも短いキーワードは強調表示しない',
ignoreWords: 'キーワードリストを無視',
inPageWordsStyles: 'キーワード スタイル',
inPageWordsAddStyles: 'カスタム キーワード CSS、各キーワードをターゲットとする配列を入力',
defaultPicker: '要素の選択を自動有効にする',
defaultPickerTips: '検索入力ボックスを開いたときに要素の選択を自動的に有効にする',
emptyAfterCloseInput: '閉じるときにハイライトをクリア',
emptyAfterCloseInputTips: '検索入力ボックスを閉じるときに強調表示されたキーワードをクリアします',
altToHighlight: 'Alt スワイプですぐにハイライト表示します',
altToHighlightTips: '検索入力でページ内検索機能を使用する場合、選択後すぐに Alt でハイライト表示します',
disableInputOnWords: '何かが選択されているときは検索入力はありません',
disableInputOnWordsTips: '何かが選択されているときにショートカット キーを使用して検索入力をポップアップ表示しない',
inPageRule: 'サイトの自動強調表示ルール',
errorNoType: 'カテゴリ名を入力してください',
errorSameType: '同じカテゴリ名が見つかりました',
editType: 'カテゴリを編集',
typeName: 'カテゴリ名',
typeIcon: 'カテゴリアイコン',
category: 'カテゴリ',
iconTips: 'アイコンには FontAwsome、画像リンク、または Base64 コードを使用できます',
typeMatch: 'マッチング サイト',
typeEnableSelTxt: 'テキストへの効果',
typeEnableSelImg: '画像への効果',
typeEnableSelAudio: 'オーディオへの効果',
typeEnableSelVideo: 'ビデオへの効果',
typeEnableSelLink: 'リンクへの効果',
typeEnableSelPage: 'ページへの効果',
typeOpenInNewTab: '有効にすると、このリンクのグループはデフォルトで新しいウィンドウで開かれます',
openSelect: 'オープンモード',
openInNewTabOption: '新しいタブで開く',
openInCurrentOption: '現在で開く',
openInBackOption: '背景タブで開く',
openInDefaultOption: 'デフォルトで開く',
openInIncognitoOption: 'シークレットウィンドウが開く',
openInMinWindowOption: '小窓が開く',
showCurrent: '現在のサイトを表示',
showCurrentTips: '一致した場合に現在のサイトボタンを表示',
delete: '削除',
deleteOk: '上から削除',
cancel: 'キャンセル',
edit: '編集',
add: '追加',
editSite: 'サイトを編集',
addSite: 'サイトを追加',
addType: 'タイプを追加',
siteName: 'サイト名',
siteUrl: 'サイト URL',
siteIcon: 'サイトアイコン',
siteKeywords: '検索キーワードを抽出',
keywordRegTips: '単一: wd、複数: wd|qw|key、RegExp グループ: (?:wd|w)/(.*?)\\b、セレクター: input#su',
kwFilter: 'フィルタリング',
kwFilterTips: '検索キーワードまたは URL をフィルタリング、オブジェクトの単語またはターゲット URL がこの正規表現と一致しない場合、エンジンを非表示にします',
siteMatch: 'マッチング サイト',
siteMatchTips: 'マッチング エンジンのサイトの URL RegExp、0 に設定して強制的に非表示',
siteCharset: '文字セット',
toolbarPosition: 'ツールバーの位置',
portrait: 'ポートレート',
horizontal: '水平',
openInNewTab: 'デフォルトでリンクを新しいタブで開きます',
openInNewTabTips: '有効にすると、リンクはデフォルトで新しいタブで開かれます',
enableInPage: '選択検索を有効にする',
enableInPageTips: '有効にした後、テキストを選択し、右マウスを長押ししてツールバーを表示します',
bindFunctionKey: 'このファンクション キーを右クリックすると、長押しせずに検索タイルを呼び出すことができます',
ctrlKey: 'Ctrl',
altKey: 'Alt',
shiftKey: 'Shift',
metaKey: 'Meta',
configContent: '構成ソースコード',
batchOpenconfirm: 'バッチ検索の確認',
batchOpenconfirmDefault: 'デフォルト',
batchOpenconfirmAlways: '常に確認',
batchOpenconfirmNo: '確認なし',
copy: 'コピー',
save: '保存',
autoClose: '自動終了タイプ',
autoDelay: '遅延を非表示',
needName: '名前が必要です',
needUrl: 'URLが必要',
wrongImg: '間違ったアイコン',
overOpen: 'マウスオーバーするとカテゴリが自動的に展開されます ',
overOpenTips: 'この項目を選択すると、マウスをカテゴリアイコンの上に移動すると、対応するカテゴリが自動的に展開されます',
selectToShow: 'タイルを選択して呼び出します',
selectToShowTips: '有効にした後、すぐにタイルを表示することを選択します',
autoCloseTips: '有効にすると、マウスが検索バーから離れると、開いているカテゴリドロワーが自動的に閉じられます',
enableShortcut: 'サイトのショートカットを有効にする',
enableShortcutTips: '有効にすると、単一サイトに割り当てられたすべてのショートカット キーが有効になります',
shortcut: 'ショートカットキー',
siteShotcut: '検索ショートカット キー',
switchSitesKey: '現在のグループでのエンジン切り替えのショートカット キー。一致する場合のみ有効',
switchSitesPreKey: '前キーを切り替える',
switchSitesNextKey: '次のキーを切り替える',
initShow: '初期化ショー',
initShowTips: '初期化時に引き出して表示',
configPage: 'デフォルト設定ページ',
configPageTips: '現在のページをデフォルト設定ページとして設定します',
alwaysShow: 'ツールバーを常に表示',
alwaysShowTips: '一致するエンジンがない場合でもツールバーを表示',
presetCss: 'プリセット Css',
presetCssTips: 'プリセット CSS をロードするために選択',
customCss: 'カスタム Css',
replaceCss: '現在の CSS を置き換えることを確認しますか?',
enableInInput: '入力時に有効化',
enableInInputTips: '入力またはテキストエリアで SearchJumper を有効にする',
fontAwesomeCss: 'FontAwesome CDN URL',
bgUrl: '拡張モードの背景画像アドレス',
nobatch: 'バッチを開くときに開かない',
hideNotMatch: '最新でない場合は非表示',
typeMatchTips: '現在のグループを URL でフィルターし、URL が一致する場合にのみこのカテゴリを表示、0 に設定して非表示にします',
siteUrlTips: '%s キーワード; %t ターゲット URL; %u サイト URL; %h ホスト名',
customSize: 'ズームツールバー',
tilesZoom: 'タイルをズーム',
tipsZoom: 'ズームのヒント',
zoomDrag: 'ズームドラッグディスク',
typeOpenTime: 'カテゴリ展開時間',
longPressTime: '長押し時間',
typeShotcut: 'バッチを開くためのショートカット',
enableRightMouse: '右マウスによる効果',
enableRightMouseTips: 'ターゲット上でマウスの右ボタンを長押しした後の効果',
enableLeftMouse: '左マウスによる効果',
enableLeftMouseTips: 'ターゲット単語上でマウスの左ボタンをシングルクリックした後も効果があります',
enableMiddleMouse: '中マウスによる効果',
enableMiddleMouseTips: 'ターゲット単語の上でマウスの中ボタンをシングルクリックした後も効果があります',
longPressTile: '検索バーの代わりに検索タイルを使用',
longPressTileTips: '有効にすると、長押しによって表示される検索バーがタイルに置き換えられます',
hideTileType: 'タイル内のグループアイコンを非表示にする',
hideTileTypeTips: '有効にすると、タイル内のグループ アイコンが非表示になります',
cacheSwitch: 'アイコンをキャッシュ',
sameSiteName: '【#t#】以下のサイトは同じ名前です',
sameShortcut: '【#t#】 は既に同じショートカットをバインドしています',
noIcons: 'プレーンテキストモード',
noIconsTips: 'アイコンなしでプレーンテキストのみを表示',
showEngineWords: 'エンジン名を表示',
showEngineWordsTips: 'エンジン アイコンの横に名前を表示',
noAni: 'アニメーション効果を無効にする',
noAniTips: 'すべてのアニメーション効果を無効にする',
quickAddRule: 'サイトのクイック追加',
quickAddRuleTips: 'Ctrl + Alt を押して任意の検索入力ボックスをクリックすると、サイトをすばやく追加できます',
syncBuild: 'エンジンを追加するとすぐに有効になります',
syncBuildTips: '構成の変更をリッスンします。変更はエンジンの追加直後に有効になります。それ以外の場合は、ページが更新された後に有効になります',
searchMycroft: '💎 ワンクリックでインポートするために mycroftproject のサイト構成を検索',
showSiteLists: 'ドロップダウン リストを表示',
showSiteListsTips: '有効にすると、カテゴリ アイコンの横にあるドロップダウン リストが有効になります',
alwaysShowSiteLists: 'ドロップダウン リストを常に表示',
alwaysShowSiteListsTips: '有効にすると、カテゴリを開いたときでもドロップダウン リストが有効になります',
disableTypeOpen: 'カテゴリのクリックによる展開を無効にする',
disableTypeOpenTips: '有効にした後、カテゴリ アイコンをクリックしても展開されなくなります',
disableAutoHighlight: 'サイトの自動強調表示を無効にします',
historyLength: '履歴サイトの数',
historyLengthTips: '現在展開されているカテゴリの最後に、最近訪問したサイトをいくつか挿入します',
historyInsertFirst: '現在のグループの先頭に履歴サイトを挿入します',
historyInsertFirstTips: '最近アクセスしたサイトをグループの先頭に挿入し、それ以外の場合は最後に挿入します',
shiftLastusedType: '最後に使用したカテゴリを前方に移動',
shiftLastusedTypeTips: '最後に使用したグループを現在のカテゴリの後ろに移動します',
sortType: 'カテゴリを自動並べ替え',
sortTypeTips: '訪問数に応じてカテゴリを自動的に並べ替えます',
sortSite: '自動並べ替えエンジン',
sortSiteTips: '訪問数に応じてカテゴリ内のエンジンを自動的に並べ替えます',
multiline: '複数行のテキスト検索、改行で区切って、単一行で検索',
multilineLabel: 'スイッチ',
multilineGap: '検索ギャップ',
disable: '無効にする',
enable: '有効にする',
ask: '質問',
filterEngine: 'フィルター エンジン',
verifyResult: '結果の検証',
verifyBtn: 'すべてのエンジンの可用性を確認',
verifying: '検証中...',
verifyFinish: '検証が完了しました',
batchAction: 'バッチアクション',
selectAll: 'すべて選択',
invert: '反転',
deleteconfirm: 'これらのサイトを削除しますか?',
moveTo: '移動先',
moveToconfirm: 'これらのサイトを【#t#】に移動しますか?',
autoHide: 'バーを自動的に非表示にする',
autoHideTips: '前に設定した非表示遅延後に検索バーを自動的に非表示にします',
autoHideAll: '完全に非表示',
autoHideAllTips: '検索バーを完全に非表示にします',
unsetTips: '設定を解除',
resizePageTips: '非表示にせずにページのサイズを変更します',
minSizeMode: 'ミニマリスト モード',
minSizeModeTips: '検索バーを開いた後は、マウスを重ねるまで現在のカテゴリのみが表示されます',
dragToSearch: 'ドラッグによる検索を有効にする',
dragToSearchTips: 'テキスト、リンク、または画像をドラッグしてすばやく検索します。内側の円には現在のグループ (最初のテキスト/画像/リンク グループ) の上位 6 つのエンジンが含まれ、外側の円には最近使用したエンジンが含まれます',
sameSiteUrl: '同じ URL のサイトが見つかりました',
clone: 'クローン',
cloneconfirm: 'これらのサイトを【#t#】にクローン作成しますか?',
cloneAction: '単一サイトではなく 1 つのグループとしてクローンを作成しますか?',
groupName: 'グループ名',
donate: 'こんにちは! 私は SearchJumper の作者、Hoothinです。\n\nSearchJumper を皆さんと共有できることを嬉しく思います。 これは完全にオープンソースで無料のプロジェクトです。 私はその開発にかなりの時間を費やしてきましたが、それが皆さんのお役に立ったと知ると、すべての価値があると感じています。\n\nもし、SearchJumper が有益であると感じて、私の取り組みをサポートしたいと思ったら、私は 以下の方法をご検討いただき、誠にありがとうございます。 あなたのサポートは、改善を続け、より良いサービスを提供し続ける動機になります。\n\n- 寄付: SearchJumper の将来の開発をサポートするために寄付を検討することができます。 たとえ小さな貢献であっても、私は大きな励みとインスピレーションを得ることができます。\n- フィードバックと共有: SearchJumper に関するフィードバックや提案がある場合、またはユーザー エクスペリエンスを他の人と共有したい場合は、非常に嬉しく思います。 あなたのフィードバックは、より多くの人々の利益のために SearchJumper を継続的に改善および最適化するのに役立ちます。\n- コミュニティへの参加: Discord チャンネルに参加して、洞察や経験を他のユーザーと共有することを歓迎します。 これは相互学習とサポートのためのプラットフォームであり、あなたの参加がその繁栄に貢献します。\n\nSearchJumper のサポートに改めて感謝いたします。 私は強化されたヘルプを提供し、このプロジェクトの改善に継続的に取り組むことに尽力します。 寄付と温かいお言葉に感謝いたします。 本当に感謝しています!',
share: '使用説明書',
importBookmarks: 'ブラウザのブックマークをインポート',
sync: 'WebDAV で同期',
host: 'ホスト',
username: 'ユーザー名',
password: 'パスワード',
path: 'パス',
syncTips: 'Webdav サーバーはカスタム cors をサポートする必要があり、allowed_hosts を追加する必要があります: https://hoothin.github.io。',
expandType: 'グループを展開',
expandTypeTips: 'グループを展開します。1 つのグループ内でエンジンを折りたたまないでください',
expandTypeLength: 'エンジン番号を表示',
expandTypeLengthTips: 'この数値を超えるエンジンを非表示にします',
jsonToolong: 'サイトのデータが長すぎます。json へのフォーマットを続けますか?',
imgTooBig: '画像が 50kb を超えています。スタックする可能性があります。それでもアップロードしますか?',
cacheSwitchTips: 'アイコンはバックグラウンドでbase64画像とともにキャッシュされます。キャッシュアクションの開始後にいくつかのクロスドメインリクエストがポップアップします',
searchFontawesome: '🚩 FontAwesome.com からカテゴリのアイコンを検索',
localAppAddBtn: 'ローカル アプリケーションを呼び出す',
localApp: 'ローカル アプリケーション呼び出し',
localAppCall: 'コマンドの呼び出し',
localAppName: 'カスタム呼び出しヘッダー、空白のままにすることができます',
localAppUnknowCall: 'このコマンドを解析できません。コマンドを確認するか、手動でレジストリを構築してください',
localAppWrongName: '通話ヘッダーには数字または文字のみを入力できます',
callInputKey: '検索入力を呼び出すためのショートカット キー',
showAllKey: 'すべて表示モードを呼び出すためのショートカット キー',
defaultFindTab: 'デフォルトでページ内検索を表示',
defaultFindTabTips: '検索入力が開かれると、デフォルトでページ内検索が表示されます。それ以外の場合は、デフォルトでサイト フィルターが表示されます',
globalSearchNow: 'すべてのタブをすぐに検索',
globalSearchNowTips: '強調表示された単語の [ピン] ボタンをクリックすると、すぐにすべてのタブでキーワードが検索されます。これはパフォーマンスに影響を与える可能性があります。慎重に開いてください',
geneRegFile: 'レジストリ パッチを生成',
dragHistory: 'ドラッグホイールの外輪',
hideDragHistoryTips: '過去に訪問したサイト 10 件を保存するドラッグ ホイールの外側のリングを非表示にします',
reuseDragHistoryTips: 'ドラッグ ホイールの外側のリングに現在のグループの 6 を超えるエンジンを表示し続けます',
disableAutoOpen: 'カテゴリの自動展開を無効にする',
disableAutoOpenTips: '有効にした後、検索バーが呼び出されたときに、カテゴリは自動的に展開されなくなります',
minPopup: '検索ポップアップを最小化する',
minPopupTips: '有効にすると、マウスオーバーするまでポップアップ ボックスにはカテゴリ アイコンのみが表示されます',
minPopupDisable: '無効にする',
minPopupEnable: '有効にする',
minPopupInput: '入力時のみ',
hidePopup: '検索ポップアップを無効にする',
hidePopupTips: 'ポップアップ ボックスを開くと無効になり、代わりに完全な検索バーが使用されます',
numPerLine: 'タイルの行ごとのエンジンの数',
numPerLineTips: 'タイルの各行に表示されるエンジンの数を設定します',
tileOffset: 'タイル オフセット',
tileOffsetTips: 'タイルを一定の距離だけオフセットして、他の単語選択拡張用のスペースを確保します。',
limitPopupLen: 'ポップアップの単語を制限します',
limitPopupLenTips: '選択した単語の長さがこれより短い場合、ポップアップ ボックスは表示されません',
hideOnSearchEngine: '検索エンジン ページで非表示',
hideOnSearchEngineTips: 'エンジン ページにツールバーを表示しない',
suggestType: '関連語源',
install: 'インストール',
allPage: 'すべてのエンジン',
allPageTips: 'https://search.hoothin.com/all?kw=keywords&engine=someengine&self=1 経由でブラウザ外から呼び出すことができます。詳細については Github を参照してください',
pinyinAddon: 'ピンイン',
spellAddon: 'スペル',
discord: 'Discord グループ',
templateTitle: 'テンプレートテキスト',
templateTips: '%template{テンプレート名} によって呼び出されるテンプレート テキストは、トークンとともに使用できます',
templateName: 'テンプレート名',
templateValue: 'テンプレート値',
freeWebdav: 'WebDAV 同期',
freeWebDavShare: '共有エンジン リスト',
freeWebdavconfirm: 'WebDav 同期を使用するためにアカウントを取得しますか? この機能はカジュアルな共有を目的としたものであり、安定して利用できることは保証されないことに注意してください。 違法な目的には使用しないでください。 安定性と制御性を求める場合は、独自の WebDav サーバーを構築してください。 ',
requestAccount: 'アカウントを申請しています。サーバーが発行するまで気長にお待ちください',
requestStatus: 'アカウントの現在のステータスを問い合わせています',
webdavDisabled: 'Webdav アカウントの有効期限が切れました',
closePopupWhenClick: 'メイン ウィンドウをクリックしたときに開く小さなウィンドウを閉じます',
closePopupWhenClickTips: '開く方法として小ウィンドウが選択されている場合、メイン ウィンドウをクリックすると、開いている小ウィンドウが閉じます',