aboutsummaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/css/display.css300
-rw-r--r--ext/display-templates.html40
-rw-r--r--ext/js/display/display-generator.js64
-rw-r--r--ext/js/display/display.js4
-rw-r--r--ext/js/language/dictionary-database.js4
-rw-r--r--ext/js/language/translator.js8
-rw-r--r--ext/popup.html2
-rw-r--r--ext/search.html2
8 files changed, 212 insertions, 212 deletions
diff --git a/ext/css/display.css b/ext/css/display.css
index 79704fb1..077b7d2d 100644
--- a/ext/css/display.css
+++ b/ext/css/display.css
@@ -25,7 +25,7 @@
--disambiguation-separator: ', ';
--disambiguation-reading-separator: ':';
- --expression-separator: '\3001';
+ --headword-separator: '\3001';
--inflection-separator: '\00AB';
@@ -37,13 +37,13 @@
--h2-font-size-no-units: 1.25;
--h2-font-size: calc(1em * var(--h2-font-size-no-units));
- --expression-font-size-no-units: 2;
- --expression-font-size: calc(1em * var(--expression-font-size-no-units));
- --expression-reading-font-size-no-units: 0.75;
- --expression-reading-font-size: calc(var(--expression-reading-font-size-no-units) * var(--expression-font-size));
- --expression-reading-space: 0.5em;
- --expression-list-end-space: 0.5em;
- --expression-thin-border-size: calc(1em / (var(--expression-font-size-no-units) * var(--font-size-no-units)));
+ --headword-font-size-no-units: 2;
+ --headword-font-size: calc(1em * var(--headword-font-size-no-units));
+ --headword-reading-font-size-no-units: 0.75;
+ --headword-reading-font-size: calc(var(--headword-reading-font-size-no-units) * var(--headword-font-size));
+ --headword-reading-space: 0.5em;
+ --headword-list-end-space: 0.5em;
+ --headword-thin-border-size: calc(1em / (var(--headword-font-size-no-units) * var(--font-size-no-units)));
--line-height-no-units: 20;
--line-height: calc(var(--line-height-no-units) / var(--font-size-no-units));
@@ -106,27 +106,27 @@
/* Colors */
--background-color: #ffffff;
- --glossary-image-background-color: #eeeeee;
+ --gloss-image-background-color: #eeeeee;
--link-color: var(--accent-color);
--text-color: #000000;
--reason-text-color: var(--text-color-light3);
- --expression-text-color: var(--text-color);
- --expression-text-color-popular: var(--accent-color);
- --expression-text-color-rare: var(--text-color-light4);
- --expression-furigana-text-color: var(--expression-text-color);
- --expression-furigana-text-color-popular: var(--expression-text-color-popular);
- --expression-furigana-text-color-rare: var(--expression-text-color-rare);
- --expression-reading-text-color: var(--expression-furigana-text-color);
- --expression-reading-text-color-popular: var(--expression-furigana-text-color-popular);
- --expression-reading-text-color-rare: var(--expression-furigana-text-color-rare);
- --expression-kanji-text-color: var(--expression-text-color);
- --expression-kanji-text-color-popular: var(--expression-text-color-popular);
- --expression-kanji-text-color-rare: var(--expression-text-color-rare);
- --expression-kanji-border-color: var(--dark-border-color);
- --expression-kanji-border-color-popular: var(--expression-kanji-border-color);
- --expression-kanji-border-color-rare: var(--expression-kanji-border-color);
+ --headword-text-color: var(--text-color);
+ --headword-text-color-popular: var(--accent-color);
+ --headword-text-color-rare: var(--text-color-light4);
+ --headword-furigana-text-color: var(--headword-text-color);
+ --headword-furigana-text-color-popular: var(--headword-text-color-popular);
+ --headword-furigana-text-color-rare: var(--headword-text-color-rare);
+ --headword-reading-text-color: var(--headword-furigana-text-color);
+ --headword-reading-text-color-popular: var(--headword-furigana-text-color-popular);
+ --headword-reading-text-color-rare: var(--headword-furigana-text-color-rare);
+ --headword-kanji-text-color: var(--headword-text-color);
+ --headword-kanji-text-color-popular: var(--headword-text-color-popular);
+ --headword-kanji-text-color-rare: var(--headword-text-color-rare);
+ --headword-kanji-border-color: var(--dark-border-color);
+ --headword-kanji-border-color-popular: var(--headword-kanji-border-color);
+ --headword-kanji-border-color-rare: var(--headword-kanji-border-color);
--light-border-color: #eeeeee;
--medium-border-color: #dddddd;
@@ -181,22 +181,22 @@
:root[data-theme=dark] {
/* Colors */
--background-color: #1e1e1e;
- --glossary-image-background-color: #2f2f2f;
+ --gloss-image-background-color: #2f2f2f;
--link-color: var(--accent-color);
--text-color: #d4d4d4;
--reason-text-color: var(--text-color-light3);
- --expression-text-color: var(--text-color);
- --expression-text-color-popular: var(--accent-color);
- --expression-text-color-rare: var(--text-color-light4);
- --expression-furigana-text-color: var(--expression-text-color);
- --expression-furigana-text-color-popular: var(--expression-text-color-popular);
- --expression-furigana-text-color-rare: var(--expression-text-color-rare);
- --expression-reading-text-color: var(--expression-furigana-text-color);
- --expression-reading-text-color-popular: var(--expression-furigana-text-color-popular);
- --expression-reading-text-color-rare: var(--expression-furigana-text-color-rare);
- --expression-kanji-border-color: var(--dark-border-color);
+ --headword-text-color: var(--text-color);
+ --headword-text-color-popular: var(--accent-color);
+ --headword-text-color-rare: var(--text-color-light4);
+ --headword-furigana-text-color: var(--headword-text-color);
+ --headword-furigana-text-color-popular: var(--headword-text-color-popular);
+ --headword-furigana-text-color-rare: var(--headword-text-color-rare);
+ --headword-reading-text-color: var(--headword-furigana-text-color);
+ --headword-reading-text-color-popular: var(--headword-furigana-text-color-popular);
+ --headword-reading-text-color-rare: var(--headword-furigana-text-color-rare);
+ --headword-kanji-border-color: var(--dark-border-color);
--light-border-color: #2f2f2f;
--medium-border-color: #3f3f3f;
@@ -589,7 +589,7 @@ button.sidebar-button.sidebar-button-highlight {
padding-left: var(--entry-horizontal-padding);
padding-right: var(--entry-horizontal-padding);
padding-bottom: 0.25em;
- border-bottom: var(--expression-thin-border-size) solid var(--light-border-color);
+ border-bottom: var(--headword-thin-border-size) solid var(--light-border-color);
}
#query-parser-content {
margin-top: 0.5em;
@@ -839,105 +839,105 @@ button.action-button[data-icon=source-term]::before {
}
-/* Expressions */
-.expression-list {
+/* Headwords */
+.headword-list {
display: inline;
- margin-right: var(--expression-list-end-space);
+ margin-right: var(--headword-list-end-space);
}
-.expression {
- --expression-current-text-color: var(--expression-text-color);
- --expression-current-reading-text-color: var(--expression-reading-text-color);
- --expression-current-furigana-text-color: var(--expression-furigana-text-color);
- --expression-current-kanji-text-color: var(--expression-kanji-text-color);
- --expression-current-kanji-border-color: var(--expression-kanji-border-color);
+.headword {
+ --headword-current-text-color: var(--headword-text-color);
+ --headword-current-reading-text-color: var(--headword-reading-text-color);
+ --headword-current-furigana-text-color: var(--headword-furigana-text-color);
+ --headword-current-kanji-text-color: var(--headword-kanji-text-color);
+ --headword-current-kanji-border-color: var(--headword-kanji-border-color);
display: inline-block;
}
-:root[data-result-output-mode=merge] .expression[data-frequency=popular] {
- --expression-current-text-color: var(--expression-text-color-popular);
- --expression-current-reading-text-color: var(--expression-reading-text-color-popular);
- --expression-current-furigana-text-color: var(--expression-furigana-text-color-popular);
- --expression-current-kanji-text-color: var(--expression-kanji-text-color-popular);
- --expression-current-kanji-border-color: var(--expression-kanji-border-color-popular);
-}
-:root[data-result-output-mode=merge] .expression[data-frequency=rare] {
- --expression-current-text-color: var(--expression-text-color-rare);
- --expression-current-reading-text-color: var(--expression-reading-text-color-rare);
- --expression-current-furigana-text-color: var(--expression-furigana-text-color-rare);
- --expression-current-kanji-text-color: var(--expression-kanji-text-color-rare);
- --expression-current-kanji-border-color: var(--expression-kanji-border-color-rare);
-}
-.expression-details {
+:root[data-result-output-mode=merge] .headword[data-frequency=popular] {
+ --headword-current-text-color: var(--headword-text-color-popular);
+ --headword-current-reading-text-color: var(--headword-reading-text-color-popular);
+ --headword-current-furigana-text-color: var(--headword-furigana-text-color-popular);
+ --headword-current-kanji-text-color: var(--headword-kanji-text-color-popular);
+ --headword-current-kanji-border-color: var(--headword-kanji-border-color-popular);
+}
+:root[data-result-output-mode=merge] .headword[data-frequency=rare] {
+ --headword-current-text-color: var(--headword-text-color-rare);
+ --headword-current-reading-text-color: var(--headword-reading-text-color-rare);
+ --headword-current-furigana-text-color: var(--headword-furigana-text-color-rare);
+ --headword-current-kanji-text-color: var(--headword-kanji-text-color-rare);
+ --headword-current-kanji-border-color: var(--headword-kanji-border-color-rare);
+}
+.headword-details {
display: inline;
}
-.expression-tag-list {
+.headword-tag-list {
display: none;
}
-.expression-list-details {
+.headword-list-details {
display: inline;
}
-.expression-list-tag-list {
+.headword-list-tag-list {
display: inline;
}
-.expression-text-container {
+.headword-text-container {
display: inline-block;
- margin-left: calc(-1 * var(--expression-reading-space));
+ margin-left: calc(-1 * var(--headword-reading-space));
}
-.expression-text-outer {
+.headword-term-outer {
display: inline-block;
position: relative;
- margin-left: var(--expression-reading-space);
+ margin-left: var(--headword-reading-space);
}
-.expression-reading-outer {
+.headword-reading-outer {
display: none;
position: relative;
- margin-left: var(--expression-reading-space);
+ margin-left: var(--headword-reading-space);
}
-.expression-text {
- color: var(--expression-current-text-color);
- font-size: var(--expression-font-size);
+.headword-term {
+ color: var(--headword-current-text-color);
+ font-size: var(--headword-font-size);
}
-.expression-reading {
- color: var(--expression-current-reading-text-color);
- font-size: var(--expression-reading-font-size);
+.headword-reading {
+ color: var(--headword-current-reading-text-color);
+ font-size: var(--headword-reading-font-size);
}
-.expression-list>.expression:not(:last-of-type)>.expression-text-container>.expression-text-outer::after {
- content: var(--expression-separator);
- font-size: var(--expression-font-size);
+.headword-list>.headword:not(:last-of-type)>.headword-text-container>.headword-term-outer::after {
+ content: var(--headword-separator);
+ font-size: var(--headword-font-size);
}
-.expression-list>.expression:not(:last-of-type)>.expression-text-container>.expression-reading-outer::after {
- content: var(--expression-separator);
- font-size: var(--expression-reading-font-size);
+.headword-list>.headword:not(:last-of-type)>.headword-text-container>.headword-reading-outer::after {
+ content: var(--headword-separator);
+ font-size: var(--headword-reading-font-size);
}
-.expression-text>ruby>rt {
- color: var(--expression-current-furigana-text-color);
+.headword-term>ruby>rt {
+ color: var(--headword-current-furigana-text-color);
}
-.expression-kanji-link {
- border-bottom: var(--expression-thin-border-size) dashed var(--expression-current-kanji-border-color);
- color: var(--expression-current-kanji-text-color);
+.headword-kanji-link {
+ border-bottom: var(--headword-thin-border-size) dashed var(--headword-current-kanji-border-color);
+ color: var(--headword-current-kanji-text-color);
text-decoration: none;
cursor: pointer;
}
-:root[data-result-output-mode=merge] .expression-list-details {
+:root[data-result-output-mode=merge] .headword-list-details {
display: block;
}
-:root[data-term-display-mode=ruby-and-reading] .expression-text-outer::after,
-:root[data-term-display-mode=term-and-reading] .expression-text-outer::after {
+:root[data-term-display-mode=ruby-and-reading] .headword-term-outer::after,
+:root[data-term-display-mode=term-and-reading] .headword-term-outer::after {
display: none;
}
-:root[data-term-display-mode=ruby-and-reading] .expression-reading-outer,
-:root[data-term-display-mode=term-and-reading] .expression-reading-outer {
+:root[data-term-display-mode=ruby-and-reading] .headword-reading-outer,
+:root[data-term-display-mode=term-and-reading] .headword-reading-outer {
display: inline-block;
}
-:root[data-term-display-mode=ruby-and-reading] .expression[data-reading-is-same=true] .expression-text-outer::after,
-:root[data-term-display-mode=term-and-reading] .expression[data-reading-is-same=true] .expression-text-outer::after {
+:root[data-term-display-mode=ruby-and-reading] .headword[data-reading-is-same=true] .headword-term-outer::after,
+:root[data-term-display-mode=term-and-reading] .headword[data-reading-is-same=true] .headword-term-outer::after {
display: inline-block;
}
-:root[data-term-display-mode=ruby-and-reading] .expression[data-reading-is-same=true] .expression-reading-outer,
-:root[data-term-display-mode=term-and-reading] .expression[data-reading-is-same=true] .expression-reading-outer {
+:root[data-term-display-mode=ruby-and-reading] .headword[data-reading-is-same=true] .headword-reading-outer,
+:root[data-term-display-mode=term-and-reading] .headword[data-reading-is-same=true] .headword-reading-outer {
display: none;
}
-:root[data-term-display-mode=term-and-reading] .expression-text>ruby>rt {
+:root[data-term-display-mode=term-and-reading] .headword-term>ruby>rt {
display: none;
}
@@ -1000,7 +1000,7 @@ button.action-button[data-icon=source-term]::before {
/* Triangle entry indicator */
-.expression-current-indicator {
+.headword-current-indicator {
pointer-events: none;
position: absolute;
left: calc(-1 * var(--main-content-horizontal-padding));
@@ -1012,17 +1012,17 @@ button.action-button[data-icon=source-term]::before {
opacity var(--entry-current-indicator-transition-duration) linear,
visibility 0s linear var(--entry-current-indicator-transition-duration);
}
-.expression-text .expression-current-indicator {
- font-size: calc(1em / var(--expression-font-size-no-units));
+.headword-term .headword-current-indicator {
+ font-size: calc(1em / var(--headword-font-size-no-units));
}
-.entry.entry-current .expression-current-indicator {
+.entry.entry-current .headword-current-indicator {
opacity: 1;
visibility: visible;
transition:
opacity var(--entry-current-indicator-transition-duration) linear,
visibility 0s linear 0s;
}
-.expression-current-indicator::after {
+.headword-current-indicator::after {
content: '';
display: block;
position: absolute;
@@ -1042,8 +1042,8 @@ button.action-button[data-icon=source-term]::before {
-webkit-mask-size: contain;
-webkit-mask-image: url(/images/material-right-arrow.svg);
}
-.expression:not(:first-of-type) .expression-current-indicator,
-:root:not([data-popup-current-indicator-mode=triangle]) .expression-current-indicator {
+headword-list:not(:first-of-type) .headword-current-indicator,
+:root:not([data-popup-current-indicator-mode=triangle]) .headword-current-indicator {
display: none;
transition: none;
}
@@ -1072,7 +1072,7 @@ button.action-button[data-icon=source-term]::before {
/* Merged term styles */
-:root[data-result-output-mode=merge] .expression-list .expression-details {
+:root[data-result-output-mode=merge] .headword-list .headword-details {
display: inline-block;
position: relative;
width: 0;
@@ -1080,28 +1080,28 @@ button.action-button[data-icon=source-term]::before {
visibility: hidden;
z-index: 1;
}
-:root[data-result-output-mode=merge] .expression-list>.expression:not(:last-of-type) .expression-details {
- left: calc(-1 * var(--expression-font-size));
+:root[data-result-output-mode=merge] .headword-list>.headword:not(:last-of-type) .headword-details {
+ left: calc(-1 * var(--headword-font-size));
}
-:root[data-result-output-mode=merge] .expression:hover .expression-details {
+:root[data-result-output-mode=merge] .headword:hover .headword-details {
visibility: visible;
}
-:root[data-result-output-mode=merge] .expression-list .expression-details>.action-play-audio {
+:root[data-result-output-mode=merge] .headword-list .headword-details>.action-play-audio {
position: absolute;
left: 0;
bottom: 0.5em;
}
-:root:not([data-result-output-mode=merge]) .expression-list .expression-details>.action-play-audio {
+:root:not([data-result-output-mode=merge]) .headword-list .headword-details>.action-play-audio {
display: none;
}
-:root[data-result-output-mode=merge] .expression-list .expression-tag-list {
+:root[data-result-output-mode=merge] .headword-list .headword-tag-list {
display: block;
position: absolute;
left: 0;
bottom: -0.5em;
white-space: nowrap;
}
-:root[data-result-output-mode=merge] .entry[data-type=term] .expression-list-tag-list>.tag[data-category=search] {
+:root[data-result-output-mode=merge] .entry[data-type=term] .headword-list-tag-list>.tag[data-category=search] {
display: none;
}
@@ -1117,21 +1117,21 @@ button.action-button[data-icon=source-term]::before {
padding-left: 0;
list-style-type: none;
}
-.glossary-list {
+.gloss-list {
margin: 0;
padding: 0 0 0 var(--list-padding2);
list-style-type: circle;
}
-.glossary-list[data-count='0'],
-.glossary-list[data-count='1'] {
+.gloss-list[data-count='0'],
+.gloss-list[data-count='1'] {
padding-left: 0;
list-style-type: none;
}
.definition-item::marker,
-.glossary-item::marker {
+.gloss-item::marker {
color: var(--text-color-light3);
}
-.glossary {
+.gloss-content {
white-space: pre-line;
}
.definition-disambiguation-list {
@@ -1150,7 +1150,7 @@ button.action-button[data-icon=source-term]::before {
.definition-disambiguation+.definition-disambiguation::before {
content: var(--disambiguation-separator);
}
-.glossary-separator,
+.gloss-separator,
.inflection-separator {
display: inline;
font-size: 0;
@@ -1256,14 +1256,14 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
display: inline;
color: var(--text-color-light3);
}
-.entry[data-unique-expression-count='1'] .frequency-item[data-has-reading=false] .frequency-disambiguation,
-.entry[data-unique-reading-count='1'][data-unique-expression-count='1'] .frequency-disambiguation,
+.entry[data-unique-term-count='1'] .frequency-item[data-has-reading=false] .frequency-disambiguation,
+.entry[data-unique-reading-count='1'][data-unique-term-count='1'] .frequency-disambiguation,
.frequency-item[data-reading-is-same=true] .frequency-disambiguation-separator,
.frequency-item[data-reading-is-same=true] .frequency-disambiguation-reading,
.frequency-item[data-has-reading=false] .frequency-disambiguation-separator,
.frequency-item[data-has-reading=false] .frequency-disambiguation-reading,
-.entry[data-unique-expression-count='1'] .frequency-disambiguation-separator,
-.entry[data-unique-expression-count='1'] .frequency-disambiguation-expression,
+.entry[data-unique-term-count='1'] .frequency-disambiguation-separator,
+.entry[data-unique-term-count='1'] .frequency-disambiguation-term,
.entry[data-unique-reading-count='1'] .frequency-disambiguation-separator,
.entry[data-unique-reading-count='1'] .frequency-disambiguation-reading {
display: none;
@@ -1561,7 +1561,7 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
/* Glossary images */
-.glossary-image-container {
+.gloss-image-container {
display: inline-block;
white-space: nowrap;
max-width: 100%;
@@ -1570,16 +1570,16 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
line-height: 0;
font-size: calc(1em / var(--font-size-no-units));
overflow: hidden;
- background-color: var(--glossary-image-background-color);
+ background-color: var(--gloss-image-background-color);
}
-.glossary-image-link {
+.gloss-image-link {
cursor: inherit;
color: inherit;
}
-.glossary-image-link[href]:hover {
+.gloss-image-link[href]:hover {
cursor: pointer;
}
-.glossary-image-container-overlay {
+.gloss-image-container-overlay {
position: absolute;
left: 0;
top: 0;
@@ -1592,7 +1592,7 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
white-space: normal;
color: var(--text-color-light3);
}
-.glossary-item[data-has-image=true][data-image-load-state=load-error] .glossary-image-container-overlay::after {
+.gloss-item[data-has-image=true][data-image-load-state=load-error] .gloss-image-container-overlay::after {
content: 'Image failed to load';
display: table-cell;
width: 100%;
@@ -1601,7 +1601,7 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
text-align: center;
padding: 0.25em;
}
-.glossary-image {
+.gloss-image {
display: inline-block;
position: absolute;
left: 0;
@@ -1613,30 +1613,30 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
border: none;
outline: none;
}
-.glossary-image:not([src]) {
+.gloss-image:not([src]) {
display: none;
}
-.glossary-image[data-pixelated=true] {
+.gloss-image[data-pixelated=true] {
image-rendering: auto;
image-rendering: -moz-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: pixelated;
image-rendering: crisp-edges;
}
-.glossary-image-aspect-ratio-sizer {
+.gloss-image-aspect-ratio-sizer {
content: '';
display: inline-block;
width: 0;
vertical-align: top;
font-size: 0;
}
-.glossary-image-link-text::before {
+.gloss-image-link-text::before {
content: '[';
}
-.glossary-image-link-text::after {
+.gloss-image-link-text::after {
content: ']';
}
-.glossary-image-description {
+.gloss-image-description {
white-space: pre-line;
}
@@ -1685,20 +1685,20 @@ button.definition-item-expansion-button:focus:focus-visible+.definition-item-con
.kanji-glyph-data dd {
margin-left: 0;
}
-.kanji-glossary-list {
+.kanji-gloss-list {
margin: 0;
padding: 0 0 0 var(--list-padding1);
list-style-type: decimal;
}
-.kanji-glossary-list[data-count='0'],
-.kanji-glossary-list[data-count='1'] {
+.kanji-gloss-list[data-count='0'],
+.kanji-gloss-list[data-count='1'] {
padding-left: 0;
list-style-type: none;
}
-.kanji-glossary-item::marker {
+.kanji-gloss-item::marker {
color: var(--text-color-light3);
}
-.kanji-glossary {
+.kanji-gloss-content {
white-space: pre-line;
}
.kanji-tag-list {
@@ -2070,22 +2070,22 @@ button.footer-notification-close-button {
:root[data-glossary-layout-mode=compact] .definition-disambiguation-list:not([data-count='0']) {
display: inline;
}
-:root[data-glossary-layout-mode=compact] .glossary-list {
+:root[data-glossary-layout-mode=compact] .gloss-list {
display: inline;
list-style: none;
padding-left: 0;
}
-:root[data-glossary-layout-mode=compact] .glossary-item {
+:root[data-glossary-layout-mode=compact] .gloss-item {
display: inline;
}
-:root[data-glossary-layout-mode=compact] .glossary-item:not(:first-child)::before {
+:root[data-glossary-layout-mode=compact] .gloss-item:not(:first-child)::before {
white-space: pre-wrap;
content: var(--compact-list-separator);
display: inline;
color: var(--text-color-light3);
}
-:root[data-show-pitch-accent-downstep-notation=true] .pitch-accent-disambiguation-list[data-expression-count='0'],
+:root[data-show-pitch-accent-downstep-notation=true] .pitch-accent-disambiguation-list[data-term-count='0'],
:root[data-show-pitch-accent-downstep-notation=true] .pitch-accent-disambiguation[data-type=reading] {
display: none;
}
@@ -2114,29 +2114,29 @@ button.footer-notification-close-button {
color: var(--text-color-light3);
}
-:root[data-glossary-layout-mode=compact] .glossary-image-container {
+:root[data-glossary-layout-mode=compact] .gloss-image-container {
display: none;
position: absolute;
left: 0;
top: 100%;
z-index: 1;
}
-:root[data-glossary-layout-mode=compact] .entry:nth-last-of-type(1):not(:nth-of-type(1)) .glossary-image-container {
+:root[data-glossary-layout-mode=compact] .entry:nth-last-of-type(1):not(:nth-of-type(1)) .gloss-image-container {
bottom: 100%;
top: auto;
}
-:root[data-glossary-layout-mode=compact] .glossary-image-link {
+:root[data-glossary-layout-mode=compact] .gloss-image-link {
position: relative;
display: inline-block;
}
-:root[data-glossary-layout-mode=compact] .glossary-image-link:hover .glossary-image-container,
-:root[data-glossary-layout-mode=compact] .glossary-image-link:focus .glossary-image-container {
+:root[data-glossary-layout-mode=compact] .gloss-image-link:hover .gloss-image-container,
+:root[data-glossary-layout-mode=compact] .gloss-image-link:focus .gloss-image-container {
display: block;
}
-:root:not([data-glossary-layout-mode=compact]) .glossary-image-link-text {
+:root:not([data-glossary-layout-mode=compact]) .gloss-image-link-text {
display: none;
}
-:root:not([data-glossary-layout-mode=compact]) .glossary-image-description {
+:root:not([data-glossary-layout-mode=compact]) .gloss-image-description {
display: block;
}
diff --git a/ext/display-templates.html b/ext/display-templates.html
index 25beacb0..6496b73e 100644
--- a/ext/display-templates.html
+++ b/ext/display-templates.html
@@ -11,9 +11,9 @@
<button class="action-button action-play-audio" data-icon="play-audio" title="Play audio" data-title-default="Play audio" data-hotkey='["playAudio",["title","data-title-default"],"Play audio ({0})"]' data-menu-position="left below h-cover v-cover"><div class="action-button-badge icon" hidden></div></button>
<span class="entry-current-indicator-icon" title="Current entry"></span>
</div>
- <div class="expression-list"></div>
- <div class="expression-list-details">
- <div class="expression-list-tag-list tag-list"></div>
+ <div class="headword-list"></div>
+ <div class="headword-list-details">
+ <div class="headword-list-tag-list tag-list"></div>
<div class="inflection-list"></div>
</div>
</div>
@@ -30,19 +30,19 @@
</div>
<div class="debug-info"><a class="debug-log-link">Log debug info to console</a></div>
</div></template>
-<template id="expression-template" data-remove-whitespace-text="true"><div class="expression">
- <div class="expression-text-container">
- <span class="expression-text-outer source-text">
- <span class="expression-current-indicator"></span>
- <span class="expression-text"></span>
+<template id="headword-template" data-remove-whitespace-text="true"><div class="headword">
+ <div class="headword-text-container">
+ <span class="headword-term-outer source-text">
+ <span class="headword-current-indicator"></span>
+ <span class="headword-term"></span>
</span>
- <span class="expression-reading-outer">
- <span class="expression-reading"></span>
+ <span class="headword-reading-outer">
+ <span class="headword-reading"></span>
</span>
</div>
- <div class="expression-details">
+ <div class="headword-details">
<button class="action-button action-play-audio" data-icon="play-audio" title="Play audio" data-title-default="Play audio" data-hotkey='["playAudio",["title","data-title-default"],"Play audio ({0})"]' data-menu-position="right below h-cover v-cover"><div class="action-button-badge icon" hidden></div></button>
- <div class="expression-tag-list tag-list"></div>
+ <div class="headword-tag-list tag-list"></div>
</div>
</div></template>
<template id="definition-item-template" data-remove-whitespace-text="true"><li class="definition-item">
@@ -51,13 +51,13 @@
<div class="definition-item-content">
<div class="definition-tag-list tag-list"></div>
<div class="definition-disambiguation-list"></div>
- <ul class="glossary-list"></ul>
+ <ul class="gloss-list"></ul>
</div>
</div>
</li></template>
<template id="definition-disambiguation-template"><span class="definition-disambiguation"></span></template>
-<template id="glossary-item-template"><li class="glossary-item click-scannable"><span class="glossary-separator"> </span><span class="glossary"></span></li></template>
-<template id="glossary-item-image-template"><li class="glossary-item click-scannable" data-has-image="true"><span class="glossary-separator"> </span><span class="glossary"><a class="glossary-image-link" target="_blank" rel="noreferrer noopener"><span class="glossary-image-container"><span class="glossary-image-aspect-ratio-sizer"></span><img class="glossary-image" alt=""><span class="glossary-image-container-overlay"></span></span><span class="glossary-image-link-text">Image</span></a> <span class="glossary-image-description"></span></span></li></template>
+<template id="gloss-item-template"><li class="gloss-item click-scannable"><span class="gloss-separator"> </span><span class="gloss-content"></span></li></template>
+<template id="gloss-item-image-template"><li class="gloss-item click-scannable" data-has-image="true"><span class="gloss-separator"> </span><span class="gloss-content"><a class="gloss-image-link" target="_blank" rel="noreferrer noopener"><span class="gloss-image-container"><span class="gloss-image-aspect-ratio-sizer"></span><img class="gloss-image" alt=""><span class="gloss-image-container-overlay"></span></span><span class="gloss-image-link-text">Image</span></a> <span class="gloss-image-description"></span></span></li></template>
<template id="inflection-template"><span class="inflection"></span><span class="inflection-separator"> </span></template>
<!-- Frequency templates -->
@@ -66,7 +66,7 @@
<span class="tag-label"><span class="tag-label-content"></span></span>
<span class="tag-body"><span class="tag-body-content frequency-body">
<span class="frequency-disambiguation"><ruby>
- <span class="frequency-disambiguation-expression"></span>
+ <span class="frequency-disambiguation-term"></span>
<span class="frequency-disambiguation-separator"></span>
<rt class="frequency-disambiguation-reading"></rt>
</ruby></span>
@@ -104,7 +104,7 @@
<span class="entry-current-indicator-icon" title="Current entry"></span>
</div>
<div class="kanji-glyph-container">
- <span class="expression-current-indicator"></span>
+ <span class="headword-current-indicator"></span>
<div class="kanji-glyph source-text"></div>
</div>
<div class="kanji-tag-list tag-list"></div>
@@ -116,12 +116,12 @@
</div>
<table class="kanji-glyph-data"><tbody>
<tr>
- <th>Glossary</th>
+ <th>Meaning</th>
<th>Readings</th>
<th>Statistics</th>
</tr>
<tr>
- <td class="kanji-glossary-container"><ol class="kanji-glossary-list"></ol></td>
+ <td class="kanji-gloss-container"><ol class="kanji-gloss-list"></ol></td>
<td class="kanji-readings"><dl class="kanji-readings-chinese"></dl><dl class="kanji-readings-japanese"></dl></td>
<td class="kanji-statistics"></td>
</tr>
@@ -137,7 +137,7 @@
<template id="kanji-info-table-template"><table class="kanji-info-table"><tbody class="kanji-info-table-body"></tbody></table></template>
<template id="kanji-info-table-item-template"><tr class="kanji-info-table-item"><th class="kanji-info-table-item-header"></th><td class="kanji-info-table-item-value"></td></tr></template>
<template id="kanji-info-table-empty-template"><tr class="kanji-info-table-item kanji-info-table-item-empty"><td class="kanji-info-table-item-value-empty">No data found</td></tr></template>
-<template id="kanji-glossary-item-template"><li class="kanji-glossary-item"><span class="kanji-glossary"></span></li></template>
+<template id="kanji-gloss-item-template"><li class="kanji-gloss-item"><span class="kanji-gloss-content"></span></li></template>
<template id="kanji-reading-template"><dd class="kanji-reading"></dd></template>
<!-- Tag templates -->
diff --git a/ext/js/display/display-generator.js b/ext/js/display/display-generator.js
index 32699ec7..61c93b4a 100644
--- a/ext/js/display/display-generator.js
+++ b/ext/js/display/display-generator.js
@@ -53,12 +53,12 @@ class DisplayGenerator {
createTermEntry(dictionaryEntry) {
const node = this._templates.instantiate('term-entry');
- const headwordsContainer = node.querySelector('.expression-list');
+ const headwordsContainer = node.querySelector('.headword-list');
const inflectionsContainer = node.querySelector('.inflection-list');
const pitchesContainer = node.querySelector('.pitch-accent-group-list');
const frequencyGroupListContainer = node.querySelector('.frequency-group-list');
const definitionsContainer = node.querySelector('.definition-list');
- const termTagsContainer = node.querySelector('.expression-list-tag-list');
+ const headwordTagsContainer = node.querySelector('.headword-list-tag-list');
const {headwords, type, inflections, definitions, frequencies, pronunciations} = dictionaryEntry;
const pitches = DictionaryDataUtil.getPitchAccentInfos(dictionaryEntry);
@@ -74,11 +74,11 @@ class DisplayGenerator {
}
node.dataset.format = type;
- node.dataset.expressionCount = `${headwords.length}`;
+ node.dataset.headwordCount = `${headwords.length}`;
node.dataset.definitionCount = `${definitions.length}`;
node.dataset.pitchAccentDictionaryCount = `${pitches.length}`;
node.dataset.pitchAccentCount = `${pitchCount}`;
- node.dataset.uniqueExpressionCount = `${uniqueTerms.size}`;
+ node.dataset.uniqueTermCount = `${uniqueTerms.size}`;
node.dataset.uniqueReadingCount = `${uniqueReadings.size}`;
node.dataset.frequencyCount = `${frequencies.length}`;
node.dataset.groupedFrequencyCount = `${groupedFrequencies.length}`;
@@ -93,14 +93,14 @@ class DisplayGenerator {
this._appendMultiple(inflectionsContainer, this._createTermInflection.bind(this), inflections);
this._appendMultiple(frequencyGroupListContainer, this._createFrequencyGroup.bind(this), groupedFrequencies, false);
this._appendMultiple(pitchesContainer, this._createPitches.bind(this), pitches);
- this._appendMultiple(termTagsContainer, this._createTermTag.bind(this), termTags, headwords.length);
+ this._appendMultiple(headwordTagsContainer, this._createTermTag.bind(this), termTags, headwords.length);
for (const term of uniqueTerms) {
- termTagsContainer.appendChild(this._createSearchTag(term));
+ headwordTagsContainer.appendChild(this._createSearchTag(term));
}
for (const reading of uniqueReadings) {
if (uniqueTerms.has(reading)) { continue; }
- termTagsContainer.appendChild(this._createSearchTag(reading));
+ headwordTagsContainer.appendChild(this._createSearchTag(reading));
}
// Add definitions
@@ -132,7 +132,7 @@ class DisplayGenerator {
const glyphContainer = node.querySelector('.kanji-glyph');
const frequencyGroupListContainer = node.querySelector('.frequency-group-list');
const tagContainer = node.querySelector('.kanji-tag-list');
- const definitionsContainer = node.querySelector('.kanji-glossary-list');
+ const definitionsContainer = node.querySelector('.kanji-gloss-list');
const chineseReadingsContainer = node.querySelector('.kanji-readings-chinese');
const japaneseReadingsContainer = node.querySelector('.kanji-readings-japanese');
const statisticsContainer = node.querySelector('.kanji-statistics');
@@ -188,7 +188,7 @@ class DisplayGenerator {
if (disambiguationHeadwords.length > 0 && disambiguationHeadwords.length < headwords.length) {
const disambiguationContainer = node.querySelector('.tag-details-disambiguation-list');
- const copyAttributes = ['totalExpressionCount', 'matchedExpressionCount', 'unmatchedExpressionCount'];
+ const copyAttributes = ['totalHeadwordCount', 'matchedHeadwordCount', 'unmatchedHeadwordCount'];
for (const attribute of copyAttributes) {
const value = tagNode.dataset[attribute];
if (typeof value === 'undefined') { continue; }
@@ -242,10 +242,10 @@ class DisplayGenerator {
if (term) { searchQueries.push(term); }
if (reading) { searchQueries.push(reading); }
- const node = this._templates.instantiate('expression');
+ const node = this._templates.instantiate('headword');
- const termContainer = node.querySelector('.expression-text');
- const tagContainer = node.querySelector('.expression-tag-list');
+ const termContainer = node.querySelector('.headword-term');
+ const tagContainer = node.querySelector('.headword-tag-list');
node.dataset.readingIsSame = `${reading === term}`;
node.dataset.frequency = DictionaryDataUtil.getTermFrequency(tags);
@@ -259,7 +259,7 @@ class DisplayGenerator {
node.dataset.wordClasses = wordClasses.join(' ');
}
- this._setTextContent(node.querySelector('.expression-reading'), reading);
+ this._setTextContent(node.querySelector('.headword-reading'), reading);
this._appendFurigana(termContainer, term, reading, this._appendKanjiLinks.bind(this));
this._appendMultiple(tagContainer, this._createTag.bind(this), tags);
@@ -284,7 +284,7 @@ class DisplayGenerator {
const tagListContainer = node.querySelector('.definition-tag-list');
const onlyListContainer = node.querySelector('.definition-disambiguation-list');
- const entriesContainer = node.querySelector('.glossary-list');
+ const entriesContainer = node.querySelector('.gloss-list');
node.dataset.dictionary = dictionary;
@@ -309,8 +309,8 @@ class DisplayGenerator {
}
_createTermDefinitionEntryText(text) {
- const node = this._templates.instantiate('glossary-item');
- const container = node.querySelector('.glossary');
+ const node = this._templates.instantiate('gloss-item');
+ const container = node.querySelector('.gloss-content');
this._setMultilineTextContent(container, text);
return node;
}
@@ -330,22 +330,22 @@ class DisplayGenerator {
width / height
);
- const node = this._templates.instantiate('glossary-item-image');
+ const node = this._templates.instantiate('gloss-item-image');
node.dataset.path = path;
node.dataset.dictionary = dictionary;
node.dataset.imageLoadState = 'not-loaded';
- const imageContainer = node.querySelector('.glossary-image-container');
+ const imageContainer = node.querySelector('.gloss-image-container');
imageContainer.style.width = `${usedWidth}em`;
if (typeof title === 'string') {
imageContainer.title = title;
}
- const aspectRatioSizer = node.querySelector('.glossary-image-aspect-ratio-sizer');
+ const aspectRatioSizer = node.querySelector('.gloss-image-aspect-ratio-sizer');
aspectRatioSizer.style.paddingTop = `${aspectRatio * 100.0}%`;
- const image = node.querySelector('img.glossary-image');
- const imageLink = node.querySelector('.glossary-image-link');
+ const image = node.querySelector('img.gloss-image');
+ const imageLink = node.querySelector('.gloss-image-link');
image.dataset.pixelated = `${pixelated === true}`;
if (this._mediaLoader !== null) {
@@ -358,7 +358,7 @@ class DisplayGenerator {
}
if (typeof description === 'string') {
- const container = node.querySelector('.glossary-image-description');
+ const container = node.querySelector('.gloss-image-description');
this._setMultilineTextContent(container, description);
}
@@ -386,14 +386,14 @@ class DisplayGenerator {
_createKanjiLink(character) {
const node = document.createElement('a');
- node.className = 'expression-kanji-link';
+ node.className = 'headword-kanji-link';
this._setTextContent(node, character, 'ja');
return node;
}
_createKanjiDefinition(text) {
- const node = this._templates.instantiate('kanji-glossary-item');
- const container = node.querySelector('.kanji-glossary');
+ const node = this._templates.instantiate('kanji-gloss-item');
+ const container = node.querySelector('.kanji-gloss-content');
this._setMultilineTextContent(container, text);
return node;
}
@@ -452,9 +452,9 @@ class DisplayGenerator {
const {tag, headwordIndices} = tagInfo;
const node = this._createTag(tag);
node.dataset.headwords = headwordIndices.join(' ');
- node.dataset.totalExpressionCount = `${totalHeadwordCount}`;
- node.dataset.matchedExpressionCount = `${headwordIndices.length}`;
- node.dataset.unmatchedExpressionCount = `${Math.max(0, totalHeadwordCount - headwordIndices.length)}`;
+ node.dataset.totalHeadwordCount = `${totalHeadwordCount}`;
+ node.dataset.matchedHeadwordCount = `${headwordIndices.length}`;
+ node.dataset.unmatchedHeadwordCount = `${Math.max(0, totalHeadwordCount - headwordIndices.length)}`;
return node;
}
@@ -549,7 +549,7 @@ class DisplayGenerator {
const templateName = 'pitch-accent-disambiguation';
for (const term of exclusiveTerms) {
const node = this._templates.instantiate(templateName);
- node.dataset.type = 'expression';
+ node.dataset.type = 'term';
this._setTextContent(node, term, 'ja');
container.appendChild(node);
}
@@ -562,7 +562,7 @@ class DisplayGenerator {
}
container.dataset.count = `${exclusiveTerms.length + exclusiveReadings.length}`;
- container.dataset.expressionCount = `${exclusiveTerms.length}`;
+ container.dataset.termCount = `${exclusiveTerms.length}`;
container.dataset.readingCount = `${exclusiveReadings.length}`;
}
@@ -639,11 +639,11 @@ class DisplayGenerator {
const frequency = values.join(', ');
- this._setTextContent(node.querySelector('.frequency-disambiguation-expression'), term, 'ja');
+ this._setTextContent(node.querySelector('.frequency-disambiguation-term'), term, 'ja');
this._setTextContent(node.querySelector('.frequency-disambiguation-reading'), (reading !== null ? reading : ''), 'ja');
this._setTextContent(node.querySelector('.frequency-value'), frequency, 'ja');
- node.dataset.expression = term;
+ node.dataset.term = term;
node.dataset.reading = reading;
node.dataset.hasReading = `${reading !== null}`;
node.dataset.readingIsSame = `${reading === term}`;
diff --git a/ext/js/display/display.js b/ext/js/display/display.js
index ab3ec7e1..fcfa0244 100644
--- a/ext/js/display/display.js
+++ b/ext/js/display/display.js
@@ -46,7 +46,7 @@ class Display extends EventDispatcher {
this._japaneseUtil = japaneseUtil;
this._documentFocusController = documentFocusController;
this._hotkeyHandler = hotkeyHandler;
- this._container = document.querySelector('#definitions');
+ this._container = document.querySelector('#dictionary-entries');
this._dictionaryEntries = [];
this._dictionaryEntryNodes = [];
this._optionsContext = {depth: 0, url: window.location.href};
@@ -1705,7 +1705,7 @@ class Display extends EventDispatcher {
this._eventListeners.addEventListener(entry, 'click', this._onEntryClick.bind(this));
this._addMultipleEventListeners(entry, '.action-add-note', 'click', this._onNoteAdd.bind(this));
this._addMultipleEventListeners(entry, '.action-view-note', 'click', this._onNoteView.bind(this));
- this._addMultipleEventListeners(entry, '.expression-kanji-link', 'click', this._onKanjiLookup.bind(this));
+ this._addMultipleEventListeners(entry, '.headword-kanji-link', 'click', this._onKanjiLookup.bind(this));
this._addMultipleEventListeners(entry, '.debug-log-link', 'click', this._onDebugLogClick.bind(this));
this._addMultipleEventListeners(entry, '.tag-label', 'click', this._onTagClick.bind(this));
}
diff --git a/ext/js/language/dictionary-database.js b/ext/js/language/dictionary-database.js
index 98f56986..6b235fb6 100644
--- a/ext/js/language/dictionary-database.js
+++ b/ext/js/language/dictionary-database.js
@@ -392,7 +392,7 @@ class DictionaryDatabase {
definitionTags: this._splitField(row.definitionTags || row.tags || ''),
termTags: this._splitField(row.termTags || ''),
rules: this._splitField(row.rules),
- glossary: row.glossary,
+ definitions: row.glossary,
score: row.score,
dictionary: row.dictionary,
id: row.id,
@@ -407,7 +407,7 @@ class DictionaryDatabase {
onyomi: this._splitField(row.onyomi),
kunyomi: this._splitField(row.kunyomi),
tags: this._splitField(row.tags),
- glossary: row.meanings,
+ definitions: row.meanings,
stats: row.stats,
dictionary: row.dictionary
};
diff --git a/ext/js/language/translator.js b/ext/js/language/translator.js
index 68a55cf9..28634f9c 100644
--- a/ext/js/language/translator.js
+++ b/ext/js/language/translator.js
@@ -148,13 +148,13 @@ class Translator {
this._sortDatabaseEntriesByIndex(databaseEntries);
const dictionaryEntries = [];
- for (const {character, onyomi, kunyomi, tags, glossary, stats, dictionary} of databaseEntries) {
+ for (const {character, onyomi, kunyomi, tags, definitions, stats, dictionary} of databaseEntries) {
const expandedStats = await this._expandKanjiStats(stats, dictionary);
const tagGroups = [];
if (tags.length > 0) { tagGroups.push(this._createTagGroup(dictionary, tags)); }
- const dictionaryEntry = this._createKanjiDictionaryEntry(character, dictionary, onyomi, kunyomi, tagGroups, expandedStats, glossary);
+ const dictionaryEntry = this._createKanjiDictionaryEntry(character, dictionary, onyomi, kunyomi, tagGroups, expandedStats, definitions);
dictionaryEntries.push(dictionaryEntry);
}
@@ -960,7 +960,7 @@ class Translator {
}
_createTermDictionaryEntryFromDatabaseEntry(databaseEntry, originalText, transformedText, deinflectedText, reasons, isPrimary, enabledDictionaryMap) {
- const {term, reading: rawReading, definitionTags, termTags, glossary, score, dictionary, id, sequence, rules} = databaseEntry;
+ const {term, reading: rawReading, definitionTags, termTags, definitions, score, dictionary, id, sequence, rules} = databaseEntry;
const reading = (rawReading.length > 0 ? rawReading : term);
const {index: dictionaryIndex, priority: dictionaryPriority} = this._getDictionaryOrder(dictionary, enabledDictionaryMap);
const sourceTermExactMatchCount = (isPrimary && deinflectedText === term ? 1 : 0);
@@ -984,7 +984,7 @@ class Translator {
sourceTermExactMatchCount,
maxTransformedTextLength,
[this._createTermHeadword(0, term, reading, [source], headwordTagGroups, rules)],
- [this._createTermDefinition(0, [0], dictionary, definitionTagGroups, glossary)]
+ [this._createTermDefinition(0, [0], dictionary, definitionTagGroups, definitions)]
);
}
diff --git a/ext/popup.html b/ext/popup.html
index 76a0032b..622e98f3 100644
--- a/ext/popup.html
+++ b/ext/popup.html
@@ -32,7 +32,7 @@
<div id="query-parser-content" lang="ja"></div>
</div>
- <div id="definitions"></div>
+ <div id="dictionary-entries"></div>
<div id="no-results" hidden>
<div class="entry">
diff --git a/ext/search.html b/ext/search.html
index d67dca45..41f3b92b 100644
--- a/ext/search.html
+++ b/ext/search.html
@@ -55,7 +55,7 @@
<div id="query-parser-content" lang="ja"></div>
</div>
- <div id="definitions"></div>
+ <div id="dictionary-entries"></div>
<div id="no-results" hidden>
<div class="entry">