forked from yomidevs/yomitan
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsettings.html
2341 lines (2307 loc) · 140 KB
/
settings.html
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
<!DOCTYPE html>
<html lang="en" data-browser="unknown" data-os="unknown" data-manifest-version="unknown">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Yomitan Settings</title>
<link rel="icon" type="image/png" href="/images/icon16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/images/icon19.png" sizes="19x19">
<link rel="icon" type="image/png" href="/images/icon32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/images/icon38.png" sizes="38x38">
<link rel="icon" type="image/png" href="/images/icon48.png" sizes="48x48">
<link rel="icon" type="image/png" href="/images/icon64.png" sizes="64x64">
<link rel="icon" type="image/png" href="/images/icon128.png" sizes="128x128">
<link rel="stylesheet" type="text/css" href="/css/material.css">
<link rel="stylesheet" type="text/css" href="/css/settings.css">
<link rel="stylesheet" type="text/css" href="/css/visibility-modifiers.css">
<link rel="stylesheet" type="text/css" href="/css/display-pronunciation.css">
<script src="/js/pages/settings/settings-main.js" type="module"></script>
</head>
<body hidden>
<!-- Main content -->
<div class="content-outer"><div class="content scrollbar">
<div class="content-left">
<div class="sidebar"><div class="sidebar-inner scrollbar">
<div class="sidebar-body">
<a href="#!profile" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="profile"></span></span><span class="outline-item-label">Profile</span></a>
<a href="#!dictionaries" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="book"></span><span class="outline-item-left-warning-badge no-dictionaries-enabled-warning" hidden><div class="badge warning-badge"><span class="icon" data-icon="exclamation-point-short"></span></div></span></span><span class="outline-item-label">Dictionaries</span></a>
<a href="#!general" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="cog"></span></span><span class="outline-item-label">General</span></a>
<a href="#!scanning" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="scanning"></span></span><span class="outline-item-label">Scanning</span></a>
<a href="#!popup" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="popup"></span></span><span class="outline-item-label">Popup Behavior</span></a>
<a href="#!appearance" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="palette"></span></span><span class="outline-item-label">Appearance</span></a>
<a href="#!result-display" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="monitor"></span></span><span class="outline-item-label">Result Display</span></a>
<a href="#!popup-size" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="popup-size"></span></span><span class="outline-item-label">Position & Size</span></a>
<a href="#!window" class="button outline-item advanced-only"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="window"></span></span><span class="outline-item-label">Search Window</span></a>
<a href="#!audio" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="speaker"></span></span><span class="outline-item-label">Audio</span></a>
<a href="#!text-parsing" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="text-parsing"></span></span><span class="outline-item-label">Text Parsing</span></a>
<a href="#!translation" class="button outline-item advanced-only"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="translation"></span></span><span class="outline-item-label">Translation</span></a>
<a href="#!anki" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="note-card"></span></span><span class="outline-item-label">Anki</span></a>
<a href="#!clipboard" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="clipboard"></span></span><span class="outline-item-label">Clipboard</span></a>
<a href="#!shortcuts" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="keyboard"></span></span><span class="outline-item-label">Shortcuts</span></a>
<a href="#!backup" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="backup"></span></span><span class="outline-item-label">Backup</span></a>
<a href="#!accessibility" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="accessibility"></span></span><span class="outline-item-label">Accessibility</span></a>
<a href="#!security" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="lock"></span></span><span class="outline-item-label">Security</span></a>
</div>
<div class="sidebar-bottom">
<label class="button outline-item"><span class="outline-item-left">
<label class="toggle advanced-toggle"><input id="advanced-checkbox" type="checkbox" data-setting="general.showAdvanced"
data-transform='{
"type": "setAttribute",
"selector": ":root",
"attribute": "data-advanced"
}'
><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</span><span class="outline-item-label">Advanced</span></label>
<label class="button outline-item advanced-only"><span class="outline-item-left">
<label class="toggle debug-toggle"><input id="debug-checkbox" type="checkbox" data-setting="general.showDebug"
data-transform='{
"type": "setAttribute",
"selector": ":root",
"attribute": "data-debug"
}'
><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</span><span class="outline-item-label">Debug</span></label>
<a href="/info.html" class="button outline-item"><span class="outline-item-left"><span class="outline-item-icon icon" data-icon="question-mark"></span></span><span class="outline-item-label">About Yomitan</span></a>
</div>
</div></div>
</div>
<div class="content-center">
<span tabindex="-1" id="content-scroll-focus"></span>
<h1>Yomitan Settings</h1>
<!-- Notifications -->
<div class="settings-group settings-group-top-margin page-loading-stalled-notification">
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">
<p>
This page is taking longer than expected to load.
</p>
<p data-show-for-browser="safari">
Due to a bug in Safari, it may be necessary to click the <img src="/images/yomitan-icon.svg" class="inline-icon" alt=""> <em>Yomitan</em>
button in the browser bar to fully load the page
</p>
</div>
</div>
</div></div>
</div>
<!-- Profile -->
<div class="heading-container">
<div class="heading-container-icon"><span class="icon" data-icon="profile"></span></div>
<div class="heading-container-left"><h2 id="profile"><a href="#!profile">Profile</a></h2></div>
</div>
<div class="settings-group">
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Default profile</div>
<div class="settings-item-description">Switch the default profile that is used for scanning.</div>
</div>
<div class="settings-item-right">
<select id="profile-active-select"></select>
</div>
</div></div>
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Editing profile</div>
<div class="settings-item-description">Change which profile is being modified on this page.</div>
</div>
<div class="settings-item-right">
<select id="profile-target-select"></select>
</div>
</div></div>
<div class="settings-item settings-item-button" data-modal-action="show,profiles"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Configure profiles…</div>
</div>
<div class="settings-item-right open-panel-button-container">
<button type="button" class="icon-button"><span class="icon-button-inner"><span class="icon" data-icon="material-right-arrow"></span></span></button>
</div>
</div></div>
</div>
<!-- General -->
<div class="heading-container">
<div class="heading-container-icon"><span class="icon" data-icon="cog"></span></div>
<div class="heading-container-left"><h2 id="general"><a href="#!general">General</a></h2></div>
</div>
<div class="settings-group">
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Enable Yomitan</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.enable"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">
Language
</div>
<div class="settings-item-description">
Language of the text that is being looked up.
</div>
</div>
<div class="settings-item-right">
<select id="language-select" data-setting="general.language"
data-transform='{
"type": "setAttribute",
"selector": ":root",
"attribute": "data-language"
}'
></select>
</div>
</div></div>
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Show the <a href="/welcome.html" target="_blank" rel="noopener">welcome guide</a> on browser startup</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.showGuide"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Show "Lookup in Yomitan" in right-click menu</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.enableContextMenuScanSelected"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Maximum number of results</div>
<div class="settings-item-description">Adjust the maximum number of results shown for lookups.</div>
</div>
<div class="settings-item-right">
<input type="number" min="1" data-setting="general.maxResults">
</div>
</div></div>
</div>
<!-- Dictionaries -->
<div class="heading-container">
<div class="heading-container-icon"><span class="icon" data-icon="book"></span></div>
<div class="heading-container-left"><h2 id="dictionaries"><a href="#!dictionaries">Dictionaries</a> <span class="heading-sub-text no-wrap" data-modal-action="show,dictionaries">(<span id="dictionary-install-count">#</span> installed, <span id="dictionary-enabled-count">#</span> enabled)</span></h2></div>
</div>
<div class="settings-group">
<div class="settings-item settings-item-button" data-modal-action="show,dictionaries"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">
<div class="flex-row-nowrap">
<div>Configure installed and enabled dictionaries…</div>
<div class="flex-margin-left badge warning-badge no-dictionaries-enabled-warning" hidden><span class="icon" data-icon="exclamation-point-short"></span></div>
</div>
</div>
</div>
<div class="settings-item-right open-panel-button-container">
<button type="button" class="icon-button"><span class="icon-button-inner"><span class="icon" data-icon="material-right-arrow"></span></span></button>
</div>
</div></div>
<div class="settings-item">
<div class="settings-item settings-item-button" data-modal-action="show,recommended-dictionaries"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Get recommended dictionaries…</div>
</div>
<div class="settings-item-right open-panel-button-container">
<button type="button" class="icon-button"><span class="icon-button-inner"><span class="icon" data-icon="material-right-arrow"></span></span></button>
</div>
</div></div>
</div>
<div class="settings-item">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Storage</div>
<div class="settings-item-description">
<span class="storage-use-invalid">
Yomitan is using an indeterminate amount of storage.
</span>
<span class="storage-use-finite" hidden>
Yomitan is using approximately <span class="storage-usage">?</span> of <span class="storage-quota">?</span>.
<div class="storage-exhaustion-alert warning-text margin-above">
<div>
<strong>Your system is running low on storage space.</strong><br>
Importing dictionaries may fail.
</div>
</div>
</span>
<span class="storage-use-infinite" hidden>
Yomitan is permitted unlimited storage.
</span>
</div>
</div>
<div class="settings-item-right">
<button type="button" id="storage-refresh" class="low-emphasis">Refresh</button>
</div>
</div>
</div>
<div class="settings-item">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Frequency sorting dictionary</div>
<div class="settings-item-description">
Sort results using a frequency dictionary.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<select id="sort-frequency-dictionary"></select>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
Enabling this option will sort search results using a specific dictionary.
This can be beneficial when using multiple dictionaries which may not have
consistent sorting information.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
<div class="settings-item-children settings-item-children-group advanced-only" id="sort-frequency-dictionary-order-container" hidden>
<div class="settings-item">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">
Frequency sorting mode
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">(?)</a>
</div>
</div>
<div class="settings-item-right">
<div class="horizontal-flex horizontal-flex-nowrap">
<button type="button" class="low-emphasis" id="sort-frequency-dictionary-order-auto">Auto</button>
<select id="sort-frequency-dictionary-order">
<option value="descending">Occurrence-based</option>
<option value="ascending">Rank-based</option>
</select>
</div>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
Dictionary frequency data can be represented in one of two ways:
</p>
<ul>
<li>
<em>Occurrence-based</em>, where the frequency corresponds to a number of occurrences.
Large values indicate a more common term.
</li>
<li>
<em>Rank-based</em>, where the frequency value corresponds to a ranking index.
Smaller values indicate a more common term.
</li>
</ul>
<p>
The correct mode can be determined based on the contents of the dictionary;
the <em>Auto</em> button attempts to auto-detect the correct value.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
</div>
</div>
<div class="settings-item advanced-only">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Persistent storage</div>
<div class="settings-item-description">
Enable to help prevent the browser from unexpectedly clearing the database.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" id="storage-persistent-checkbox"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
Web browsers will sometimes clear stored data if the device is running low on storage space.
This can result in the imported dictionaries being deleted unexpectedly, causing Yomitan to stop functioning.
Enabling persistent storage tells the browser that the data should not be deleted in those circumstances.
</p>
<p data-show-for-browser="firefox firefox-mobile" class="storage-use-invalid" hidden>
On Firefox and Firefox for Android, the storage information feature may be hidden behind a browser flag.
To enable this flag, open <a href="about:config" target="_blank" rel="noopener">about:config</a> and search for
<strong>dom.storageManager.enabled</strong>.
Setting its value to <strong>true</strong> should allow storage information to be calculated.
</p>
<p data-show-for-browser="firefox-mobile">
It may not be possible to enable Persistent Storage on Firefox for Android.
</p>
<p data-show-for-browser="chrome edge">
Chromium-based browsers should not need to enable this setting since the Yomitan extension has
the <code>unlimitedStorage</code> permission, which should prevent data deletion.<sup><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=680392#c15" target="_blank" rel="noopener">[1]</a></sup>
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
</div>
<!-- Scanning -->
<div class="heading-container">
<div class="heading-container-icon"><span class="icon" data-icon="scanning"></span></div>
<div class="heading-container-left"><h2 id="scanning"><a href="#!scanning">Scanning</a></h2></div>
</div>
<div class="settings-group">
<div class="settings-item">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Scan modifier key</div>
<div class="settings-item-description">
Hold a key while moving the cursor to scan text.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<select id="main-scan-modifier-key"></select>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
A keyboard modifier key can be used to activate text scanning when the cursor is moved.
Alternatively, the <em>No key</em> option can be used to scan text whenever the cursor is moved,
without requiring any key to be held.
</p>
<p>
More advanced scanning input customization can be set up by enabling the <em>Advanced</em> option
and clicking <em data-modal-action="show,scanning-inputs">Configure advanced scanning inputs</em>.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
<div class="settings-item not-jpzhyueko">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Scan resolution</div>
<div class="settings-item-description">
Start the lookup scan at the word or character of the cursor position.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<select data-setting="scanning.scanResolution">
<option value="character">Character</option>
<option value="word">Word</option>
</select>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
The scan resolution determines where the scan starts when the cursor is moved.
The <code>Character</code> option will start scanning at the cursor's current position,
while the <code>Word</code> option will start scanning at the beginning of the word.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Scan using middle mouse button</div>
<div class="settings-item-description">Hold the middle mouse button while moving the cursor to scan text.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" id="middle-mouse-button-scan"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item settings-item-button advanced-only" data-modal-action="show,scanning-inputs"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Configure advanced scanning inputs… <span class="light no-wrap">(<span class="scanning-input-count">#</span> defined)</span></div>
</div>
<div class="settings-item-right open-panel-button-container">
<button type="button" class="icon-button"><span class="icon-button-inner"><span class="icon" data-icon="material-right-arrow"></span></span></button>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Scan delay <span class="light">(in milliseconds)</span></div>
<div class="settings-item-description">Change the delay before scanning occurs when no modifier key is required.</div>
</div>
<div class="settings-item-right">
<input type="number" data-setting="scanning.delay" min="0">
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Scan without mouse move</div>
<div class="settings-item-description">Allow scanning words under the pointer without the pointer being in motion.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.scanWithoutMousemove"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Select matched text</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.selectText"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item jpzhyue-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Search text with non-Japanese, Chinese, or Cantonese characters</div>
<div class="settings-item-description">Only applies when language is set to Japanese, Chinese, or Cantonese.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.alphanumeric"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Layout-aware scanning</div>
<div class="settings-item-description">Use webpage styling information to determine where line breaks are likely to be.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.layoutAwareScan"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Deep content scanning</div>
<div class="settings-item-description">Enable scanning text that is covered by other layers.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.deepDomScan"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Normalize CSS zoom</div>
<div class="settings-item-description">
Correct the pointer location on webpages where CSS <code>zoom</code> is used.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.normalizeCssZoom"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
The non-standard CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/zoom" target="_blank" rel="noopener noreferrer"><code>zoom</code></a> property interferes with the normal calculation of the pointer coordinates when scanning webpages. This property is discouraged from being used and its use is rare, but some webpages may still use it.
</p>
<p>
Enabling this option, which is on by default, will take the value of this property into account when scanning webpage content. It is currently put behind an option in case there are unforeseen negative side effects.
</p>
<p>
This setting does not have any effect in Firefox, as it does not implement the <code>zoom</code> property.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
<div class="settings-item advanced-only">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Wildcard scanning</div>
<div class="settings-item-description">
Enable suffix wildcard when looking up scanned webpage text.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.matchTypePrefix"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
Rather than searching for the source text exactly, the text will only be required to be a prefix of an existing term.
For example, scanning 読み will effectively search for 読み*, which may bring up additional results such as 読み方.
</p>
<p class="danger-text">
This will likely cause scanning and lookup to be slower, and the results may not be as relevant.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
<div class="settings-item advanced-only"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Text scan length</div>
<div class="settings-item-description">Change how many characters are read when scanning for terms.</div>
<div class="warning-text margin-above">
<strong>Setting this value too high (100+) may impact performance.</strong>
</div>
</div>
<div class="settings-item-right">
<input type="number" data-setting="scanning.length" min="1" step="1">
</div>
</div></div>
<div class="settings-item settings-item-button advanced-only" data-modal-action="show,input-action-prevention"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Configure input action prevention…</div>
</div>
<div class="settings-item-right open-panel-button-container">
<button type="button" class="icon-button"><span class="icon-button-inner"><span class="icon" data-icon="material-right-arrow"></span></span></button>
</div>
</div></div>
</div>
<!-- Popup Behavior -->
<div class="heading-container">
<div class="heading-container-icon"><span class="icon" data-icon="popup"></span></div>
<div class="heading-container-left"><h2 id="popup"><a href="#!popup">Popup Behavior</a></h2></div>
</div>
<div class="settings-group">
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Allow scanning search page content</div>
<div class="settings-item-description">Text on the <a href="/search.html" target="_blank" rel="noopener">search page</a> can be scanned for definitions, which will open a popup.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.enableOnSearchPage"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Allow scanning popup content</div>
<div class="settings-item-description">Text inside of popups can be scanned for definitions, which will open a new popup.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" id="nested-popups-enabled"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children settings-item-children-group" id="nested-popups-enabled-more-options" hidden>
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Maximum number of child popups</div>
<div class="settings-item-description">Change the limit on the number of popups that may be generated.</div>
</div>
<div class="settings-item-right">
<input type="number" min="0" step="1" id="nested-popups-count">
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Allow scanning popup source terms</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.enableOnPopupExpressions"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
</div>
</div>
<div class="settings-item">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Auto-hide search popup</div>
<div class="settings-item-description">When an existing popup is present, upon scanning again, hide the existing popup even if no definitions are found when scanning again.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.autoHideResults"
data-transform='{
"type": "setVisibility",
"selector": "#auto-hide-search-popup-options",
"condition": {"op": "===", "value": true}
}'
><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children settings-item-children-group" id="auto-hide-search-popup-options" hidden>
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Delay <span class="light">(in milliseconds)</span></div>
</div>
<div class="settings-item-right">
<input type="number" data-setting="scanning.hideDelay" min="0">
</div>
</div></div>
</div>
</div>
<div class="settings-item">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Hide popup on cursor exit</div>
<div class="settings-item-description">When the cursor exits the popup, the popup will be hidden.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.hidePopupOnCursorExit"
data-transform='{
"type": "setVisibility",
"selector": "#hide-popup-on-cursor-exit-options",
"condition": {"op": "===", "value": true}
}'
><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children settings-item-children-group" id="hide-popup-on-cursor-exit-options" hidden>
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Delay <span class="light">(in milliseconds)</span></div>
</div>
<div class="settings-item-right">
<input type="number" data-setting="scanning.hidePopupOnCursorExitDelay" min="0">
</div>
</div></div>
</div>
</div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Search terms when clicking text from the results list</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.enablePopupSearch"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only">
<div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">
Show iframe popups in the root frame
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">(?)</a>
</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.showIframePopupsInRootFrame"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
By default, scanning text inside of an embeded <code><iframe></code> element will open
a new popup inside of that frame, which can sometimes be limiting due to the frame's size.
When this option is enabled, the popup will be created in the root of the page, if possible.
</p>
<p>
Note that when this option is enabled, there is a possibility that the extension can interfere with the underlying webpage,
since it must send messages to the webpage in order to determine the correct position of the popup.
This typically does not cause issues, but if anything unexpected happens, this option could be the cause.
</p>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
</div>
<!-- Appearance -->
<div class="heading-container">
<div class="heading-container-icon"><span class="icon" data-icon="palette"></span></div>
<div class="heading-container-left"><h2 id="appearance"><a href="#!appearance">Appearance</a></h2></div>
</div>
<div class="settings-group">
<div class="settings-item"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Theme</div>
<div class="settings-item-description">Adjust the style of Yomitan.</div>
</div>
<div class="settings-item-right">
<div class="settings-item-group">
<div class="settings-item-group-item">
<div class="settings-item-group-item-label">Body</div>
<select data-setting="general.popupTheme" class="short-width short-height">
<option value="site">Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
<option value="browser">Browser</option>
</select>
</div>
<div class="settings-item-group-item">
<div class="settings-item-group-item-label">Shadow</div>
<select data-setting="general.popupOuterTheme" class="short-width short-height">
<option value="site">Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
<option value="browser">Browser</option>
<option value="none">None</option>
</select>
</div>
</div>
</div>
</div></div>
<div class="settings-item">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Action bar appearance</div>
<div class="settings-item-description">Control when and where the action bar is visible.</div>
</div>
<div class="settings-item-right">
<div class="settings-item-group">
<div class="settings-item-group-item">
<div class="settings-item-group-item-label">Visibility</div>
<select data-setting="general.popupActionBarVisibility" class="short-width short-height">
<option value="auto">Auto</option>
<option value="always">Always</option>
</select>
</div>
<div class="settings-item-group-item">
<div class="settings-item-group-item-label">Location</div>
<select data-setting="general.popupActionBarLocation" class="short-width short-height">
<option value="left">Left</option>
<option value="right">Right</option>
<option value="top">Top</option>
<option value="bottom">Bottom</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="settings-item advanced-only">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Font family</div>
<div class="settings-item-description">
Change the font family used in Yomitan.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right">
<div class="settings-item-group">
<input type="text" class="font-family-input" spellcheck="false" autocomplete="off" data-setting="general.fontFamily">
</div>
</div>
</div>
<div class="settings-item-children more" hidden>
<div>
The font family can be changed to any font installed on your system.<br>
You can input things such as <code>sans-serif</code>, <code>serif</code>, or <code>monospace</code>.<br>
If you want to specify one or multiple specific fonts, you can type them in manually separated by commas,
for example <pre><code>"Noto Sans JP", "Meiryo", sans-serif</code></pre>
</div>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
<div class="settings-item advanced-only">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Font size</div>
<div class="settings-item-description">Change the font size used in popups, in pixels.</div>
</div>
<div class="settings-item-right">
<div class="settings-item-group">
<input type="number" class="short-width short-height" data-setting="general.fontSize" min="1">
</div>
</div>
</div>
</div>
<div class="settings-item advanced-only">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Line height</div>
<div class="settings-item-description">Change the space between lines of text in popups. This will usually be a decimal number between 1 and 2.</div>
</div>
<div class="settings-item-right">
<div class="settings-item-group">
<input type="text" class="short-width short-height" data-setting="general.lineHeight">
</div>
</div>
</div>
</div>
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Compact glossaries</div>
<div class="settings-item-description">Display term glossaries using a more compact layout.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.glossaryLayoutMode"
data-transform='[
{
"step": "pre",
"type": "conditionalConvert",
"cases": [
{"op": "===", "value": false, "result": "default"},
{"op": "===", "value": true, "result": "compact"},
{"default": true, "result": "default"}
]
},
{
"step": "post",
"type": "conditionalConvert",
"cases": [
{"op": "===", "value": "default", "result": false},
{"op": "===", "value": "compact", "result": true},
{"default": true, "result": false}
]
}
]'
><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Compact tags</div>
<div class="settings-item-description">Show fewer repeated tags for term glossaries.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.compactTags"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Show tags for expressions and their readings</div>
<div class="settings-item-description">These tags can be scanned if the options for popup content scanning are enabled.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="scanning.enableSearchTags"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item debug-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Show debug information</div>
<div class="settings-item-description">A menu option to log debugging information will be shown in the search results.</div>
</div>
<div class="settings-item-right">
<label class="toggle"><input type="checkbox" data-setting="general.debugInfo"><span class="toggle-body"><span class="toggle-track"></span><span class="toggle-knob"></span></span></label>
</div>
</div></div>
<div class="settings-item advanced-only jpzhyue-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Term display style</div>
<div class="settings-item-description">Change how terms and their readings are displayed.</div>
</div>
<div class="settings-item-right">
<select data-setting="general.termDisplayMode">
<option value="ruby">Term furigana</option>
<option value="ruby-and-reading">Term furigana and reading</option>
<option value="term-and-reading">Plain term and reading</option>
<option value="term-only">Plain term</option>
</select>
</div>
</div></div>
<div class="settings-item advanced-only jp-only"><div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Reading mode</div>
<div class="settings-item-description">Change what type of furigana is displayed for parsed text. Japanese only.</div>
</div>
<div class="settings-item-right">
<select data-setting="parsing.readingMode" lang="ja">
<option value="none">None</option>
<option value="hiragana">ひらがな</option>
<option value="katakana">カタカナ</option>
<option value="romaji">Romaji</option>
<option value="dictionary-reading">Dictionary reading</option>
</select>
</div>
</div></div>
<div class="settings-item advanced-only"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Frequency display style</div>
<div class="settings-item-description">Change how frequency information is presented.</div>
</div>
<div class="settings-item-right">
<select data-setting="general.frequencyDisplayMode">
<option value="tags">Tags</option>
<option value="tags-grouped">Tags, grouped content</option>
<option value="split-tags">Split tags</option>
<option value="split-tags-grouped">Split tags, grouped content</option>
<option value="inline-list">Inline list</option>
<option value="list">List</option>
</select>
</div>
</div></div>
<div class="settings-item advanced-only">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">Selection indicator style</div>
<div class="settings-item-description">Change how the selected definition entry is visually indicated.</div>
</div>
<div class="settings-item-right">
<select data-setting="general.popupCurrentIndicatorMode">
<option value="none">None</option>
<option value="asterisk">Asterisk</option>
<option value="triangle">Triangle</option>
<option value="bar-left">Vertical bar (left)</option>
<option value="bar-right">Vertical bar (right)</option>
<option value="dot-left">Small dot (left)</option>
<option value="dot-right">Small dot (right)</option>
</select>
</div>
</div>
</div>
<div class="settings-item">
<div class="settings-item-inner settings-item-inner-wrappable">
<div class="settings-item-left">
<div class="settings-item-label">
Pitch accent display styles
</div>
<div class="settings-item-description">
Japanese only.
<a tabindex="0" class="more-toggle more-only" data-parent-distance="4">More…</a>
</div>
</div>
<div class="settings-item-right flex-row-wrap">
<div class="settings-item-group settings-item-group-wrap">
<label class="settings-item-group-item flex-label no-wrap">
<label class="checkbox"><input type="checkbox" data-setting="general.showPitchAccentDownstepNotation"><span class="checkbox-body"><span class="checkbox-fill"></span><span class="checkbox-border"></span><span class="checkbox-check"></span></span></label>
<span>Downstep notation</span>
</label>
<label class="settings-item-group-item flex-label no-wrap">
<label class="checkbox"><input type="checkbox" data-setting="general.showPitchAccentPositionNotation"><span class="checkbox-body"><span class="checkbox-fill"></span><span class="checkbox-border"></span><span class="checkbox-check"></span></span></label>
<span>Downstep position</span>
</label>
<label class="settings-item-group-item flex-label no-wrap">
<label class="checkbox"><input type="checkbox" data-setting="general.showPitchAccentGraph"><span class="checkbox-body"><span class="checkbox-fill"></span><span class="checkbox-border"></span><span class="checkbox-check"></span></span></label>
<span>Graph</span>
</label>
</div>
</div>
</div>
<div class="settings-item-children more" hidden>
<p>
Pitch accents for terms and expressions can be shown if a dictionary supporting pitch accents is installed.
There are currently three different ways that pitch accents can be presented:
</p>
<ul>
<li>
<strong>Downstep notation</strong> -
<span class="format-preview" lang="ja">
<span class="pronunciation-text-container"><span class="pronunciation-text"><span class="pronunciation-mora" data-position="0" data-pitch="high" data-pitch-next="low"><span class="pronunciation-character">よ</span><span class="pronunciation-mora-line"></span></span><span class="pronunciation-mora" data-position="1" data-pitch="low" data-pitch-next="low"><span class="pronunciation-character">む</span><span class="pronunciation-mora-line"></span></span></span></span>
</span>
</li>
<li>
<strong>Downstep position</strong> -
<span class="format-preview">
<span class="pronunciation-downstep-notation-container"><span class="pronunciation-downstep-notation" data-downstep-position="1"><span class="pronunciation-downstep-notation-prefix">[</span><span class="pronunciation-downstep-notation-number">1</span><span class="pronunciation-downstep-notation-suffix">]</span></span></span>
</span>
</li>
<li>
<strong>Graph</strong> -
<span class="format-preview">
<span class="pronunciation-graph-container">
<svg xmlns="http://www.w3.org/2000/svg" class="pronunciation-graph" focusable="false" viewBox="0 0 150 100">
<path class="pronunciation-graph-line" d="M25 25 L75 75"></path>
<path class="pronunciation-graph-line-tail" d="M75 75 L125 75"></path>
<circle class="pronunciation-graph-dot-downstep1" cx="25" cy="25" r="15"></circle>
<circle class="pronunciation-graph-dot-downstep2" cx="25" cy="25" r="5"></circle>
<circle class="pronunciation-graph-dot" cx="75" cy="75" r="15"></circle>
<path class="pronunciation-graph-triangle" d="M0 13 L15 -13 L-15 -13 Z" transform="translate(125,75)"></path>
</svg>
</span>
</span>
</li>
</ul>
<p>
<a tabindex="0" class="more-toggle" data-parent-distance="3">Less…</a>
</p>
</div>
</div>
<div class="settings-item settings-item-button advanced-only" data-modal-action="show,collapsible-dictionaries"><div class="settings-item-inner">
<div class="settings-item-left">
<div class="settings-item-label">Configure collapsible dictionaries…</div>