chaffjs 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/api.d.ts +7 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/cli-text.d.ts.map +1 -1
- package/dist/cli-text.js +6 -4
- package/dist/cli-text.js.map +1 -1
- package/dist/commands/grade.d.ts.map +1 -1
- package/dist/commands/grade.js +66 -21
- package/dist/commands/grade.js.map +1 -1
- package/dist/company-kana-spelling.d.ts +6 -1
- package/dist/company-kana-spelling.d.ts.map +1 -1
- package/dist/company-kana-spelling.js +19 -2
- package/dist/company-kana-spelling.js.map +1 -1
- package/dist/company-name-ending.d.ts +7 -0
- package/dist/company-name-ending.d.ts.map +1 -0
- package/dist/company-name-ending.js +44 -0
- package/dist/company-name-ending.js.map +1 -0
- package/dist/company-names.d.ts +11 -3
- package/dist/company-names.d.ts.map +1 -1
- package/dist/company-names.js +27 -14
- package/dist/company-names.js.map +1 -1
- package/dist/cross-run.d.ts.map +1 -1
- package/dist/cross-run.js +1 -0
- package/dist/cross-run.js.map +1 -1
- package/dist/custom/no-rewrite.d.ts +3 -0
- package/dist/custom/no-rewrite.d.ts.map +1 -0
- package/dist/custom/no-rewrite.js +3 -0
- package/dist/custom/no-rewrite.js.map +1 -0
- package/dist/custom/parse.d.ts.map +1 -1
- package/dist/custom/parse.js +14 -2
- package/dist/custom/parse.js.map +1 -1
- package/dist/detectors/age-words.d.ts +5 -0
- package/dist/detectors/age-words.d.ts.map +1 -0
- package/dist/detectors/age-words.js +8 -0
- package/dist/detectors/age-words.js.map +1 -0
- package/dist/detectors/agreement-slip.d.ts.map +1 -1
- package/dist/detectors/agreement-slip.js +4 -0
- package/dist/detectors/agreement-slip.js.map +1 -1
- package/dist/detectors/annual-pay-mismatch.d.ts.map +1 -1
- package/dist/detectors/annual-pay-mismatch.js +2 -12
- package/dist/detectors/annual-pay-mismatch.js.map +1 -1
- package/dist/detectors/blank-structure.d.ts.map +1 -1
- package/dist/detectors/blank-structure.js +4 -3
- package/dist/detectors/blank-structure.js.map +1 -1
- package/dist/detectors/closing-balance-mismatch.d.ts.map +1 -1
- package/dist/detectors/closing-balance-mismatch.js +1 -0
- package/dist/detectors/closing-balance-mismatch.js.map +1 -1
- package/dist/detectors/code-fences.d.ts +5 -0
- package/dist/detectors/code-fences.d.ts.map +1 -1
- package/dist/detectors/code-fences.js +9 -0
- package/dist/detectors/code-fences.js.map +1 -1
- package/dist/detectors/condition-toki.d.ts +16 -0
- package/dist/detectors/condition-toki.d.ts.map +1 -0
- package/dist/detectors/condition-toki.js +42 -0
- package/dist/detectors/condition-toki.js.map +1 -0
- package/dist/detectors/conjugated-entry.d.ts +17 -0
- package/dist/detectors/conjugated-entry.d.ts.map +1 -0
- package/dist/detectors/conjugated-entry.js +50 -0
- package/dist/detectors/conjugated-entry.js.map +1 -0
- package/dist/detectors/content-morphemes.d.ts +2 -0
- package/dist/detectors/content-morphemes.d.ts.map +1 -1
- package/dist/detectors/content-morphemes.js +1 -1
- package/dist/detectors/content-morphemes.js.map +1 -1
- package/dist/detectors/cross-facts.d.ts.map +1 -1
- package/dist/detectors/cross-facts.js +2 -1
- package/dist/detectors/cross-facts.js.map +1 -1
- package/dist/detectors/custom.d.ts.map +1 -1
- package/dist/detectors/custom.js +8 -2
- package/dist/detectors/custom.js.map +1 -1
- package/dist/detectors/document-shape.d.ts.map +1 -1
- package/dist/detectors/document-shape.js +6 -0
- package/dist/detectors/document-shape.js.map +1 -1
- package/dist/detectors/due-date.d.ts.map +1 -1
- package/dist/detectors/due-date.js +12 -2
- package/dist/detectors/due-date.js.map +1 -1
- package/dist/detectors/fact-consistency.d.ts.map +1 -1
- package/dist/detectors/fact-consistency.js +12 -13
- package/dist/detectors/fact-consistency.js.map +1 -1
- package/dist/detectors/form-line.d.ts +9 -0
- package/dist/detectors/form-line.d.ts.map +1 -0
- package/dist/detectors/form-line.js +36 -0
- package/dist/detectors/form-line.js.map +1 -0
- package/dist/detectors/formula-amount.d.ts +3 -0
- package/dist/detectors/formula-amount.d.ts.map +1 -0
- package/dist/detectors/formula-amount.js +31 -0
- package/dist/detectors/formula-amount.js.map +1 -0
- package/dist/detectors/heading-claim.d.ts +14 -0
- package/dist/detectors/heading-claim.d.ts.map +1 -0
- package/dist/detectors/heading-claim.js +49 -0
- package/dist/detectors/heading-claim.js.map +1 -0
- package/dist/detectors/heading-echo.d.ts.map +1 -1
- package/dist/detectors/heading-echo.js +29 -1
- package/dist/detectors/heading-echo.js.map +1 -1
- package/dist/detectors/installment-total-mismatch.d.ts.map +1 -1
- package/dist/detectors/installment-total-mismatch.js +28 -19
- package/dist/detectors/installment-total-mismatch.js.map +1 -1
- package/dist/detectors/list-parallel.d.ts +5 -2
- package/dist/detectors/list-parallel.d.ts.map +1 -1
- package/dist/detectors/list-parallel.js +45 -7
- package/dist/detectors/list-parallel.js.map +1 -1
- package/dist/detectors/name-variant.d.ts.map +1 -1
- package/dist/detectors/name-variant.js +34 -7
- package/dist/detectors/name-variant.js.map +1 -1
- package/dist/detectors/number-unit.d.ts +10 -0
- package/dist/detectors/number-unit.d.ts.map +1 -1
- package/dist/detectors/number-unit.js +28 -8
- package/dist/detectors/number-unit.js.map +1 -1
- package/dist/detectors/orthographic-variant.d.ts.map +1 -1
- package/dist/detectors/orthographic-variant.js +4 -3
- package/dist/detectors/orthographic-variant.js.map +1 -1
- package/dist/detectors/orthography.d.ts.map +1 -1
- package/dist/detectors/orthography.js +16 -7
- package/dist/detectors/orthography.js.map +1 -1
- package/dist/detectors/per-unit-words.d.ts +7 -0
- package/dist/detectors/per-unit-words.d.ts.map +1 -0
- package/dist/detectors/per-unit-words.js +17 -0
- package/dist/detectors/per-unit-words.js.map +1 -0
- package/dist/detectors/period-multiple-mismatch.d.ts.map +1 -1
- package/dist/detectors/period-multiple-mismatch.js +2 -12
- package/dist/detectors/period-multiple-mismatch.js.map +1 -1
- package/dist/detectors/reference-number-variant.d.ts.map +1 -1
- package/dist/detectors/reference-number-variant.js +21 -3
- package/dist/detectors/reference-number-variant.js.map +1 -1
- package/dist/detectors/registry/condition-toki.d.ts +3 -0
- package/dist/detectors/registry/condition-toki.d.ts.map +1 -0
- package/dist/detectors/registry/condition-toki.js +3 -0
- package/dist/detectors/registry/condition-toki.js.map +1 -0
- package/dist/detectors/registry/formula-amount.d.ts +3 -0
- package/dist/detectors/registry/formula-amount.d.ts.map +1 -0
- package/dist/detectors/registry/formula-amount.js +3 -0
- package/dist/detectors/registry/formula-amount.js.map +1 -0
- package/dist/detectors/rent-multiple-mismatch.d.ts.map +1 -1
- package/dist/detectors/rent-multiple-mismatch.js +2 -12
- package/dist/detectors/rent-multiple-mismatch.js.map +1 -1
- package/dist/detectors/row-sentence-amounts.d.ts.map +1 -1
- package/dist/detectors/row-sentence-amounts.js +5 -10
- package/dist/detectors/row-sentence-amounts.js.map +1 -1
- package/dist/detectors/stated-amounts.d.ts +4 -0
- package/dist/detectors/stated-amounts.d.ts.map +1 -0
- package/dist/detectors/stated-amounts.js +12 -0
- package/dist/detectors/stated-amounts.js.map +1 -0
- package/dist/detectors/step-time-sum.d.ts.map +1 -1
- package/dist/detectors/step-time-sum.js +2 -1
- package/dist/detectors/step-time-sum.js.map +1 -1
- package/dist/detectors/structure-tree.d.ts +1 -1
- package/dist/detectors/structure-tree.d.ts.map +1 -1
- package/dist/detectors/structure-tree.js +7 -2
- package/dist/detectors/structure-tree.js.map +1 -1
- package/dist/detectors/team.d.ts.map +1 -1
- package/dist/detectors/team.js +10 -6
- package/dist/detectors/team.js.map +1 -1
- package/dist/detectors/time-order.d.ts.map +1 -1
- package/dist/detectors/time-order.js +17 -13
- package/dist/detectors/time-order.js.map +1 -1
- package/dist/detectors/unknown-word.d.ts +4 -1
- package/dist/detectors/unknown-word.d.ts.map +1 -1
- package/dist/detectors/unknown-word.js +18 -2
- package/dist/detectors/unknown-word.js.map +1 -1
- package/dist/detectors/use-interval.d.ts +1 -0
- package/dist/detectors/use-interval.d.ts.map +1 -1
- package/dist/detectors/use-interval.js +15 -10
- package/dist/detectors/use-interval.js.map +1 -1
- package/dist/detectors/use-maximum.d.ts.map +1 -1
- package/dist/detectors/use-maximum.js +3 -1
- package/dist/detectors/use-maximum.js.map +1 -1
- package/dist/eval.js +3 -3
- package/dist/eval.js.map +1 -1
- package/dist/extension/document-view.d.ts +2 -2
- package/dist/extension/document-view.d.ts.map +1 -1
- package/dist/extension/document-view.js +17 -8
- package/dist/extension/document-view.js.map +1 -1
- package/dist/extension/entry-genres.d.ts +5 -0
- package/dist/extension/entry-genres.d.ts.map +1 -0
- package/dist/extension/entry-genres.js +13 -0
- package/dist/extension/entry-genres.js.map +1 -0
- package/dist/extension/module-detector.d.ts.map +1 -1
- package/dist/extension/module-detector.js +4 -4
- package/dist/extension/module-detector.js.map +1 -1
- package/dist/extension/plugin-parse.d.ts +1 -1
- package/dist/extension/plugin-parse.d.ts.map +1 -1
- package/dist/extension/plugin-parse.js +24 -7
- package/dist/extension/plugin-parse.js.map +1 -1
- package/dist/extension/problem-text.d.ts.map +1 -1
- package/dist/extension/problem-text.js +2 -0
- package/dist/extension/problem-text.js.map +1 -1
- package/dist/facts/age-values.d.ts.map +1 -1
- package/dist/facts/age-values.js +20 -2
- package/dist/facts/age-values.js.map +1 -1
- package/dist/facts/column-units.d.ts +31 -0
- package/dist/facts/column-units.d.ts.map +1 -0
- package/dist/facts/column-units.js +37 -0
- package/dist/facts/column-units.js.map +1 -0
- package/dist/facts/fact-values.d.ts +4 -0
- package/dist/facts/fact-values.d.ts.map +1 -1
- package/dist/facts/fact-values.js +3 -1
- package/dist/facts/fact-values.js.map +1 -1
- package/dist/facts/labelled-facts.d.ts +10 -0
- package/dist/facts/labelled-facts.d.ts.map +1 -1
- package/dist/facts/labelled-facts.js +6 -1
- package/dist/facts/labelled-facts.js.map +1 -1
- package/dist/facts/per-unit.d.ts +36 -0
- package/dist/facts/per-unit.d.ts.map +1 -0
- package/dist/facts/per-unit.js +56 -0
- package/dist/facts/per-unit.js.map +1 -0
- package/dist/facts/row-sentence-amounts.d.ts +3 -12
- package/dist/facts/row-sentence-amounts.d.ts.map +1 -1
- package/dist/facts/row-sentence-amounts.js +1 -15
- package/dist/facts/row-sentence-amounts.js.map +1 -1
- package/dist/facts/table-facts.d.ts +1 -1
- package/dist/facts/table-facts.d.ts.map +1 -1
- package/dist/facts/table-facts.js +13 -9
- package/dist/facts/table-facts.js.map +1 -1
- package/dist/facts/term-values.d.ts +13 -1
- package/dist/facts/term-values.d.ts.map +1 -1
- package/dist/facts/term-values.js +71 -12
- package/dist/facts/term-values.js.map +1 -1
- package/dist/fix-plan/text.js +2 -2
- package/dist/fix-plan/text.js.map +1 -1
- package/dist/grade/baseline.d.ts +4 -2
- package/dist/grade/baseline.d.ts.map +1 -1
- package/dist/grade/baseline.js +13 -11
- package/dist/grade/baseline.js.map +1 -1
- package/dist/grade/expect-read.d.ts +16 -0
- package/dist/grade/expect-read.d.ts.map +1 -0
- package/dist/grade/expect-read.js +52 -0
- package/dist/grade/expect-read.js.map +1 -0
- package/dist/grade/expect.d.ts +50 -0
- package/dist/grade/expect.d.ts.map +1 -0
- package/dist/grade/expect.js +53 -0
- package/dist/grade/expect.js.map +1 -0
- package/dist/grade/grade-item.d.ts +1 -1
- package/dist/grade/grade-item.d.ts.map +1 -1
- package/dist/grade/grade-item.js +13 -3
- package/dist/grade/grade-item.js.map +1 -1
- package/dist/grade/item.d.ts +9 -1
- package/dist/grade/item.d.ts.map +1 -1
- package/dist/grade/item.js +32 -7
- package/dist/grade/item.js.map +1 -1
- package/dist/grade/result.d.ts +5 -0
- package/dist/grade/result.d.ts.map +1 -1
- package/dist/grade/results-read.d.ts.map +1 -1
- package/dist/grade/results-read.js +4 -2
- package/dist/grade/results-read.js.map +1 -1
- package/dist/grade/rubric-file.d.ts +23 -0
- package/dist/grade/rubric-file.d.ts.map +1 -0
- package/dist/grade/rubric-file.js +35 -0
- package/dist/grade/rubric-file.js.map +1 -0
- package/dist/grade/rubric.d.ts +2 -0
- package/dist/grade/rubric.d.ts.map +1 -1
- package/dist/grade/rubric.js +75 -47
- package/dist/grade/rubric.js.map +1 -1
- package/dist/grade/setup.d.ts +2 -1
- package/dist/grade/setup.d.ts.map +1 -1
- package/dist/grade/setup.js +2 -2
- package/dist/grade/setup.js.map +1 -1
- package/dist/grade/stamp.d.ts +2 -0
- package/dist/grade/stamp.d.ts.map +1 -1
- package/dist/grade/stamp.js +8 -2
- package/dist/grade/stamp.js.map +1 -1
- package/dist/grade/task-rubric.d.ts +16 -0
- package/dist/grade/task-rubric.d.ts.map +1 -0
- package/dist/grade/task-rubric.js +34 -0
- package/dist/grade/task-rubric.js.map +1 -0
- package/dist/grade/text.d.ts +5 -1
- package/dist/grade/text.d.ts.map +1 -1
- package/dist/grade/text.js +16 -4
- package/dist/grade/text.js.map +1 -1
- package/dist/lexicon-genres.d.ts +7 -0
- package/dist/lexicon-genres.d.ts.map +1 -0
- package/dist/lexicon-genres.js +8 -0
- package/dist/lexicon-genres.js.map +1 -0
- package/dist/name-char-reading.d.ts +5 -0
- package/dist/name-char-reading.d.ts.map +1 -1
- package/dist/name-char-reading.js +15 -0
- package/dist/name-char-reading.js.map +1 -1
- package/dist/name-end-letter.d.ts +19 -0
- package/dist/name-end-letter.d.ts.map +1 -0
- package/dist/name-end-letter.js +37 -0
- package/dist/name-end-letter.js.map +1 -0
- package/dist/name-neighbours.d.ts.map +1 -1
- package/dist/name-neighbours.js +2 -1
- package/dist/name-neighbours.js.map +1 -1
- package/dist/name-separator.d.ts +6 -0
- package/dist/name-separator.d.ts.map +1 -1
- package/dist/name-separator.js +29 -0
- package/dist/name-separator.js.map +1 -1
- package/dist/name-variants.d.ts +6 -3
- package/dist/name-variants.d.ts.map +1 -1
- package/dist/name-variants.js +37 -10
- package/dist/name-variants.js.map +1 -1
- package/dist/number-name.d.ts.map +1 -1
- package/dist/number-name.js +11 -2
- package/dist/number-name.js.map +1 -1
- package/dist/plugin.d.ts +6 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/profile/cue-lines.d.ts +6 -0
- package/dist/profile/cue-lines.d.ts.map +1 -0
- package/dist/profile/cue-lines.js +13 -0
- package/dist/profile/cue-lines.js.map +1 -0
- package/dist/profile/parse.d.ts +1 -1
- package/dist/profile/parse.d.ts.map +1 -1
- package/dist/profile/parse.js +8 -2
- package/dist/profile/parse.js.map +1 -1
- package/dist/reference-numbers.d.ts +2 -0
- package/dist/reference-numbers.d.ts.map +1 -1
- package/dist/reference-numbers.js +1 -1
- package/dist/reference-numbers.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +1 -0
- package/dist/run.js.map +1 -1
- package/dist/spaced-person-name.d.ts.map +1 -1
- package/dist/spaced-person-name.js +26 -1
- package/dist/spaced-person-name.js.map +1 -1
- package/dist/spacing-code.d.ts.map +1 -1
- package/dist/spacing-code.js +10 -1
- package/dist/spacing-code.js.map +1 -1
- package/dist/spacing-minority.d.ts +7 -0
- package/dist/spacing-minority.d.ts.map +1 -1
- package/dist/spacing-minority.js +14 -0
- package/dist/spacing-minority.js.map +1 -1
- package/dist/structure/closing-balance.d.ts +9 -0
- package/dist/structure/closing-balance.d.ts.map +1 -1
- package/dist/structure/closing-balance.js +34 -7
- package/dist/structure/closing-balance.js.map +1 -1
- package/dist/structure/date-range.d.ts +3 -2
- package/dist/structure/date-range.d.ts.map +1 -1
- package/dist/structure/date-range.js +4 -4
- package/dist/structure/date-range.js.map +1 -1
- package/dist/structure/definition-use.d.ts.map +1 -1
- package/dist/structure/definition-use.js +20 -1
- package/dist/structure/definition-use.js.map +1 -1
- package/dist/structure/document-context.d.ts +2 -0
- package/dist/structure/document-context.d.ts.map +1 -0
- package/dist/structure/document-context.js +42 -0
- package/dist/structure/document-context.js.map +1 -0
- package/dist/structure/fenced-lines.d.ts +7 -0
- package/dist/structure/fenced-lines.d.ts.map +1 -0
- package/dist/structure/fenced-lines.js +27 -0
- package/dist/structure/fenced-lines.js.map +1 -0
- package/dist/structure/formula-amount.d.ts +38 -0
- package/dist/structure/formula-amount.d.ts.map +1 -0
- package/dist/structure/formula-amount.js +187 -0
- package/dist/structure/formula-amount.js.map +1 -0
- package/dist/structure/installment-fee.d.ts +52 -0
- package/dist/structure/installment-fee.d.ts.map +1 -0
- package/dist/structure/installment-fee.js +110 -0
- package/dist/structure/installment-fee.js.map +1 -0
- package/dist/structure/installment-total.d.ts +7 -0
- package/dist/structure/installment-total.d.ts.map +1 -1
- package/dist/structure/installment-total.js +6 -6
- package/dist/structure/installment-total.js.map +1 -1
- package/dist/structure/labelled-date-order.d.ts +31 -9
- package/dist/structure/labelled-date-order.d.ts.map +1 -1
- package/dist/structure/labelled-date-order.js +60 -15
- package/dist/structure/labelled-date-order.js.map +1 -1
- package/dist/structure/labelled-order.d.ts +7 -1
- package/dist/structure/labelled-order.d.ts.map +1 -1
- package/dist/structure/labelled-order.js +10 -3
- package/dist/structure/labelled-order.js.map +1 -1
- package/dist/structure/line-amount-label.d.ts.map +1 -1
- package/dist/structure/line-amount-label.js +2 -1
- package/dist/structure/line-amount-label.js.map +1 -1
- package/dist/structure/line-amount.d.ts +0 -5
- package/dist/structure/line-amount.d.ts.map +1 -1
- package/dist/structure/line-amount.js +1 -10
- package/dist/structure/line-amount.js.map +1 -1
- package/dist/structure/prose-total.d.ts +8 -0
- package/dist/structure/prose-total.d.ts.map +1 -1
- package/dist/structure/prose-total.js +70 -2
- package/dist/structure/prose-total.js.map +1 -1
- package/dist/structure/runs.d.ts.map +1 -1
- package/dist/structure/runs.js +9 -1
- package/dist/structure/runs.js.map +1 -1
- package/dist/structure/signed-date-line.d.ts +15 -0
- package/dist/structure/signed-date-line.d.ts.map +1 -0
- package/dist/structure/signed-date-line.js +68 -0
- package/dist/structure/signed-date-line.js.map +1 -0
- package/dist/structure/start-end-range.d.ts +30 -0
- package/dist/structure/start-end-range.d.ts.map +1 -0
- package/dist/structure/start-end-range.js +79 -0
- package/dist/structure/start-end-range.js.map +1 -0
- package/dist/structure/tax.d.ts.map +1 -1
- package/dist/structure/tax.js +5 -3
- package/dist/structure/tax.js.map +1 -1
- package/dist/structure/total-line.d.ts.map +1 -1
- package/dist/structure/total-line.js +10 -6
- package/dist/structure/total-line.js.map +1 -1
- package/dist/structure/total.d.ts +2 -0
- package/dist/structure/total.d.ts.map +1 -1
- package/dist/structure/total.js +34 -3
- package/dist/structure/total.js.map +1 -1
- package/dist/subject-codes.d.ts +21 -0
- package/dist/subject-codes.d.ts.map +1 -0
- package/dist/subject-codes.js +79 -0
- package/dist/subject-codes.js.map +1 -0
- package/dist/unlabelled-references.d.ts +6 -2
- package/dist/unlabelled-references.d.ts.map +1 -1
- package/dist/unlabelled-references.js +11 -10
- package/dist/unlabelled-references.js.map +1 -1
- package/genres.yaml +17 -0
- package/package.json +4 -4
- package/profiles/listing.yaml +1 -1
- package/profiles/property-sale.yaml +21 -0
- package/rules/closing-balance-mismatch.yaml +3 -3
- package/rules/date-range-reversed.yaml +4 -4
- package/rules/due-before-issue.yaml +9 -5
- package/rules/fact-conflict.yaml +2 -2
- package/rules/formula-amount-mismatch.yaml +67 -0
- package/rules/heading-echo.yaml +2 -2
- package/rules/installment-total-mismatch.yaml +9 -4
- package/rules/internal-jargon.yaml +2 -2
- package/rules/latin-spacing.yaml +4 -4
- package/rules/list-item-form-mix.yaml +1 -1
- package/rules/name-variant.yaml +5 -2
- package/rules/no-lead.yaml +2 -2
- package/rules/number-without-unit.yaml +2 -2
- package/rules/orthographic-variant.yaml +3 -3
- package/rules/reference-number-variant.yaml +3 -3
- package/rules/toki-as-condition.yaml +71 -0
- package/rules/total-mismatch.yaml +4 -4
- package/rules/unknown-word.yaml +2 -2
- package/rules/use-before-definition.yaml +2 -2
- package/src/api.ts +11 -2
- package/src/cli-text.ts +6 -4
- package/src/commands/grade.ts +75 -23
- package/src/company-kana-spelling.ts +22 -2
- package/src/company-name-ending.ts +50 -0
- package/src/company-names.ts +52 -17
- package/src/cross-run.ts +1 -0
- package/src/custom/no-rewrite.ts +2 -0
- package/src/custom/parse.ts +18 -2
- package/src/detectors/age-words.ts +12 -0
- package/src/detectors/agreement-slip.ts +3 -0
- package/src/detectors/annual-pay-mismatch.ts +3 -18
- package/src/detectors/blank-structure.ts +4 -3
- package/src/detectors/closing-balance-mismatch.ts +1 -0
- package/src/detectors/code-fences.ts +10 -0
- package/src/detectors/condition-toki.ts +60 -0
- package/src/detectors/conjugated-entry.ts +53 -0
- package/src/detectors/content-morphemes.ts +2 -1
- package/src/detectors/cross-facts.ts +2 -1
- package/src/detectors/custom.ts +9 -2
- package/src/detectors/document-shape.ts +8 -0
- package/src/detectors/due-date.ts +17 -7
- package/src/detectors/fact-consistency.ts +13 -17
- package/src/detectors/form-line.ts +47 -0
- package/src/detectors/formula-amount.ts +43 -0
- package/src/detectors/heading-claim.ts +76 -0
- package/src/detectors/heading-echo.ts +32 -1
- package/src/detectors/installment-total-mismatch.ts +35 -24
- package/src/detectors/list-parallel.ts +46 -7
- package/src/detectors/name-variant.ts +45 -8
- package/src/detectors/number-unit.ts +35 -9
- package/src/detectors/orthographic-variant.ts +5 -3
- package/src/detectors/orthography.ts +17 -8
- package/src/detectors/per-unit-words.ts +24 -0
- package/src/detectors/period-multiple-mismatch.ts +2 -18
- package/src/detectors/reference-number-variant.ts +27 -5
- package/src/detectors/registry/condition-toki.ts +4 -0
- package/src/detectors/registry/formula-amount.ts +4 -0
- package/src/detectors/rent-multiple-mismatch.ts +2 -18
- package/src/detectors/row-sentence-amounts.ts +5 -20
- package/src/detectors/stated-amounts.ts +20 -0
- package/src/detectors/step-time-sum.ts +2 -1
- package/src/detectors/structure-tree.ts +7 -2
- package/src/detectors/team.ts +13 -7
- package/src/detectors/time-order.ts +6 -3
- package/src/detectors/unknown-word.ts +20 -2
- package/src/detectors/use-interval.ts +8 -4
- package/src/detectors/use-maximum.ts +3 -1
- package/src/eval.ts +3 -3
- package/src/extension/document-view.ts +18 -9
- package/src/extension/entry-genres.ts +15 -0
- package/src/extension/module-detector.ts +9 -4
- package/src/extension/plugin-parse.ts +29 -7
- package/src/extension/problem-text.ts +4 -0
- package/src/facts/age-values.ts +24 -2
- package/src/facts/column-units.ts +67 -0
- package/src/facts/fact-values.ts +11 -1
- package/src/facts/labelled-facts.ts +16 -2
- package/src/facts/per-unit.ts +105 -0
- package/src/facts/row-sentence-amounts.ts +4 -26
- package/src/facts/table-facts.ts +7 -4
- package/src/facts/term-values.ts +94 -13
- package/src/fix-plan/text.ts +2 -2
- package/src/grade/baseline.ts +20 -12
- package/src/grade/expect-read.ts +65 -0
- package/src/grade/expect.ts +74 -0
- package/src/grade/grade-item.ts +14 -3
- package/src/grade/item.ts +48 -8
- package/src/grade/result.ts +5 -0
- package/src/grade/results-read.ts +7 -2
- package/src/grade/rubric-file.ts +46 -0
- package/src/grade/rubric.ts +77 -47
- package/src/grade/setup.ts +3 -3
- package/src/grade/stamp.ts +10 -2
- package/src/grade/task-rubric.ts +39 -0
- package/src/grade/text.ts +27 -5
- package/src/lexicon-genres.ts +11 -0
- package/src/name-char-reading.ts +16 -0
- package/src/name-end-letter.ts +52 -0
- package/src/name-neighbours.ts +2 -1
- package/src/name-separator.ts +32 -0
- package/src/name-variants.ts +54 -13
- package/src/number-name.ts +12 -3
- package/src/plugin.ts +6 -0
- package/src/profile/cue-lines.ts +14 -0
- package/src/profile/parse.ts +11 -2
- package/src/reference-numbers.ts +1 -1
- package/src/run.ts +1 -0
- package/src/spaced-person-name.ts +27 -2
- package/src/spacing-code.ts +13 -2
- package/src/spacing-minority.ts +17 -0
- package/src/structure/closing-balance.ts +46 -8
- package/src/structure/date-range.ts +4 -3
- package/src/structure/definition-use.ts +24 -1
- package/src/structure/document-context.ts +46 -0
- package/src/structure/fenced-lines.ts +28 -0
- package/src/structure/formula-amount.ts +236 -0
- package/src/structure/installment-fee.ts +201 -0
- package/src/structure/installment-total.ts +6 -6
- package/src/structure/labelled-date-order.ts +105 -21
- package/src/structure/labelled-order.ts +21 -10
- package/src/structure/line-amount-label.ts +2 -1
- package/src/structure/line-amount.ts +1 -11
- package/src/structure/prose-total.ts +81 -2
- package/src/structure/runs.ts +10 -1
- package/src/structure/signed-date-line.ts +78 -0
- package/src/structure/start-end-range.ts +120 -0
- package/src/structure/tax.ts +6 -3
- package/src/structure/total-line.ts +12 -6
- package/src/structure/total.ts +42 -3
- package/src/subject-codes.ts +105 -0
- package/src/unlabelled-references.ts +24 -16
|
@@ -12,9 +12,9 @@ name:
|
|
|
12
12
|
en: A closing balance that is not the opening balance plus deposits less withdrawals
|
|
13
13
|
|
|
14
14
|
why:
|
|
15
|
-
ja: 預金の取引明細のまとめでは、当月末残高は、前月末残高にお預入れ合計を足し、お引出し合計を引いた額です。読む人は残高を見て、足し引きし直しません。取引を直したのに残高を直さなかったとき、前の月の明細から写したとき、数字を打ち間違えたときに食い違います。同じ表か同じ節に、初めの残高(前月末残高)、入金の合計(お預入れ合計)、出金の合計(お引出し合計)、終わりの残高(当月末残高)の名前が一つずつあり、それぞれに金額があれば、終わりの残高を足し引きと比べます。表では、見出しの行に四つの名前が並ぶ表は行ごとに、一列目に四つの名前が並ぶ表は列ごとに比べます。表の外では、節(見出しから次の見出しまで)の「前月末残高:412,350円」のような名前と金額だけの行を読みます。どの語が四つのどれかは、言語パッケージの語彙表 closing-balance-label
|
|
15
|
+
ja: 預金の取引明細のまとめでは、当月末残高は、前月末残高にお預入れ合計を足し、お引出し合計を引いた額です。読む人は残高を見て、足し引きし直しません。取引を直したのに残高を直さなかったとき、前の月の明細から写したとき、数字を打ち間違えたときに食い違います。同じ表か同じ節に、初めの残高(前月末残高)、入金の合計(お預入れ合計)、出金の合計(お引出し合計)、終わりの残高(当月末残高)の名前が一つずつあり、それぞれに金額があれば、終わりの残高を足し引きと比べます。表では、見出しの行に四つの名前が並ぶ表は行ごとに、一列目に四つの名前が並ぶ表は列ごとに比べます。表の外では、節(見出しから次の見出しまで)の「前月末残高:412,350円」のような名前と金額だけの行を読みます。どの語が四つのどれかは、言語パッケージの語彙表 closing-balance-label にあります。通貨の印が付いた金額は一円(一セント)まで合わなければ言います。千円の単位の金額や印の無い数は丸めてあるかもしれないので、最後の桁の二つ分までのずれは言いません。名前の後ろの日付の括弧(2026年6月30日時点)は単位として扱わず、単位の無い数は、列の見出しが単位の語(ポイント)ならその単位で読みます。
|
|
16
16
|
en: >-
|
|
17
|
-
On a statement summary the closing balance is the opening balance plus the total deposits less the total withdrawals. The reader takes the closing balance as given and does not add it up again. It goes wrong when a transaction is corrected and the balance is not, when the balance is copied from last month's statement, or when a digit is mistyped. When one table or one section names the balance at the start (Opening balance), the total paid in (Total deposits), the total paid out (Total withdrawals) and the balance at the end (Closing balance) once each, each with an amount, the closing balance is compared with the sum. A table whose header row has the four names is compared row by row, and one whose first column has them column by column. Outside tables, the lines of a section (from one heading to the next) that are only a name and an amount ("Opening balance: $2,418.36") are read. Which words name the four is in the language package's lexicon closing-balance-label. Amounts with a currency mark must agree to the cent. Amounts in thousands, and numbers without a mark, may be rounded, so a difference of up to two steps of their last digit is not reported.
|
|
17
|
+
On a statement summary the closing balance is the opening balance plus the total deposits less the total withdrawals. The reader takes the closing balance as given and does not add it up again. It goes wrong when a transaction is corrected and the balance is not, when the balance is copied from last month's statement, or when a digit is mistyped. When one table or one section names the balance at the start (Opening balance), the total paid in (Total deposits), the total paid out (Total withdrawals) and the balance at the end (Closing balance) once each, each with an amount, the closing balance is compared with the sum. A table whose header row has the four names is compared row by row, and one whose first column has them column by column. Outside tables, the lines of a section (from one heading to the next) that are only a name and an amount ("Opening balance: $2,418.36") are read. Which words name the four is in the language package's lexicon closing-balance-label. Amounts with a currency mark must agree to the cent. Amounts in thousands, and numbers without a mark, may be rounded, so a difference of up to two steps of their last digit is not reported. A dated note after a name (as of June 30, 2026) is not a unit, and a bare number under a column heading that is a unit word (Points) is read in that unit.
|
|
18
18
|
|
|
19
19
|
message:
|
|
20
20
|
ja: 「{written}」は、初めの残高に入金を足し出金を引くと {expected} です
|
|
@@ -60,4 +60,4 @@ example:
|
|
|
60
60
|
|
|
61
61
|
not_flagged:
|
|
62
62
|
ja: 四つの名前のどれかが無い表や節、同じ名前が二度ある表の列や節、名前が別々の表や節にあるもの、四つの単位が違うもの(円とドル、千円と円)、数でない金額(—、▲、マイナスや括弧の付いた値)は比べません。日付・お預入れ・お引出し・残高の列が並ぶ取引の表は、行ごとの残高を running-balance-mismatch が見るので、ここでは読みません。文の中の金額(「当月末残高は452,220円です」)や、語彙表に無い名前(前回ご請求額、ご利用残高)は読みません。足し引きがマイナスになるときも言いません。
|
|
63
|
-
en: 'A table or section without one of the four names, a table column or section that names one of them twice, names spread over separate tables or sections, amounts in different units (yen and dollars, thousands and units), and a value that is not a plain number (—, a negative or bracketed value) are not compared. A transaction table with Date, Deposit, Withdrawal and Balance columns is left to running-balance-mismatch, which checks it row by row. An amount inside a sentence ("The closing balance is $2,156.56") is not read, nor is a name not in the lexicon (
|
|
63
|
+
en: 'A table or section without one of the four names, a table column or section that names one of them twice, names spread over separate tables or sections, amounts in different units (yen and dollars, thousands and units), and a value that is not a plain number (—, a negative or bracketed value) are not compared. A transaction table with Date, Deposit, Withdrawal and Balance columns is left to running-balance-mismatch, which checks it row by row. An amount inside a sentence ("The closing balance is $2,156.56") is not read, nor is a name not in the lexicon (Credits and Debits, which on a card statement move the other way). A sum below zero is not reported either.'
|
|
@@ -10,8 +10,8 @@ name:
|
|
|
10
10
|
en: A period that ends before it starts
|
|
11
11
|
|
|
12
12
|
why:
|
|
13
|
-
ja: 「2026年4月1日〜2026年3月31
|
|
14
|
-
en: 'When a period such as "5 April 2026 – 2 April 2026" ends before it starts, the reader has to ask which date is right. It happens when a year is copied wrong, or when only one of the two dates is changed. Two dates are read as a period when only a range mark (–, —) or a word such as "through" or "until" stands between them, or when they are written "from … to …". A period without a year ("28 December – 4 January") may run into the next year and is not compared. With the year on one end only ("July 9 – July 8, 2026"), both ends are read in that year; a reversed one is reported only when the weekday on the end without a year matches that reading, or when reading it across the year end would make the period nearly a year long ("December 28 – January 4, 2027" crosses the year end).'
|
|
13
|
+
ja: 「2026年4月1日〜2026年3月31日」のように、期間の終わりの日付が始まりより前だと、読み手はどちらの日付が正しいのかを問い合わせることになります。年を書き写し間違えたときや、日付を片方だけ直したときに起きます。二つの日付の間が範囲の記号(〜、–)だけのときと、「から」でつなぎ終わりの日付のあとに「まで」が続くときと、一つの文に始まりの語と終わりの語が一つずつあり二つの日付に付くとき(2026年4月1日から開始し、2027年3月31日に終了する)を期間として比べます。年の無い期間(12月28日〜1月4日)は年をまたぐかもしれないので比べません。年を片方にだけ書いた期間(2026年7月9日〜7月8日)は同じ年と読み、逆になるときは、年の無い側の曜日がその年に合うか、翌年(または前年)にまたぐと読むと一年近くになるときだけ言います(2026年12月28日〜1月4日は年をまたぐ期間です)。
|
|
14
|
+
en: 'When a period such as "5 April 2026 – 2 April 2026" ends before it starts, the reader has to ask which date is right. It happens when a year is copied wrong, or when only one of the two dates is changed. Two dates are read as a period when only a range mark (–, —) or a word such as "through" or "until" stands between them, or when they are written "from … to …", or when one sentence gives the start and the end with one start word and one end word on the two dates ("starts on 1 April 2026 and ends on 31 March 2027"). A period without a year ("28 December – 4 January") may run into the next year and is not compared. With the year on one end only ("July 9 – July 8, 2026"), both ends are read in that year; a reversed one is reported only when the weekday on the end without a year matches that reading, or when reading it across the year end would make the period nearly a year long ("December 28 – January 4, 2027" crosses the year end).'
|
|
15
15
|
|
|
16
16
|
message:
|
|
17
17
|
ja: 期間「{period}」の終わりが始まりより前です
|
|
@@ -44,5 +44,5 @@ example:
|
|
|
44
44
|
Applications are open 1 April 2026 – 31 March 2027.
|
|
45
45
|
|
|
46
46
|
not_flagged:
|
|
47
|
-
ja: 年の無い期間(12月28日〜1月4日)、「から」だけで「まで」の無いもの(10日から3
|
|
48
|
-
en: 'A period without a year, "from … to …" in a sentence with a word that changes a date ("moved from March 10 to March 3", "… was postponed"),
|
|
47
|
+
ja: 年の無い期間(12月28日〜1月4日)、「から」だけで「まで」の無いもの(10日から3日に変更)、日付の間に言葉のあるもの、始まりの語か終わりの語が二つある文は比べません。
|
|
48
|
+
en: 'A period without a year, "from … to …" in a sentence with a word that changes a date ("moved from March 10 to March 3", "… was postponed"), two dates with words between them, and a sentence with two start words or two end words ("starts on … and phase 2 starts on …") are not compared.'
|
|
@@ -14,7 +14,8 @@ how_to_find: due-date
|
|
|
14
14
|
# service date and its next inspection, a construction start and its completion or handover, a service's or a contract's start and end dates, a price list's or a policy's validity start and end, a statement's period
|
|
15
15
|
# start and end, a financial year and its audit, a property sale's contract and its settlement or handover, a banquet
|
|
16
16
|
# quote's validity and its event date) from
|
|
17
|
-
# dated-pair-label and date-now-word,
|
|
17
|
+
# dated-pair-label and date-now-word, with the role words of a signature line that dates the pair's later date (an
|
|
18
|
+
# auditor's signature) from dated-signer-label,
|
|
18
19
|
# the column headers of a table whose rows each hold both dates of a pair (a points statement's earning date and
|
|
19
20
|
# expiry) from dated-pair-label and the header-only dated-column-label,
|
|
20
21
|
# and the words whose line states
|
|
@@ -29,8 +30,8 @@ name:
|
|
|
29
30
|
en: A due date before the issue date
|
|
30
31
|
|
|
31
32
|
why:
|
|
32
|
-
ja: 請求書の「お支払期限」や見積書の「有効期限」が「発行日」より前だと、受け取った時点で期限が過ぎていることになり、読み手はどちらの日付が正しいのかを問い合わせることになります。前の月の請求書を使い回して、片方の日付だけ直したときに起きます。発行日の語で始まる行と期限の語で始まる行の日付を比べ、期限が発行日より前なら指します。議事録の宿題も同じで、会議の日(日時)より前の期限は、会議の時点で過ぎています。宿題の節の、期限の列の日付や「(期限 11月2
|
|
33
|
-
en: When the payment due date of an invoice or the expiry of a quote is before its issue date, the document is overdue on arrival and the reader has to ask which date is right. It happens when last month's invoice is reused and only one date is changed. The date on a line starting with an issue word (Issued, Invoice date) is compared with the date on a line starting with a due word (Payment due, Valid until), and an earlier due date is pointed out. Minutes are read the same way. An action item due before the meeting it was set in is overdue when it is written down. The dates in the due column, or after "due" in a list item, of an action-items section are compared with the date on the "Date" line near the top. A property listing is read the same way. An "Available from" date before the "Listed" date has passed when the listing goes up. A job posting is read the same way. An "Application deadline" before the "Posted" date has passed when the posting goes up. An earnings release is read the same way. An "Earnings call" before the "Reporting period" ends would discuss results for a period that has not closed; a line stating a period is compared by the period's last day. A checkup or lab report is read the same way. A "Report date" before the "Examination date" or the "Collection date" reports results that did not exist yet. A product warranty is read the same way. A "Registration deadline" before the "Purchase date" has passed when the product is bought. A hotel or car rental booking is read the same way. A "Check-out" before the "Check-in", or a "Drop-off" before the "Pick-up", leaves before arriving; a "Free cancellation until" date after the check-in or the pick-up lets the booking be cancelled free once it has started, so one of the dates is wrong. The finding is on whichever of the two dates is written second. The pairs of dates that must come in order are listed, pair by pair, in the language's vocabulary. A loan or an installment plan is read the same way. A "First payment date" before the "Contract date" has passed when the contract is signed. A recall notice is read the same way. A deadline for replacement or refund requests before the "Notice date" has passed when the notice goes out. A payslip is read the same way. A "Pay date" before the "Pay period"
|
|
33
|
+
ja: 請求書の「お支払期限」や見積書の「有効期限」が「発行日」より前だと、受け取った時点で期限が過ぎていることになり、読み手はどちらの日付が正しいのかを問い合わせることになります。前の月の請求書を使い回して、片方の日付だけ直したときに起きます。発行日の語で始まる行と期限の語で始まる行の日付を比べ、期限が発行日より前なら指します。議事録の宿題も同じで、会議の日(日時)より前の期限は、会議の時点で過ぎています。宿題の節の、期限の列の日付や「(期限 11月2日)」を、頭の方の「日時」の日付と比べます。物件の案内の「入居可能日」も同じで、「掲載日」や「情報公開日」より前の入居可能日は、載せた時点で過ぎています。求人の「応募締切」も同じで、「掲載日」や「募集開始日」より前の締切は、載せた時点で過ぎています。決算短信の「決算説明会」も同じで、「対象期間」が終わる前の説明会では、まだ締まっていない期間の業績を説明することになります。対象期間のように期間を書く行は、その終わりの日と比べます。健診や検査の結果も同じで、「受診日」や「採血日」より前の「報告日」では、受ける前の結果を報告することになります。保証書の「登録の締切」も同じで、「お買い上げ日」より前の締切は、買った時点で過ぎています。宿泊やレンタカーの予約も同じで、「チェックイン」より前の「チェックアウト」、「貸出」より前の「返却」は、泊まる前に発ち、借りる前に返すことになります。「無料キャンセル期限」がチェックインや貸出より後なら、泊まり始めてからでも無料で取り消せることになり、どちらかの日付が違っています。二つの日付は、後に書いた方の行で指します。前後の決まった日付の組は、言語の語彙表に組ごとに書いてあります。ローンや分割払いの「初回お支払日」も同じで、「ご契約日」より前の初回は、契約した時点で過ぎています。製品の回収のお知らせも同じで、「お知らせ日」より前の交換や返金の「受付期限」は、知らせた時点で過ぎています。給与明細の「支給日」も同じで、「支給対象期間」や「計算期間」が始まる前の支給日では、まだ始まっていない期間の給与を払うことになります。出張の精算書の「帰着」も同じで、「出発」より前の帰着では、発つ前に帰ったことになります。発注書や納品書の「納期」や「納品日」も同じで、「発注日」や「注文日」より前の納期では、頼む前に届いたことになります。成績証明書や卒業・修了の証明書も同じで、「入学年月日」より前の「卒業年月日」や「修了年月日」では入学する前に卒業したことになり、卒業や修了の日より前の「発行日」や「証明日」では、まだ卒業していない人の卒業を証明することになります。給与所得と源泉徴収税額の年間の明細書も同じで、「対象期間」が終わる前や「退職日」より前の「交付日」では、まだ締まっていない年の金額を証明することになります。梱包明細書やインボイスも同じで、「船積日」より前の「到着日」や「到着予定日」では、積む前に着くことになります。診療明細書や領収書も同じで、「診療日」より前の「発行日」では、まだ受けていない診療の代金を受け取ったことになります。入院の明細も同じで、「入院日」より前の「退院日」では、入院する前に退院したことになります。賃貸借の敷金精算書も同じで、「入居日」より前の「退去日」では入居する前に退去したことになり、「退去日」より後の「解約通知日」では、退去してから解約を知らせたことになります。車の整備記録も同じで、「整備日」や「点検日」より前の「次回点検日」や「次回車検」では、次の点検の日が整備した時点で過ぎています。工事やリフォームの見積書も同じで、「着工日」より前の「完工予定日」や「引渡日」では、始める前に工事が終わったことになります。携帯電話やサービスの契約の利用期間も同じで、「ご利用開始日」や「契約開始日」より前の「ご利用終了日」や「契約終了日」では、始まる前に終わったことになります。価格表やクーポンも同じで、「適用開始日」や「発効日」より前の「適用終了日」や「有効期限」では、始まる前に終わることになります。取引明細の期間を二つの行に分けて書いたときも同じで、「照会開始日」や「期間開始日」より前の「照会終了日」や「期間終了日」では、期間が始まる前に終わることになります。保険金や給付金の請求書も同じで、「事故日」や「発病日」より前の「請求日」では、起きる前の事故や病気の保険金を請求することになります。会計報告書や収支決算報告書も同じで、「会計年度」が終わる前の「監査日」では、まだ締まっていない年度の会計を監査したことになります。ポイントの明細のように、一つの表の見出しに組の二つの列(「ご利用日」と「有効期限」)があれば、行ごとに二つの日付を比べます。ご利用日より前の有効期限では、得た時点でポイントが失効しています。別の行や別の表の日付とは比べません。不動産の売買の精算書も同じで、「売買契約日」より前の「決済日」や「引渡日」では、契約する前に代金を払い物件を渡したことになります。宴会や会議室の見積書は向きが逆で、「有効期限」が「開催日」より後なら、催しが終わってから見積を受けられることになります。
|
|
34
|
+
en: When the payment due date of an invoice or the expiry of a quote is before its issue date, the document is overdue on arrival and the reader has to ask which date is right. It happens when last month's invoice is reused and only one date is changed. The date on a line starting with an issue word (Issued, Invoice date) is compared with the date on a line starting with a due word (Payment due, Valid until), and an earlier due date is pointed out. Minutes are read the same way. An action item due before the meeting it was set in is overdue when it is written down. The dates in the due column, or after "due" in a list item, of an action-items section are compared with the date on the "Date" line near the top. A property listing is read the same way. An "Available from" date before the "Listed" date has passed when the listing goes up. A job posting is read the same way. An "Application deadline" before the "Posted" date has passed when the posting goes up. An earnings release is read the same way. An "Earnings call" before the "Reporting period" ends would discuss results for a period that has not closed; a line stating a period is compared by the period's last day. A checkup or lab report is read the same way. A "Report date" before the "Examination date" or the "Collection date" reports results that did not exist yet. A product warranty is read the same way. A "Registration deadline" before the "Purchase date" has passed when the product is bought. A hotel or car rental booking is read the same way. A "Check-out" before the "Check-in", or a "Drop-off" before the "Pick-up", leaves before arriving; a "Free cancellation until" date after the check-in or the pick-up lets the booking be cancelled free once it has started, so one of the dates is wrong. The finding is on whichever of the two dates is written second. The pairs of dates that must come in order are listed, pair by pair, in the language's vocabulary. A loan or an installment plan is read the same way. A "First payment date" before the "Contract date" has passed when the contract is signed. A recall notice is read the same way. A deadline for replacement or refund requests before the "Notice date" has passed when the notice goes out. A payslip is read the same way. A "Pay date" before the "Pay period" starts pays for a period that has not begun. A trip or an expense report is read the same way. A "Return" before the "Departure" comes back before leaving. A purchase order or a delivery note is read the same way. A "Delivery date" before the "Order date" delivers goods not yet ordered. An academic transcript or a certificate of graduation or completion is read the same way. A "Date of graduation" or "Date of completion" before the "Date of enrolment" ends the course before it began, and a "Date of issue" before the graduation or completion date certifies a graduation that has not happened yet. An annual earnings and tax withholding statement is read the same way. An "Issue date" before the "Tax year" ends, or before the "Leaving date", states the year's amounts before they are final. A packing list or a commercial invoice is read the same way. An "Arrival date" or "Estimated arrival" before the "On-board date" arrives before the goods are shipped. An itemized medical bill is read the same way. A "Date issued" before the "Date of visit" bills a visit that has not happened yet, and a "Date of discharge" before the "Date of admission" leaves hospital before arriving. A tenancy's deposit settlement is read the same way. A "Move-out date" before the "Move-in date" leaves before moving in, and a "Notice date" after the "Move-out date" gives notice once the tenant has already left. A car's service record is read the same way. A "Next inspection due" before the "Service date" has passed when the car is serviced. A construction or renovation quote is read the same way. A "Completion date" or "Handover date" before the "Start date" or "Construction start" finishes the work before it begins. A phone bill or a service contract is read the same way. A "Service end date" or "Contract end date" before the "Service start date" or "Contract start date" ends the service before it began. A price list, a coupon or a policy is read the same way. A "Valid until" or an "Expiry date" before the "Valid from" or the "Effective date" ends before it begins. A bank statement whose period is written as two lines is read the same way. A "Period end" before the "Period start" ends the period before it begins. An insurance or benefit claim is read the same way. A "Date of claim" before the "Date of incident" claims for a loss that has not happened yet. A treasurer's report or an income and expenditure statement is read the same way. An audit date before the "Fiscal year" or the "Financial year" ends audits accounts that have not closed. When one table's header names both columns of a pair, as a points statement's "Date" and "Expires" do, the two dates of each row are compared. Points that expire before the date they were earned have lapsed on arrival. A row is never compared with another row or another table. A property sale's settlement statement is read the same way. A "Settlement date" or "Closing date" before the "Contract date" pays and hands over the property before the sale is agreed. A banquet or meeting room quote runs the other way. A "Valid until" date after the "Event date" lets the quote be accepted once the event is over.
|
|
34
35
|
|
|
35
36
|
message:
|
|
36
37
|
ja: 期限({due})が、発行日({issued})より前です
|
|
@@ -46,6 +47,9 @@ messages:
|
|
|
46
47
|
period:
|
|
47
48
|
ja: 「{later_label}」の {later} が、「{earlier_label}」の終わり {earlier} より前です
|
|
48
49
|
en: '"{later_label}" {later} is before the end of the "{earlier_label}", {earlier}'
|
|
50
|
+
period-start:
|
|
51
|
+
ja: 「{later_label}」の {later} が、「{earlier_label}」の始め {earlier} より前です
|
|
52
|
+
en: '"{later_label}" {later} is before the start of the "{earlier_label}", {earlier}'
|
|
49
53
|
|
|
50
54
|
how_to_fix:
|
|
51
55
|
ja: 発行日と期限のどちらが正しいかを確かめて、片方を直してください。
|
|
@@ -89,5 +93,5 @@ example:
|
|
|
89
93
|
Payment due: December 25, 2026
|
|
90
94
|
|
|
91
95
|
not_flagged:
|
|
92
|
-
ja: 行の頭に発行日や期限の語が無い日付(文の中の「12月25日までにお支払いください」)、年の無い日付、一行に日付が二つある行は比べません。発行日が二つあれば、最初のものと比べます。発行日から8行以上離れた期限と、期限が過ぎたことを書いた行(「期限切れ」「延滞」)は、この文書の期限ではなく報告している期限と読んで比べません。議事録として読むのは題に「議事録」などのある文書だけです。議事録では、宿題の節(見出しに「宿題」など)の外の日付、済んだ印のある宿題(升だけの「済」、括弧の中や行末の「完了」、チェック済みの箱)、前回の宿題を振り返る節、年の無い日付で年を越す期限(12月の会議の「1月10日」)は比べません。物件の案内では、「即入居可」のように日付の無い入居可能日、年の無い日付、「即入居」「即日」のある行、掲載日から40行以上離れた日付は比べません。求人では、「随時」のように日付の無い締切と年の無い日付は比べません。決算短信では、対象期間の行の無い文書、年の無い説明会の日、行の頭が「前回説明会」のように別の回を言う日、「発表日」や「説明会開催日」だけの日は比べません。健診や検査の結果では、「報告日」とだけ比べ、「発行日」や「作成日」とは比べません。受診券や検査の依頼書は、受診日や採血日より前に発行するからです。保証書では、日付の無い締切(「お早めに」)と年の無い日付は比べません。予約では、同じ日のチェックインとチェックアウト(日帰り)、同じ日のキャンセル期限、時刻だけの行(「15:00
|
|
93
|
-
en: A date without a word at the head of its line (a due date in a sentence), a date without its year, and a line with two dates are not compared. With two issue dates, the first is used. A due date eight lines or more from the issue date, and a line that says the deadline has passed (overdue, expired), are read as reporting on a deadline rather than setting this document's own, and are not compared. Only a document whose title names it as minutes (Minutes, Meeting notes) is read as minutes. In minutes, a date outside an action-items section (a heading with Action items or the like), an item marked done (a Done cell, done in brackets or at the end of the line, a checked box), a section reviewing the previous meeting's items, and a deadline without a year that falls early in the next year (Jan 10 at a December meeting) are not compared. In a listing, a move-in date without a date (Available now), a date without its year, a line saying immediately, and a date forty lines or more from the listing date are not compared. In a job posting, a deadline without a date (Open until filled) and a date without its year are not compared; a bare "Posted" pairs only with an application deadline, not with the dates of a blog post or release notes. In an earnings release, a document without a reporting period line, a call date without its year, a line naming another call (Previous call) and a bare "Release date" or "Conference call" are not compared. In a checkup or lab report, only a report date (Report date, Date reported) is compared, not a bare "Issue date", since an admission ticket or a lab order is issued before the test or collection date it names. In a warranty, a deadline without a date, a date without its year, and "Register by" followed directly by the date without a colon are not compared. In a booking, a same-day check-in and check-out (a day use), a cancellation deadline on the check-in day, a line with only a time (from 3:00 PM) and a date without its year are not compared; a bare "Return" is not read as a drop-off, since an order's return window uses it too. Words of different pairs are not compared either (a check-out and a cancellation deadline, a drop-off and a check-in). It is off for statutes, judgments, patents, FAQs, glossaries, and the academic, literature and speech genres. It runs on contracts and manuals, which set their own dates and deadlines, as a warranty does. In a loan or an installment plan, a first payment date is compared only with the contract date (Contract date, Agreement date), not with the issue date or an application date, since a change or refinancing form is signed after the current schedule began. In a recall notice, only a replacement, refund or exchange deadline is compared; a date without its year and a bare "Requests accepted until" or "Deadline for requests" are not, since a notice that a window has closed states the deadline that has passed. In a payslip, a pay date is compared only with the
|
|
96
|
+
ja: 行の頭に発行日や期限の語が無い日付(文の中の「12月25日までにお支払いください」)、年の無い日付、一行に日付が二つある行は比べません。発行日が二つあれば、最初のものと比べます。発行日から8行以上離れた期限と、期限が過ぎたことを書いた行(「期限切れ」「延滞」)は、この文書の期限ではなく報告している期限と読んで比べません。議事録として読むのは題に「議事録」などのある文書だけです。議事録では、宿題の節(見出しに「宿題」など)の外の日付、済んだ印のある宿題(升だけの「済」、括弧の中や行末の「完了」、チェック済みの箱)、前回の宿題を振り返る節、年の無い日付で年を越す期限(12月の会議の「1月10日」)は比べません。物件の案内では、「即入居可」のように日付の無い入居可能日、年の無い日付、「即入居」「即日」のある行、掲載日から40行以上離れた日付は比べません。求人では、「随時」のように日付の無い締切と年の無い日付は比べません。決算短信では、対象期間の行の無い文書、年の無い説明会の日、行の頭が「前回説明会」のように別の回を言う日、「発表日」や「説明会開催日」だけの日は比べません。健診や検査の結果では、「報告日」とだけ比べ、「発行日」や「作成日」とは比べません。受診券や検査の依頼書は、受診日や採血日より前に発行するからです。保証書では、日付の無い締切(「お早めに」)と年の無い日付は比べません。予約では、同じ日のチェックインとチェックアウト(日帰り)、同じ日のキャンセル期限、時刻だけの行(「15:00から」)、年の無い日付は比べません。「出発日」は、旅券や書類の返却日より後に来ることがあるので、貸出の日と読みません。チェックアウトとキャンセル期限、返却とチェックインのように、別の組の語どうしは比べません。法令、判決、特許、よくある質問、用語集、論文、文学、スピーチのジャンルでは止めています。契約と手引きでは動きます。保証書や規約は、その文書の日付と締切を自分で決めるからです。ローンや分割払いでは、初回お支払日を「ご契約日」とだけ比べ、「発行日」や「お申込日」とは比べません。変更や借り換えの申込書は、今の返済予定より後に申し込むからです。回収のお知らせでは、交換や返金の受付期限だけを比べ、年の無い日付と、「受付期限」「お申し込み期限」だけの締切や「発表日」「公表日」は比べません。受付を終えたお知らせは過ぎた締切を書き、懸賞の結果は締切より後に発表するからです。給与明細では、支給日を支給対象期間、計算期間、給与計算期間、対象期間の始めとだけ比べ、期間の中の支給日(毎月25日にその月の分を払う明細)、始めと同じ日の支給日、年の無い日付は指しません。出張では、帰着を出発とだけ比べ、同じ日の帰着(日帰り)と年の無い日付は比べません。「返却日」は帰着と読みません。旅の案内では、書類の返却日が出発日より前に来るからです。発注書や納品書では、納期、納品日、納入日を発注日、注文日、受注日とだけ比べ、同じ日の納品と年の無い日付は比べません。「納期限」は納期と読みません。成績証明書では、卒業や修了の日を入学の日(入学年月日、入学日)と、発行日と証明日を卒業や修了の日とだけ比べ、入学の日と発行日は比べません。同じ日と年の無い日付も比べません。組の先の日付と後の日付がどちらも何行もある文書(学歴の表のように一行に一件ずつ書いたもの)では、後の日付を、いちばん近くに書いた先の日付より前のときだけ指します。一度だけ書いた後の日付(記録の下の発行日)は、最初の先の日付と比べます。給与所得と源泉徴収税額の明細書では、「交付日」を対象期間の終わりと退職日とだけ比べ、同じ日と年の無い日付は比べません。「発行日」は交付日と読みません。前払いの請求書は対象期間の初めに発行し、退職の手続きの案内は退職日より前に発行するからです。梱包明細書やインボイスでは、到着日と到着予定日を船積日とだけ比べ、「請求日」とは比べません。インボイスの日付は、船積みの前にも後にも来るからです。予定の日(到着予定日)は後に来る側にだけ読み、同じ日と年の無い日付は比べません。診療明細書では、「発行日」を「診療日」とだけ比べ、「受診日」とは比べません。受診券は受診日より前に発行するからです。入院では、退院日を入院日とだけ比べ、同じ日の退院と年の無い日付は比べません。賃貸借では、退去日、明渡日、退去予定日を、入居日や入居開始日と、解約通知日や解約予告日とそれぞれ比べ、同じ日と年の無い日付は比べません。予定の日(退去予定日)は後に来る側にだけ読み、「入居予定日」は入居日と読みません。空室の案内の入居予定日は、前の借主の退去日より後に来るからです。車の整備では、次回点検日、次回点検予定日、次回車検を、整備日、入庫日、点検日、作業日とだけ比べ、同じ日と年の無い日付は比べません。「前回点検日」は後に来る側に読みません。前の点検は今回の整備より前に来るからです。健診の「検査日」や「報告日」とは組みません。工事では、完工日、完工予定日、竣工日、竣工予定日、引渡日を、着工日、工事開始日、着工予定日とだけ比べ、同じ日と年の無い日付は比べません。サービスの利用期間では、ご利用終了日、利用終了日、契約終了日、サービス終了日を、ご利用開始日、利用開始日、契約開始日、サービス開始日とだけ比べ、同じ日と年の無い日付は比べません。「開始日」「終了日」だけの語は組みません。工程表や作業の記録も使うからです。「契約日」は契約開始日と読みません。価格表や証書では、適用終了日、有効終了日、有効期限を、適用開始日、有効開始日、発効日とだけ比べ、同じ日と年の無い日付は比べません。「有効期限」は、これまでどおり発行日とも別の組として比べます。明細では、照会終了日、対象期間終了日、期間終了日を、照会開始日、対象期間開始日、期間開始日とだけ比べ、同じ日と年の無い日付は比べません。「対象期間開始日」は、期間を書く「対象期間」と読みません。保険金の請求では、事故日、事故発生日、発生日、受傷日、発病日を、請求日、請求書作成日、申請日とだけ比べ、同じ日と年の無い日付は比べません。会計報告書では、監査日、会計監査日、監査実施日を、会計年度と事業年度の終わりとだけ比べ、同じ日、年の無い期間、期間を書いていない年度(「2025年度」)は比べません。「承認日」「総会承認日」「報告日」は年度の終わりと比べません。予算書は年度が始まる前に承認し、中間の報告は年度の途中に出すからです。監査の署名の行(「2026年4月12日 会計監査 戸川 隆」のように、日付が一つと、会計監査や監事などの役職と、名前だけの行)は、監査の日として年度の終わりと比べます。署名は文書の終わりに来るので、年度の行から離れていても比べます。日付が二つの行、名前の無い行、ほかの役職(会長)の行、文の中の監査や承認の日(「定期総会で承認」)は比べません。
|
|
97
|
+
en: A date without a word at the head of its line (a due date in a sentence), a date without its year, and a line with two dates are not compared. With two issue dates, the first is used. A due date eight lines or more from the issue date, and a line that says the deadline has passed (overdue, expired), are read as reporting on a deadline rather than setting this document's own, and are not compared. Only a document whose title names it as minutes (Minutes, Meeting notes) is read as minutes. In minutes, a date outside an action-items section (a heading with Action items or the like), an item marked done (a Done cell, done in brackets or at the end of the line, a checked box), a section reviewing the previous meeting's items, and a deadline without a year that falls early in the next year (Jan 10 at a December meeting) are not compared. In a listing, a move-in date without a date (Available now), a date without its year, a line saying immediately, and a date forty lines or more from the listing date are not compared. In a job posting, a deadline without a date (Open until filled) and a date without its year are not compared; a bare "Posted" pairs only with an application deadline, not with the dates of a blog post or release notes. In an earnings release, a document without a reporting period line, a call date without its year, a line naming another call (Previous call) and a bare "Release date" or "Conference call" are not compared. In a checkup or lab report, only a report date (Report date, Date reported) is compared, not a bare "Issue date", since an admission ticket or a lab order is issued before the test or collection date it names. In a warranty, a deadline without a date, a date without its year, and "Register by" followed directly by the date without a colon are not compared. In a booking, a same-day check-in and check-out (a day use), a cancellation deadline on the check-in day, a line with only a time (from 3:00 PM) and a date without its year are not compared; a bare "Return" is not read as a drop-off, since an order's return window uses it too. Words of different pairs are not compared either (a check-out and a cancellation deadline, a drop-off and a check-in). It is off for statutes, judgments, patents, FAQs, glossaries, and the academic, literature and speech genres. It runs on contracts and manuals, which set their own dates and deadlines, as a warranty does. In a loan or an installment plan, a first payment date is compared only with the contract date (Contract date, Agreement date), not with the issue date or an application date, since a change or refinancing form is signed after the current schedule began. In a recall notice, only a replacement, refund or exchange deadline is compared; a date without its year and a bare "Requests accepted until" or "Deadline for requests" are not, since a notice that a window has closed states the deadline that has passed. In a payslip, a pay date is compared only with the start of the pay period; a pay date within the period (paid on the 25th for the whole month), one on the period's first day and a date without its year are not reported. In a trip, a return is compared only with the departure; a same-day return (a day trip) and a date without its year are not compared, and a "Return date" is not read as the trip's return, since a guide's return date for forms comes before the departure. In a purchase order or a delivery note, a delivery date is compared only with the order date (Order date, PO date); a same-day delivery and a date without its year are not compared, and a bare "Due date" is not read as a delivery date, since an invoice uses it for the payment due date. In a transcript, a graduation or completion date is compared only with the enrolment date (Date of enrolment, Date of admission), and the issue date only with the graduation or completion date, never with the enrolment date; a same-day date and a date without its year are not compared. Where both dates of a pair are written on several lines (an education history listing one school per row), a later date is pointed out only when it is also before the earlier date written closest to it; a later date written once (an issue date below the records) is compared with the first. In a tax statement, the issue date (Issue date, Date of issue) is compared only with the end of the tax year (Tax year) and the leaving date (Leaving date, Date of leaving); a same-day date and a date without its year are not compared, and a "Period covered" is not read as the tax year, since an invoice billed in advance is issued at the start of the period it covers. In a packing list or a commercial invoice, an arrival date (Arrival date, Estimated arrival, ETA) is compared only with the shipment date (On-board date, Shipment date), never with the invoice date, since an invoice may be dated before or after shipment; an estimated date is read only as the later side, and a same-day arrival and a date without its year are not compared. In a medical bill, the issue date (Date issued) is compared only with the date of visit; a same-day issue and a date without its year are not compared. In a hospital stay, a discharge date is compared only with the admission date; a same-day discharge is not reported, and a "Date of admission" is compared with a discharge date and with a graduation date as two separate pairs. In a tenancy, a move-out date (Move-out date, Planned move-out date) is compared with the move-in date and, separately, with the notice date (Notice date, Date of notice); a same-day date and a date without its year are not compared, a planned date is read only as the later side, and a "Planned move-in date" is not read as the move-in date, since a vacancy notice's planned move-in comes after the previous tenant's move-out. In a car's service record, the next inspection (Next inspection, Next inspection due, Next service due) is compared only with the service date (Service date, Date of service); a same-day date and a date without its year are not compared, and a "Last inspection date" is not read as the later side, since the last inspection comes before this service. A lab report's "Test date" or "Report date" is not paired with it. In a construction or renovation document, a completion or handover date (Completion date, Expected completion, Handover date) is compared only with the start (Work start, Construction start, Start date); a same-day date and a date without its year are not compared. A bare "Start date" is compared with a completion date only, never with a "Handover date", since it also heads a new hire's first day, and a handover can come before that; a transcript's "Date of completion" is not read as the end of the works. In a service period, the end date (Service end date, End of service, Contract end date) is compared only with the start date (Service start date, Start of service, Contract start date); a same-day end and a date without its year are not compared, and a bare "Start date" or "End date" is not read, since a project plan or a timesheet uses them too. In a price list, a coupon or a policy, the end of the validity (Valid until, Valid to, Expiry date, Expires) is compared only with its start (Valid from, Effective date, Effective from); a same-day date and a date without its year are not compared, and "Expires" is read only at the head of a line followed by a colon or the date, not in a sentence (your password expires). "Valid until" and "Expires" are still compared with the issue date, as a separate pair. In a statement whose period is written as two lines, the end (Period end, Statement period end) is compared only with the start (Period start, Statement period start); a same-day date and a date without its year are not compared. In an insurance claim, the incident date (Date of incident, Date of loss, Incident date, Date of injury) is compared only with the claim date (Date of claim, Claim date); a same-day claim and a date without its year are not compared. In a treasurer's report, an audit date (Audited, Date audited, Audit date, Date of audit) is compared only with the end of the fiscal or financial year; a same-day date, a period without its year and a year written without its dates (Financial year 2025–26) are not compared. An approval or report date (Approved, Report date) is not compared with the year's end, since a budget is approved before its year begins and an interim report is dated inside the year. An audit signature line (one date, a role such as Auditor or Honorary Auditor, and a name, nothing else, as in Jane Doe, Honorary Auditor, April 12, 2026) is read as the audit date, however far below the year it is, since a signature closes the document; a line with two dates or no name, another role (Chair), and a sentence (examined by the auditors on …) are not. An audit or approval date without a word at the head of its line (the date on a signature line, an approval at the annual general meeting in a sentence) is not compared either.
|
package/rules/fact-conflict.yaml
CHANGED
|
@@ -74,8 +74,8 @@ example:
|
|
|
74
74
|
- Deadline: May 3, 2026
|
|
75
75
|
|
|
76
76
|
not_flagged:
|
|
77
|
-
ja: 違う見出しの下、違う親の項目の下、太字だけの行や「第2回:」のような行の後ろの値は、別のものの値として比べません。値の後ろに条件が続くもの(「3,000円から」「10月5
|
|
78
|
-
en: Values under different headings, under different parent list items, or after a bold-only line or a line like "Session 2:" are taken as values of different things. A value followed by a condition ("$300 per person", "May 3 at noon"), a name that starts after a comma ("For adults, the fee"), and values in different units are not compared. An item with three or more different values is read as a list and left alone. A retention period is not compared with that of another thing (logs 90 days, account data 1 year) or with a bound or an estimate (up to, at least, about). A whole-document item is compared only between its source (a table cell, or a section headed by its name) and a sentence; two tables, two sentences with no source (sections per type of employment), an item its sources give two values, a value after a condition ("If you register the product, the warranty runs for 24 months"), and a qualified name (part-time probation period) are left alone. A whole-document item is compared only between a table cell and a sentence; two tables or two sentences (sections per type of employment), an item the tables give two values, and a qualified name (part-time probation period) are left alone. A table row and a sentence naming it are not compared when either holds two amounts in the currency (a daily amount and a cap), when the
|
|
77
|
+
ja: 違う見出しの下、違う親の項目の下、太字だけの行や「第2回:」のような行の後ろの値は、別のものの値として比べません。値の後ろに条件が続くもの(「3,000円から」「10月5日に開催」)、何あたりの違う値(日額と月額)や、距離や時間あたりの値とそれを掛けた金額(「1kmあたり15円」と「1,650円」。1件につき のような件ごとの値は比べます)、読点のあとから始まる項目名(「大人は、参加費は」)、単位の違う値(単位の食い違いは別に見ます)も比べません。単価の列(単価、時給)の升は、金額の列(金額、小計)の同じ名前の升とは比べません(文の値とは比べます)。同じ項目に三通り以上の値があれば、一覧として何も言いません。保存期間は、別のもの(ログは90日、個人情報は1年)や、上限・下限・目安の長さ(最長、以上、約)とは比べません。文書全体の項目は、拠り所(表の升、項目の名前を見出しにした節)と文のあいだだけで比べます。表どうしや、拠り所の無い文どうし(雇用形態ごとの節)、拠り所が二通りの値を書いた項目、条件の句の後ろの値(「製品登録をされた場合、保証期間は24か月です」)、名前に条件を書いた値(正社員の試用期間)は比べません。文書全体の項目は、表の升と文のあいだだけで比べます。表どうしや文どうし(雇用形態ごとの節)、表が二通りの値を書いた項目、名前に条件を書いた値(正社員の試用期間)は比べません。表の行と主語の文の金額は、行か文に同じ通貨の金額が二つ以上あるとき(日額と上限)、主語が見出しより長いとき(入院給付金の上限は)、文に条件の語(場合、ただし)があるときは比べません。全体の数は、全体の印(合計、全部で)と数える語(枚、名)の両方が付いた数だけを読みます。一部の数(うち2枚は)、上限(合計4枚まで)、表の行の名前を書いた文(S席は合計2枚)、数える列が二つ以上ある文書は比べません。人の数は行を足しません(同じ人が参加と交流会の両方の行に載ります)。
|
|
78
|
+
en: Values under different headings, under different parent list items, or after a bold-only line or a line like "Session 2:" are taken as values of different things. A value followed by a condition ("$300 per person", "May 3 at noon"), values per different units (a day, a month), a value per a distance or a time against the amount it multiplies into ("$0.45 per mile" and "$165"; a fee "for each transfer" is compared), a name that starts after a comma ("For adults, the fee"), and values in different units are not compared. A cell under a unit price column (Unit price, Rate) is not compared with a cell of the same name under an amount column (Amount, Total); it is compared with a sentence. An item with three or more different values is read as a list and left alone. A retention period is not compared with that of another thing (logs 90 days, account data 1 year) or with a bound or an estimate (up to, at least, about). A whole-document item is compared only between its source (a table cell, or a section headed by its name) and a sentence; two tables, two sentences with no source (sections per type of employment), an item its sources give two values, a value after a condition ("If you register the product, the warranty runs for 24 months"), and a qualified name (part-time probation period) are left alone. A whole-document item is compared only between a table cell and a sentence; two tables or two sentences (sections per type of employment), an item the tables give two values, and a qualified name (part-time probation period) are left alone. A table row and a sentence naming it are not compared when either holds two amounts in the currency (a daily amount and a cap), when the subject is longer than the heading ("Hospital cash cover is"), or when the sentence puts a condition on its amount (if, unless). A whole count is read only with a whole mark (in total, a total of) and a counting word (tickets, attendees). A part ("2 of the tickets"), a limit ("up to a total of 4 tickets"), a sentence naming a table row ("Stalls are 2 tickets in total"), and a document with two columns counting the same thing are left alone. Rows counting people are not summed, because the same guest is on the admission row and the dinner row.
|
|
79
79
|
rewrite:
|
|
80
80
|
depth: light
|
|
81
81
|
ja:
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
id: formula-amount-mismatch
|
|
2
|
+
layer: L3
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: formula-amount
|
|
5
|
+
# The words of a formula come from formula-amount-word and percent-unit; a tax-included word and a stated tax rate are read
|
|
6
|
+
# with tax-price-column, as tax-mismatch reads them, and a tax's name with a word of inclusion (消費税8%込み) with tax-label
|
|
7
|
+
# and tax-included-word. The amounts are currency-notation's. A document profile may give the
|
|
8
|
+
# tax rate a label means when the document states none (tax_rate).
|
|
9
|
+
extra_word_lists: [formula-amount-word, percent-unit, tax-price-column, tax-label, tax-included-word]
|
|
10
|
+
severity: warning
|
|
11
|
+
|
|
12
|
+
name:
|
|
13
|
+
ja: 見出しに書いた計算と合わない金額
|
|
14
|
+
en: An amount that is not what its label's formula gives
|
|
15
|
+
|
|
16
|
+
why:
|
|
17
|
+
ja: 精算書や請求書で「仲介手数料(売買代金の3%+60,000円、消費税込み)」のように見出しに計算のしかたを書くと、読み手は金額を確かめずに払います。売買代金を直して手数料を直し忘れたとき、決まった額や税を足し忘れたとき、桁を打ち間違えたときに食い違います。見出しに「名前の率%」(売買代金の3%)か「率% of 名前」(5% of the sale price)があり、行の終わりに金額が一つあるとき、文書がその名前の見出しで書いた金額(売買代金 | 48,000,000円)に率を掛け、「+」の後の額を足して比べます。見出しが税込みと言えば、見出しの税率、無ければ文書が「消費税10%」のように書いた税率、それも無ければ文書の種類の税率を足します。
|
|
18
|
+
en: 'When a statement writes how a fee is worked out in its label ("Commission (5% of the sale price)"), readers pay it without checking. It goes wrong when the price is changed and the fee is not, when a fixed part or the tax is left out, or when a digit is mistyped. When a label holds "rate% of name" (or "name × rate%") and its line ends in one amount, the rate is applied to the amount the document labels with that name (Sale price | $324,000.00), a fixed amount after "plus" is added, and the result is compared with the line''s amount. A label saying tax is included adds the rate it states, else the one rate the document states beside a tax word.'
|
|
19
|
+
|
|
20
|
+
message:
|
|
21
|
+
ja: 「{written}」が、{name}「{base}」で「{formula}」を計算した額({expected})と合いません
|
|
22
|
+
en: '{written} is not "{formula}" worked out on the {name} {base} ({expected})'
|
|
23
|
+
|
|
24
|
+
how_to_fix:
|
|
25
|
+
ja: 元の金額と率、足す額を確かめて、金額か見出しの計算を直してください。
|
|
26
|
+
en: Check the amount it is worked out from, the rate and any fixed part, and correct the amount or the label.
|
|
27
|
+
|
|
28
|
+
levels: { strict: error, normal: warning, relaxed: info }
|
|
29
|
+
|
|
30
|
+
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
31
|
+
off_for:
|
|
32
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
33
|
+
|
|
34
|
+
group: facts
|
|
35
|
+
summary:
|
|
36
|
+
ja: 「売買代金の3%」のような見出しの計算と合わない金額
|
|
37
|
+
en: An amount that is not what its label's formula ("5% of the sale price") gives
|
|
38
|
+
example:
|
|
39
|
+
ja:
|
|
40
|
+
before: |
|
|
41
|
+
| 項目 | 金額 |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| 売買代金 | 30,000,000円 |
|
|
44
|
+
| 仲介手数料(売買代金の3%+60,000円、消費税10%込み) | 990,000円 |
|
|
45
|
+
after: |
|
|
46
|
+
| 項目 | 金額 |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
| 売買代金 | 30,000,000円 |
|
|
49
|
+
| 仲介手数料(売買代金の3%+60,000円、消費税10%込み) | 1,056,000円 |
|
|
50
|
+
en:
|
|
51
|
+
before: |
|
|
52
|
+
| Item | Amount |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| Sale price | $250,000.00 |
|
|
55
|
+
| Commission (5% of the sale price) | $12,000.00 |
|
|
56
|
+
after: |
|
|
57
|
+
| Item | Amount |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| Sale price | $250,000.00 |
|
|
60
|
+
| Commission (5% of the sale price) | $12,500.00 |
|
|
61
|
+
|
|
62
|
+
not_flagged:
|
|
63
|
+
ja: 端数は切り捨て・四捨五入・切り上げのどれでも、税の前でも後でも、円やドルの位で合っていると読みます。その名前の見出しの金額が無いもの、名前の見出しが二つあって額が違うもの、見出しに率と名前の組が二つあるもの、見出しに足す額のほかの金額があるもの、通貨が違うもの、行の金額が「165万円」のように桁の語で書いたものは比べません。税込みと書いて、見出しにも文書にも文書の種類にも税率が無いもの、文書が違う税率を二つ書いたものも比べません。文の中に書いた計算は読みません。
|
|
64
|
+
en: "Rounding down, to the nearest or up, before or after the tax, to the cent or to the unit, is read as right. Nothing is compared when no line labels the named amount, when two such lines give different amounts, when the label holds two rates with names or an amount other than the fixed part, when the currencies differ, or when the line's amount is written with a word of scale. A label saying tax is included is not compared when no rate is stated in it, in the document or in the document's profile, or when the document states two rates. A formula written in a sentence is not read."
|
|
65
|
+
level_meaning:
|
|
66
|
+
ja: 金額が、見出しに書いた計算で出した額と合わないとき指摘
|
|
67
|
+
en: reported when an amount is not what its label's formula gives
|
package/rules/heading-echo.yaml
CHANGED
|
@@ -60,8 +60,8 @@ example:
|
|
|
60
60
|
Attach the receipt and submit it by the end of the month.
|
|
61
61
|
|
|
62
62
|
not_flagged:
|
|
63
|
-
ja: 短い見出し(言葉が少なく、重なりを測れないもの)は見ません。見出しの頭の番号の札(例 3:、Step 3:、1.、第2章)は重なりに数えません。中身の置き場所(リンク、URL、コードで書いたファイルのパス)へ読者を渡す文(詳しくは `docs/api.md`
|
|
64
|
-
en: Headings too short to measure an overlap are not checked. A number label at the head of a heading (Step 3:, Example 4:, 1., Chapter 2:) is not counted in the overlap. A sentence that sends the reader to where the content lives (a link, a web address, a file path in code, as in The full reference is in `docs/api.md`.) is not an echo.
|
|
63
|
+
ja: 短い見出し(言葉が少なく、重なりを測れないもの)は見ません。見出しの頭の番号の札(例 3:、Step 3:、1.、第2章)は重なりに数えません。中身の置き場所(リンク、URL、コードで書いたファイルのパス)へ読者を渡す文(詳しくは `docs/api.md` にあります。)は繰り返しではありません。見出しの直後が名前だけの行(レターヘッド)や項目と値の行(担当者:山田)なら、書式の頭で、繰り返しではありません。
|
|
64
|
+
en: Headings too short to measure an overlap are not checked. A number label at the head of a heading (Step 3:, Example 4:, 1., Chapter 2:) is not counted in the overlap. A sentence that sends the reader to where the content lives (a link, a web address, a file path in code, as in The full reference is in `docs/api.md`.) is not an echo. A name alone (a letterhead) or a field and its value (a contact name after its label) right under the heading is the top of a form, not an echo.
|
|
65
65
|
level_meaning:
|
|
66
66
|
ja: 見出しと直後の文の重なりが {limit}% 以上なら指摘
|
|
67
67
|
en: reported when the first sentence overlaps the heading by {limit}% or more
|
|
@@ -12,13 +12,18 @@ name:
|
|
|
12
12
|
en: A total of payments that is not the payments added up
|
|
13
13
|
|
|
14
14
|
why:
|
|
15
|
-
ja: ローンや分割払いの案内で「お支払回数 60回、毎月のお支払額 32,800円、お支払総額 1,968,000円」と並べて書くと、読み手は掛け算を確かめずに総額を信じます。金利や回数を変えて作り直したときに、毎回の額か総額のどちらかが古いまま残って食い違います。支払回数・毎回のお支払額・お支払総額の見出しにそれぞれ一つの額があるとき、回数×毎回の額をお支払総額と比べます。初回や最終回の額が別に書いてあれば「初回 + 毎回の額 ×(残りの回数)+ 最終回」で比べます。見出しが無くても、一つの文に「32,800円×59
|
|
16
|
-
en: 'When a loan or installment plan says "48 monthly payments of $537.50; total of payments $25,800", readers trust the total without multiplying. It goes wrong when the plan is redone with another rate or term and the payment or the total is left as it was. When the number of payments, the regular payment and the total of payments are each stated once, the number times the payment is compared with the total; a first or final payment stated apart is added as written (first + payment × the rest + final). Without labels, the payments of one sentence ("47 payments of $550.53 and 1 payment of $550.71") are added up. Each regular payment may be rounded by half its last written digit.'
|
|
15
|
+
ja: ローンや分割払いの案内で「お支払回数 60回、毎月のお支払額 32,800円、お支払総額 1,968,000円」と並べて書くと、読み手は掛け算を確かめずに総額を信じます。金利や回数を変えて作り直したときに、毎回の額か総額のどちらかが古いまま残って食い違います。支払回数・毎回のお支払額・お支払総額の見出しにそれぞれ一つの額があるとき、回数×毎回の額をお支払総額と比べます。初回や最終回の額が別に書いてあれば「初回 + 毎回の額 ×(残りの回数)+ 最終回」で比べます。見出しが無くても、一つの文に「32,800円×59回」のような回数と額の組があれば、それを足して比べます。毎回の額は、書いた桁の半分までの丸めが回数分たまることを認めます。修学旅行や林間学校の案内のように「第1回:32,000円」「第2回:30,000円」と分納を表の行や箇条書きで並べ、同じ節に「旅行代金は、1人あたり62,000円」と費用を書いたときは、分納の額を足して費用と比べます。
|
|
16
|
+
en: 'When a loan or installment plan says "48 monthly payments of $537.50; total of payments $25,800", readers trust the total without multiplying. It goes wrong when the plan is redone with another rate or term and the payment or the total is left as it was. When the number of payments, the regular payment and the total of payments are each stated once, the number times the payment is compared with the total; a first or final payment stated apart is added as written (first + payment × the rest + final). Without labels, the payments of one sentence ("47 payments of $550.53 and 1 payment of $550.71") are added up. Each regular payment may be rounded by half its last written digit. When a school trip or camp notice lists numbered instalments as table rows or list items ("1st payment: £150", "Final payment: $60") and states the cost in the same section ("The trip costs £300 per student"), the instalments are added up and compared with the cost.'
|
|
17
17
|
|
|
18
18
|
message:
|
|
19
19
|
ja: 支払額を足すと {payments} = {sum} で、お支払総額 {total} と合いません
|
|
20
20
|
en: "The payments add up to {sum} ({payments}), not the total of payments {total}"
|
|
21
21
|
|
|
22
|
+
messages:
|
|
23
|
+
fee:
|
|
24
|
+
ja: 分納の額を足すと {payments} = {sum} で、同じ節に書いた費用 {total} と合いません
|
|
25
|
+
en: "The instalments add up to {sum} ({payments}), not the cost {total} stated with them"
|
|
26
|
+
|
|
22
27
|
how_to_fix:
|
|
23
28
|
ja: 回数・毎回の額・総額のどれが正しいかを確かめて、ほかを直してください。端数を初回や最終回で調整するなら、その回の額を書いてください。
|
|
24
29
|
en: Check which of the number of payments, the payment and the total is right, and correct the others. If a first or final payment absorbs the rounding, state its amount.
|
|
@@ -54,5 +59,5 @@ example:
|
|
|
54
59
|
- Total of payments: $2,496.00
|
|
55
60
|
|
|
56
61
|
not_flagged:
|
|
57
|
-
ja: 総額の書いていない文書、「約」「程度」の付いた額、「32,800円〜33,000円」のような幅、同じ見出しに違う値が二度ある(いくつかの支払い方を並べた)文書、回数と額の組が文ごとに違う文書、一つの文に「12回×10,000円または24回×6,000
|
|
58
|
-
en: 'A document with no total of payments, an amount marked "about" or "up to", a range ("$540 to $560"), a label stated twice with different values (plans side by side), sentences of payments that differ from one another, and a sentence with two repeated payments ("12 payments of $100 or 24 payments of $60", a choice) are not compared. Neither is a document with a bonus, balloon, down payment, deposit or deferred payment, nor one that says a payment absorbs the rounding ("the final payment may vary") without stating that payment. Amounts in different currencies are not compared. A table that names the count and the total only in its column headings is not read.'
|
|
62
|
+
ja: 総額の書いていない文書、「約」「程度」の付いた額、「32,800円〜33,000円」のような幅、同じ見出しに違う値が二度ある(いくつかの支払い方を並べた)文書、回数と額の組が文ごとに違う文書、一つの文に「12回×10,000円または24回×6,000円」のように繰り返す支払いが二つある(選べる支払い方を並べた)記載は比べません。ボーナス払い・頭金・残価・据置のある文書と、「端数は初回で調整」のように端数の扱いを書いて初回・最終回の額を書いていない文書も比べません。通貨の違う額は比べません。表の列見出しだけに「回数」「総額」とある表は読みません。分納の並びは、費用が節に一つだけ書いてあり、第1回から番号が抜けも重なりもなく続き、どの回も額が一つだけ読め、節に積立金・分納などの語があるときだけ比べます。申込金は分納の一つとして並べたときだけ足し、ほかの所に書いてあれば比べません。
|
|
63
|
+
en: 'A document with no total of payments, an amount marked "about" or "up to", a range ("$540 to $560"), a label stated twice with different values (plans side by side), sentences of payments that differ from one another, and a sentence with two repeated payments ("12 payments of $100 or 24 payments of $60", a choice) are not compared. Neither is a document with a bonus, balloon, down payment, deposit or deferred payment, nor one that says a payment absorbs the rounding ("the final payment may vary") without stating that payment. Amounts in different currencies are not compared. A table that names the count and the total only in its column headings is not read. Numbered instalments are compared only when their section states one cost, they run from the first with no gap or repeat, each has one amount, and the section speaks of payments or instalments. A deposit is added only when listed as one of the instalments; named anywhere else, nothing is compared.'
|
|
@@ -18,8 +18,8 @@ message:
|
|
|
18
18
|
en: '"{matched}" may only be understood inside your team ({count} such {count|word|words})'
|
|
19
19
|
|
|
20
20
|
how_to_fix:
|
|
21
|
-
ja: 初出のところで普通の言葉に言い換えるか、括弧で説明を添えてください。jargon
|
|
22
|
-
en: Use ordinary words, or explain it in brackets at first use.
|
|
21
|
+
ja: 初出のところで普通の言葉に言い換えるか、括弧で説明を添えてください。jargon に辞書形(握る・巻き取る)で書いた動詞は、活用した形(握った・巻き取ります)にも当たります。語幹(巻き取)でも書けます。
|
|
22
|
+
en: Use ordinary words, or explain it in brackets at first use. A verb entered in its dictionary form also finds its other forms; a stem works too.
|
|
23
23
|
|
|
24
24
|
# チームが並べた語なので、1 つでも指摘する。並べた時点で「使わない」と決めている。
|
|
25
25
|
levels: { strict: 1, normal: 1, relaxed: 3 }
|
package/rules/latin-spacing.yaml
CHANGED
|
@@ -31,8 +31,8 @@ name:
|
|
|
31
31
|
en: Spacing around Latin text is inconsistent
|
|
32
32
|
|
|
33
33
|
why:
|
|
34
|
-
ja: 日本語と英字・数字のあいだを空けるか詰めるかは、どちらでも読めます。困るのは一つの文書の中で混ざることで、読み手には違いに意味があるように見えます。chaff はどちらが正しいかを決めず、文書の中で少ないほうを指摘します。英字と、数字の前、数字の後ろは別々に数えます。「を 3回」のように、数字の前は空けて助数詞とは詰める書き方がふつうにあるからです。「3GBの」のように数字に続く単位は、英字ではなく数字の側として数えます。逆に「H30 等」「EC2 で」「Phase 1 は」のように英字で始まって数字で終わる名前は、英字の側として数えます。「073-489-5909」「2026-06-02」のような番号や、「1.0.0」のような版番号は数量ではないので数えません。日付・時刻(「9月」「2026年」「令和8年」「10月1日」「3時」「10時5分」)も、数と単位を詰めて書く決まりなので、その中の境目も、前の境目(「は 9月」「午後3時」)も数えません。コロンで書いた時刻(「13:30」「後の17:15から」)も同じです。メールアドレスや URL(「privacy@example.com で」)の前後の空白は、アドレスの終わりを示す区切りなので数えません。予約番号や型番のような番号(「予約番号 MN-48215 を」「型番 SB-210 と」)の前後の空白も、番号を文から区切るものなので数えません。長さ(「3ヶ月」「3 時間」「5日で」「3年」)は数量として数えます。題や注の番号として書かれた数(「3.1 リサーチの原則」の節番号、※1 の注番号、行の頭に続き番号で並べた注の番号、番号が増えていく箇条書きの頭の番号、「問3」「図2」のように語のすぐ後ろに書いた番号)、0 で始まる組を含む番号(102-0094)、〒の後ろの郵便番号(〒100-8916)、市・区・町まで下りた地名のすぐ後ろの番地(千代田区紀尾井町1-3)も、後ろの空白が番号と題・項目の区切りなので数えません。建物の名前の後ろに空白で区切って書いた階や部屋の番号(「本社 5階 第2会議室」「研究所 3階 セミナー室」)の前の空白も、所在の組の区切りなので数えません。名前だけを空白で並べた行(「株式会社あおば電子 経営企画部 IR担当」「東京本社 PR室」)で、空白の両側が部署・拠点・役目や会社の名前のときの空白も、名前と名前の区切りなので数えません。「第1節 AI の…」の「第1
|
|
35
|
-
en: Whether to put a space between Japanese and Latin letters or digits is a choice either way. What reads badly is mixing both in one document, which suggests the difference means something. chaff does not decide which is right; it points at whichever the document uses less. Letters, the space before a digit and the space after one are counted separately, since spacing before a number but not before its counter is common. A unit after a number (3GB) counts with the number; a name that starts with a letter and ends in a digit (H30, EC2, Phase 1) counts with the letters. A code such as a phone number, a date or a version (073-489-5909, 2026-06-02, 1.0.0) is not a quantity and is not counted. Nor is a date or a time written with units (9月, 2026年, 令和8年, 10月1日, 3時, 10時5分), which is packed by convention; neither its inside nor the space before it (は 9月, 午後3時) counts. The same goes for a clock time written with a colon (13:30). Nor is the space beside an e-mail address or a URL (privacy@example.com で), which marks where the address ends, or beside a booking or model number (予約番号 MN-48215 を, 型番 SB-210 と), which sets the number off from the sentence. A length of time (3ヶ月, 3 時間, 5日で, 3年) is a quantity and counts. Neither is a number written as the label of a title or a note (a section number such as 3.1 before its title, a note number after ※, the numbers of notes listed one per line in sequence, numbers opening the items of a list that go up, a number written right after a word such as 問 or 図), a code with a part starting with 0 (102-0094), a postal code after 〒 (〒100-8916), or a hyphenated address number right after a city, ward or town (千代田区紀尾井町1-3), since the space after it separates the label from its title or the next item. Nor is the space before a floor or room number written after the name of a building (本社 5階 第2会議室), which separates the parts of a location. Nor is the space between names on a line of names alone (株式会社あおば電子 経営企画部 IR担当, 東京本社 PR室), when both sides are names of a department, an office, a role or a company, since it separates one name from the next. The same goes for the space after a division such as 第1節. Nor is the spacing inside a title or a quotation in 「」 or 『』, or inside the text of a link, which is the source's, not the writer's.
|
|
34
|
+
ja: 日本語と英字・数字のあいだを空けるか詰めるかは、どちらでも読めます。困るのは一つの文書の中で混ざることで、読み手には違いに意味があるように見えます。chaff はどちらが正しいかを決めず、文書の中で少ないほうを指摘します。英字と、数字の前、数字の後ろは別々に数えます。「を 3回」のように、数字の前は空けて助数詞とは詰める書き方がふつうにあるからです。「3GBの」のように数字に続く単位は、英字ではなく数字の側として数えます。逆に「H30 等」「EC2 で」「Phase 1 は」のように英字で始まって数字で終わる名前は、英字の側として数えます。「073-489-5909」「2026-06-02」のような番号や、「1.0.0」のような版番号は数量ではないので数えません。日付・時刻(「9月」「2026年」「令和8年」「10月1日」「3時」「10時5分」)も、数と単位を詰めて書く決まりなので、その中の境目も、前の境目(「は 9月」「午後3時」)も数えません。コロンで書いた時刻(「13:30」「後の17:15から」)も同じです。メールアドレスや URL(「privacy@example.com で」)の前後の空白は、アドレスの終わりを示す区切りなので数えません。予約番号や型番のような番号(「予約番号 MN-48215 を」「型番 SB-210 と」)の前後の空白も、番号を文から区切るものなので数えません。長さ(「3ヶ月」「3 時間」「5日で」「3年」)は数量として数えます。題や注の番号として書かれた数(「3.1 リサーチの原則」の節番号、※1 の注番号、行の頭に続き番号で並べた注の番号、番号が増えていく箇条書きの頭の番号、「問3」「図2」のように語のすぐ後ろに書いた番号)、0 で始まる組を含む番号(102-0094)、〒の後ろの郵便番号(〒100-8916)、市・区・町まで下りた地名のすぐ後ろの番地(千代田区紀尾井町1-3)も、後ろの空白が番号と題・項目の区切りなので数えません。建物の名前の後ろに空白で区切って書いた階や部屋の番号(「本社 5階 第2会議室」「研究所 3階 セミナー室」)の前の空白も、所在の組の区切りなので数えません。名前だけを空白で並べた行(「株式会社あおば電子 経営企画部 IR担当」「東京本社 PR室」)で、空白の両側が部署・拠点・役目や会社の名前のときの空白も、名前と名前の区切りなので数えません。「第1節 AI の…」の「第1節」の後ろの空白も同じです。桁の区切りの無い 6 桁以上の番号(「口座番号 3056172 を」)、ナンバープレート(「ひばり野 330 ね 48-15」)の前後と中の空白、「所属:経済学部 経済学科 1年」「振込先:みなと銀行 普通 1234567」のように項目名とコロンの後ろに値の組を並べた行で、組と組のあいだの空白も、値の区切りなので数えません。鉤括弧(「」『』)で引いた題名や発言の中も、リンクの文字の中も、空け方は引いた元のものなので数えません。空けた所と詰めた所が同じ数なら、少ないほうが無いので 1 箇所ずつは指さず、1 対 1 なら何も言いません。
|
|
35
|
+
en: Whether to put a space between Japanese and Latin letters or digits is a choice either way. What reads badly is mixing both in one document, which suggests the difference means something. chaff does not decide which is right; it points at whichever the document uses less. Letters, the space before a digit and the space after one are counted separately, since spacing before a number but not before its counter is common. A unit after a number (3GB) counts with the number; a name that starts with a letter and ends in a digit (H30, EC2, Phase 1) counts with the letters. A code such as a phone number, a date or a version (073-489-5909, 2026-06-02, 1.0.0) is not a quantity and is not counted. Nor is a date or a time written with units (9月, 2026年, 令和8年, 10月1日, 3時, 10時5分), which is packed by convention; neither its inside nor the space before it (は 9月, 午後3時) counts. The same goes for a clock time written with a colon (13:30). Nor is the space beside an e-mail address or a URL (privacy@example.com で), which marks where the address ends, or beside a booking or model number (予約番号 MN-48215 を, 型番 SB-210 と), which sets the number off from the sentence. A length of time (3ヶ月, 3 時間, 5日で, 3年) is a quantity and counts. Neither is a number written as the label of a title or a note (a section number such as 3.1 before its title, a note number after ※, the numbers of notes listed one per line in sequence, numbers opening the items of a list that go up, a number written right after a word such as 問 or 図), a code with a part starting with 0 (102-0094), a postal code after 〒 (〒100-8916), or a hyphenated address number right after a city, ward or town (千代田区紀尾井町1-3), since the space after it separates the label from its title or the next item. Nor is the space before a floor or room number written after the name of a building (本社 5階 第2会議室), which separates the parts of a location. Nor is the space between names on a line of names alone (株式会社あおば電子 経営企画部 IR担当, 東京本社 PR室), when both sides are names of a department, an office, a role or a company, since it separates one name from the next. The same goes for the space after a division such as 第1節. Nor is the space beside a code of six digits or more written without separators (口座番号 3056172 を), around and inside a number plate (ひばり野 330 ね 48-15), or between the parts of a value after a label and a colon (所属:経済学部 経済学科 1年, 振込先:みなと銀行 普通 1234567), which separates the parts of the value. Nor is the spacing inside a title or a quotation in 「」 or 『』, or inside the text of a link, which is the source's, not the writer's. When both ways are used equally often there is no minority, so no place is singled out, and a one-to-one tie is not reported.
|
|
36
36
|
|
|
37
37
|
message:
|
|
38
38
|
ja: "日本語と{kind}のあいだを{style}(この文書はふつう{usual}。{of} 箇所のうち {count} 箇所が違う)"
|
|
@@ -70,8 +70,8 @@ example:
|
|
|
70
70
|
表は Excel で作り、Word に貼ります。図は PowerPoint で描きます。最後に PDF にします。
|
|
71
71
|
|
|
72
72
|
not_flagged:
|
|
73
|
-
ja: 電話番号や日付のような番号、版番号(1.0.0)、予約番号や型番(MN-48215)の前後、単位つきの日付や時刻(9月、10時5分)、建物の名前の後ろに空白で区切った階や部屋の番号(本社 5階)の前、名前だけを並べた行の名前と名前のあいだ(経営企画部 IR
|
|
74
|
-
en: Codes such as phone numbers, dates and version numbers (1.0.0), the spaces beside a booking or model number (MN-48215), dates and times with units (9月, 10時5分), the space before a floor or room number after the name of a building (本社 5階), the space between names on a line of names alone (経営企画部 IR担当), heading numbers, the space after an item number at the head of a line (一 JIS…), quotations and the text of links are not counted. Neither way is called right. When the less common way is more than a fifth of the places (and at least five), it is reported once, as a document written two ways, rather than place by place.
|
|
73
|
+
ja: 電話番号や日付のような番号、版番号(1.0.0)、予約番号や型番(MN-48215)の前後、単位つきの日付や時刻(9月、10時5分)、建物の名前の後ろに空白で区切った階や部屋の番号(本社 5階)の前、名前だけを並べた行の名前と名前のあいだ(経営企画部 IR担当)、6 桁以上の番号やナンバープレートの前後、項目名とコロンの後ろの値の組のあいだ(所属:経済学科 1年)、見出しの番号、行の頭の項目の番号(「一 JIS…」の一、イ)の後ろ、「」の中、リンクの文字の中は数えません。どちらの空け方が正しいかは決めません。少ないほうが全体の 2 割を超えるほど多ければ(5 箇所以上)、また二通りが 2 箇所以上ずつの同数なら、1 箇所ずつではなく、書き方が二通りあることを 1 件で言います。1 対 1 の同数は言いません。
|
|
74
|
+
en: Codes such as phone numbers, dates and version numbers (1.0.0), the spaces beside a booking or model number (MN-48215), dates and times with units (9月, 10時5分), the space before a floor or room number after the name of a building (本社 5階), the space between names on a line of names alone (経営企画部 IR担当), the spaces beside a code of six digits or more or a number plate, the space between the parts of a value after a label and a colon (所属:経済学科 1年), heading numbers, the space after an item number at the head of a line (一 JIS…), quotations and the text of links are not counted. Neither way is called right. When the less common way is more than a fifth of the places (and at least five), or both ways are used equally at two places or more each, it is reported once, as a document written two ways, rather than place by place. A one-to-one tie is not reported.
|
|
75
75
|
level_meaning:
|
|
76
76
|
ja: 少ないほうの空け方が {limit} 箇所あれば指摘
|
|
77
77
|
en: reported once {limit} places go against the document's habit
|
|
@@ -82,7 +82,7 @@ example:
|
|
|
82
82
|
|
|
83
83
|
not_flagged:
|
|
84
84
|
ja: 項目が三つに満たない箇条書き、少ないほうが三分の一を超える箇条書き(使い分けと見る)、一語だけの項目、「札:説明」の形の項目、コードやリンクを含む項目、読点や「;」で終わって一つの文を分けて並べた箇条書き、引用の中の箇条書きは見ません。項目の最後の括弧書き(「健康診断書(3か月以内のもの)」)は外して形を見ます。法務・文学・話し言葉・議事録のジャンルでは見ません。
|
|
85
|
-
en: 'Lists of fewer than three items, lists where the less common form is more than a third (used on purpose), one-word items, "Label: value" items, items holding code or a link, lists whose items end in a comma, a semicolon or "and" (one sentence split into items), and quoted lists are not checked. A capitalised name (Cover Letter)
|
|
85
|
+
en: 'Lists of fewer than three items, lists where the less common form is more than a third (used on purpose), one-word items, "Label: value" items, items holding code or a link, lists whose items end in a comma, a semicolon or "and" (one sentence split into items), and quoted lists are not checked. A capitalised name (Cover Letter), a word that is also a verb (Design documents), an adjective before a preposition (Free of charge, Clean up) and an -ing word before a noun (Washing machine) are not judged by their first word; a word followed by "the", "a" or "your" (Open the app) opens with a verb. Legal, literary, speech and meeting-notes genres do not run this rule.'
|
|
86
86
|
level_meaning:
|
|
87
87
|
ja: 少ないほうの形が、箇条書きの項目の {limit}% 以下のとき指摘
|
|
88
88
|
en: reported when the less common form is {limit}% of the list's items or less
|
package/rules/name-variant.yaml
CHANGED
|
@@ -57,6 +57,9 @@ messages:
|
|
|
57
57
|
company-near:
|
|
58
58
|
ja: 「{name}」は、ほかの所で書いた会社名「{usual}」と一字違いです
|
|
59
59
|
en: '"{name}" is one letter away from the company name "{usual}" written elsewhere in the document'
|
|
60
|
+
company-ending:
|
|
61
|
+
ja: 「{name}」は、ほかの所で何度も書いた会社名「{usual}」と、語の終わりだけが違います
|
|
62
|
+
en: '"{name}" differs only at the end of a word from the company name "{usual}", which the document uses more than once'
|
|
60
63
|
company-kana:
|
|
61
64
|
ja: 「{name}」は、ほかの所では「{usual}」と書いています(名前の漢字一字を、その読みのかなで書いた違い)
|
|
62
65
|
en: '"{name}" is written "{usual}" elsewhere in the document (one kanji of the name written in kana)'
|
|
@@ -97,8 +100,8 @@ example:
|
|
|
97
100
|
The code lives on GitHub. Reviews happen on GitHub, and releases are tagged on GitHub.
|
|
98
101
|
|
|
99
102
|
not_flagged:
|
|
100
|
-
ja: 品詞解析が固有名詞と読んだ語だけを見ます。大文字だけの名前(ACME INC、NASA)は見ません。一字違いの英字の名前は、6 字以上で、多いほうが二度以上、少ないほうが一度だけのときに限ります(Iran と Iraq は別の名前)。人の名前どうしは、字体の違う同じ字(斎藤 と 斉藤、渡辺 と 渡邊)か、読みが同じで一字だけ違い、多いほうが二度以上、少ないほうが一度だけのとき(松本 と 松元)に限ります(伊藤 と 伊東 は別の人のことがある)。解析器が読みを持たない名前の字(健汰 の 汰)は、語彙表 name-char-reading の読みで読みます(健太 と 健汰。表の升の名前も同じ)。人の名前とは、品詞解析が人名と読んだ語か、「様」「さん」「氏」の付いた名前です(解析器が名前と読めない字体の字を含む名前は、敬称の前の 2〜4 字の漢字を名前と読みます)。敬称は名前とのあいだの空白を越えて見ます。品詞解析が名と読まない語も、姓のあとに空白を挟んで書き、敬称が付けば名と読みます(森下 千尋 様)。敬称の無い名前も、前後に漢字が続かない 2〜4 字の漢字で、片方の書き方に「担当の」「私、」などの前置きか敬称が付き、もう片方が「です」「が」「までご連絡」などの前にあれば比べます(担当の斎藤です と 斉藤までご連絡ください)。地名にも同じ組がある(鹿島 と 鹿嶋)ので、どちらにも前置きも敬称も無いときは比べません。会社の名前は、語彙表の会社の種類の語(株式会社、(株)、有限会社)の隣にあるものを、品詞と関係なく比べます。名前が同じで種類の語が違うもの(株式会社 と 有限会社)、種類の語を名前の反対側に置いたもの(株式会社アオバ と アオバ株式会社)、記号・幅だけが違うものを指します。同じ種類の語の略した形(株式会社 と (株))、種類の語を省いた呼び名(アオバシステム、以下「アオバ」)は指しません。名前の一字違いは、7 字以上の名前で、違う字が漢字でないときに限ります(日本電気 と 日本電機 は別の会社のことがある)。漢字を含む名前は、7 字に満たなくても、4 字以上のかなの語の中のかな一字違いを、多いほうが二度以上、少ないほうが一度だけのときに指します(コモレビ電機 と コモレピ電機)。名前の漢字一字を、品詞解析が言うその読みのかなで書いた所(みどり野生命 と
|
|
101
|
-
en: Only words the tagger reads as proper nouns are checked. Names in capitals only (ACME INC, NASA) are left out. Names one letter apart are reported only when six letters or longer, with the usual form used at least twice and the other once (Iran and Iraq are different names). Two Japanese person names are compared only when written with another form of the same character (斎藤 and 斉藤), or read the same with one character different, the usual form used at least twice and the other once (松本 and 松元); 伊藤 and 伊東 can be two people. A name character the tagger has no reading for (汰 in 健汰) is read with its reading from the lexicon name-char-reading (健太 and 健汰), in table cells as well. A person's name is one the tagger reads as such, or one followed by 様, さん or 氏 (when a name holds a character form the tagger cannot read, the two to four kanji before the honorific are taken as the name). The honorific may follow the name after a space. A word the tagger does not read as a given name is taken as one when it follows a surname after a space and carries an honorific (森下 千尋 様). A name without an honorific is compared too when it is two to four kanji standing alone, one form has a lead such as 担当の or 私、 or an honorific, and the other stands before a word such as です, が or までご連絡 (担当の斎藤です and 斉藤までご連絡ください). Places have such pairs as well (鹿島 and 鹿嶋), so two forms with neither a lead nor an honorific are not compared. A company name is one next to a company form from the lexicon (Inc., Ltd., Co., Ltd., LLC), whatever the tagger reads it as. The same name with forms of two kinds (Inc. and Ltd.), and the same name written with other punctuation or width, are reported. The short and long spelling of one form (Inc and Incorporated) and a name written without its form (Aoba Systems, the "Company") are not. Two names one letter apart are reported only when seven letters or longer, with the same form, and the letter is not a kanji. A name holding kanji is compared when shorter too, for one kana apart inside a kana word of four or more (コモレビ電機 and コモレピ電機), with the usual form used at least twice and the other once. One kanji of a name written in its kana reading (みどり野生命 and みどりの生命) is reported the same way; the reading is the tagger's, taken only from a word of kana and one kanji. A place name is one ending in a place word from the lexicon (Street, St., Avenue, Station, Center), whatever the tagger reads it as. The same place written with other punctuation (King's Cross and Kings Cross) or with the place word short and long (11th Street and 11th St.) is reported; a place whose name is one letter away (Union Station and Unoin Station) only when the usual form is used at least twice and the other once. Other numbers and other names (1st Street and 2nd Street, North Hall and South Hall) are different places. Table cells are tagged cell by cell, and a cell holding only a name (two to four capitalised words, or two or three kanji or katakana words with a space) is compared with the names read in the prose. Reported are the same name with other punctuation or case, or one word different with the other words the same, either a letter away (Sofia Mendes in the text, Sofia Mendez in the table) or, for a Japanese name, read the same as the prose name (佐々木 美穂 and 佐々木 美保); these only when the prose form is used at least twice and the cell form once. Place names inside table cells are compared too. A word next to a name that the tagger did not read as a name (to Rachel Whitford, with Rachel read as a verb) is read with it when the two together are read as a name elsewhere. Two names with the same given name and a surname of seven letters or more, whose first four letters match and which differ in at most two letters between the shared start and end (three in the longer one), are reported when the usual form is used at least twice and the other once (Rachel Whitford and Rachel Whitfield). A different given name (Daniel Whitfield) or a surname alone is not compared this way. A name with its words in another order (Foundations of Statistics and Statistical Foundations) is reported only when both hold the same words (by stem) and neither contains the other, and one of them is written as a name, in quotation marks, after a label such as "Prerequisite" and a colon, or as a whole table cell. Two Title Case runs alone are not compared (Florida Supreme Court and Supreme Court of Florida), nor are two names joined by "and". In Japanese, a product name is four or more katakana right before a product-form word from the lexicon (錠, カプセル, クリーム), whatever the tagger reads it as, counted in headings and table cells as well. Two such names with the same form word, differing by one replaced kana or one long-vowel mark (ミナモール錠 and ミナモル錠), are reported when the usual form is used at least twice and the other once. The same name with another form word (ミナモール錠 and ミナモール顆粒) is not, as a product line often has both. In a Japanese name, a character for the same sound (桜ヶ丘 and 桜ケ丘, 霞ヶ関 and 霞が関) is the same only between two kanji, in a name the tagger reads as one word (not 桜が丘, read as 桜, が, 丘). A name without it (桜丘) or with other kanji (桜ヶ岡) is another name. This difference alone is also looked for in the names inside table cells. A model number (four or more capitals and digits, as one word) is read as the document's model only when it is in the title or after a model label from the lexicon (Model, Model No., Part No.); when it appears twice or more, a form that changes only hyphens, spaces, case or width (KM-SP300 and KM-SP-300, KMSP300, km-sp300) is reported. Codes with other letters or digits (KM-SP300 and KM-SP310, a sibling model in a comparison table, the part numbers of a parts list) are different models and are not compared. A word with small letters (iOS17), a version (v1.2 and v1.20), and a code inside a longer code, a URL, a path or a file name (KM-SP300-B, km-sp300.pdf) are not read as model numbers. A standard number written with spaces (JIS C 8714) is not one word, so it is not read as a model even in the title or after a label. Two forms written once each are compared when exactly one of them is in a field that names a person (a label from the lexicon person-label and a colon, with the name ending the line, as in "Contractor:" followed by Priya Raman); the field's form is taken as the usual one and the other is held to the same rules (Priya Raman and Priya Rahman). Two forms both in such fields, or neither, are not compared. Read differently, two full names (surname and given name) are still reported when they differ by one character and the two characters are a lookalike pair from the lexicon name-lookalike-char (太 and 大, 未 and 末), with the usual form used at least twice and the other once (山本 健太 and 山本 健大); a given name alone is not compared this way, as siblings can have such names.
|
|
103
|
+
ja: 品詞解析が固有名詞と読んだ語だけを見ます。大文字だけの名前(ACME INC、NASA)は見ません。一字違いの英字の名前は、6 字以上で、多いほうが二度以上、少ないほうが一度だけのときに限ります(Iran と Iraq は別の名前)。人の名前どうしは、字体の違う同じ字(斎藤 と 斉藤、渡辺 と 渡邊)か、読みが同じで一字だけ違い、多いほうが二度以上、少ないほうが一度だけのとき(松本 と 松元)に限ります(伊藤 と 伊東 は別の人のことがある)。解析器が読みを持たない名前の字(健汰 の 汰)は、語彙表 name-char-reading の読みで読みます(健太 と 健汰。表の升の名前も同じ)。人の名前とは、品詞解析が人名と読んだ語か、「様」「さん」「氏」の付いた名前です(解析器が名前と読めない字体の字を含む名前は、敬称の前の 2〜4 字の漢字を名前と読みます)。敬称は名前とのあいだの空白を越えて見ます。品詞解析が名と読まない語も、姓のあとに空白を挟んで書き、敬称が付けば名と読みます(森下 千尋 様)。姓の後ろに空白を挟んでかなで書いた名も、敬称か肩書きが付くか、人を書く欄の行の終わりにあれば、姓とつないで一つの名前と読みます(松本 あかり 様)。敬称の無い名前も、前後に漢字が続かない 2〜4 字の漢字で、片方の書き方に「担当の」「私、」などの前置きか敬称が付き、もう片方が「です」「が」「までご連絡」などの前にあれば比べます(担当の斎藤です と 斉藤までご連絡ください)。地名にも同じ組がある(鹿島 と 鹿嶋)ので、どちらにも前置きも敬称も無いときは比べません。会社の名前は、語彙表の会社の種類の語(株式会社、(株)、有限会社)の隣にあるものを、品詞と関係なく比べます。名前が同じで種類の語が違うもの(株式会社 と 有限会社)、種類の語を名前の反対側に置いたもの(株式会社アオバ と アオバ株式会社)、記号・幅だけが違うものを指します。同じ種類の語の略した形(株式会社 と (株))、種類の語を省いた呼び名(アオバシステム、以下「アオバ」)は指しません。名前の一字違いは、7 字以上の名前で、違う字が漢字でないときに限ります(日本電気 と 日本電機 は別の会社のことがある)。漢字を含む名前は、7 字に満たなくても、4 字以上のかなの語の中のかな一字違いを、多いほうが二度以上、少ないほうが一度だけのときに指します(コモレビ電機 と コモレピ電機)。名前の漢字一字を、品詞解析が言うその読みのかなで書いた所(みどり野生命 と みどりの生命)も、多いほうが二度以上、かなのほうが一度だけのときに指します。読みは、かなと漢字一字の語からだけ取ります。名前の頭でない字は、頭の音を濁らせた読みで書いたもの(こむぎ畑 と こむぎばたけ)も同じに指します。漢字だけの名前は、品詞解析が固有名詞と読んだときだけ会社の名前と見ます(清算株式会社、当該株式会社)。場所の名前は、語彙表の場所の語(口、駅、センター、ホール)で終わる名前を、品詞と関係なく比べます。記号・幅だけが違うもの(コンベンションセンター と コンベンション・センター)を指し、名前の読みが同じかかなで書いた読みのもの(筑紫口 と ちくし口)と、固有名詞の字の一字違い(八重洲中央口 と 八重州中央口)は、多いほうが二度以上、少ないほうが一度だけのときに限ります。方角や数字の違い(北口 と 南口、第1会議室 と 第2会議室)は別の所なので指しません。表の升は升ごとに品詞解析し、名前の形をした升(空白を挟んだ二つか三つの漢字・カタカナの語)を本文の名前と比べます。記号・幅だけの違い(佐々木 美穂 と 佐々木 美穂)と、本文と同じく読みが同じで一語だけ違うもの(佐々木 美穂 と 佐々木 美保)を指し、後者は本文の形が二度以上、升の形が一度だけのときに限ります。読みの違う一字違い(佐藤 太郎 と 佐藤 次郎)は別の人のことが多いので指しません(英字の名前は一字違いも指します)。場所の名前は表の升の中のものも比べます。英字の人の名前は、名が同じで、7 字以上の姓の頭 4 字以上がそろい、あいだの 2 字(長いほうは 3 字)までだけ違うもの(Rachel Whitford と Rachel Whitfield)も、多いほうが二度以上、少ないほうが一度だけのときに指します。語の順を入れ替えた名前(統計学基礎 と 基礎統計学)は、同じ語(形態素)を違う順に並べ、どちらも他方を含まず、どちらかが括弧の中か「前提科目:」のような欄の後ろか表の升まるごとに書いた名前のときだけ指します(統計学基礎 と 統計学応用 は別の名前)。製品の名前は、語彙表の製品の形の語(錠、カプセル、クリーム)のすぐ前の 4 字以上のカタカナを、品詞と関係なく比べます(見出しと表の升の中のものも数えます)。形の語が同じで、名前が一字の置き換えか長音の記号一つの有る無しだけ違い(ミナモール錠 と ミナモル錠)、多いほうが二度以上、少ないほうが一度だけのときに指します。名前が同じで形の語だけが違うもの(ミナモール錠 と ミナモール顆粒)は、同じ製品の別の形のことが多いので指しません。一語の名前の中で同じ音を書く字(桜ヶ丘・桜ケ丘、霞ヶ関・霞が関)は、漢字に挟まれたときだけ同じ字と見ます。品詞解析が一語と読まない書き方(桜・が・丘)は見ません。字を抜いた形(桜丘)や、違う漢字の名前(桜ヶ岡)は別の名前です。この違いだけは、表の升の中の名前とも比べます。型番(英大文字と数字を合わせた 4 字以上の語)は、文書の題か、語彙表の型番の欄の語(型番、品番、型式)の後ろに書いたものだけを文書の型番と読み、文書の中に二度以上出てくるとき、ハイフン・空白・字の大小・幅だけを変えた形(KM-SP300 と KM-SP-300、KMSP300、km-sp300)を指します。字や数の違う型番(KM-SP300 と KM-SP310、比べる表の兄弟機種、部品表の品番)は別の型番なので指しません。英小文字を含む語(iOS17)、版(v1.2 と v1.20)、より長い型番・URL・パス・ファイル名の一部(KM-SP300-B、km-sp300.pdf)は型番と読みません。空白で区切って書く規格の番号(JIS C 8714)は一つの語でないので、題や欄に書いても型番と読みません。一度ずつ書いた二つの形は、片方だけが人を書く欄(語彙表 person-label の語と「:」の後ろで、名前で行が終わるもの。氏名:山下 美咲)にあれば、欄の形を正しい形と見て、もう片方を同じ決まりで比べます(山下 美咲 と 山下 未咲)。どちらも欄にあるか、どちらも欄に無ければ比べません。欄に書いた名と同じ名を空白の後ろに書いたもの(受託者:西村 亮 の文書の 西邑 亮が)は、敬称が無くても人の名前と読みます。読みの違う一字違いでも、姓と名のそろった名前で、違う二字が語彙表 name-lookalike-char の形の似た字の組(太 と 大、未 と 末)なら、多いほうが二度以上、少ないほうが一度だけのときに指します(山本 健太 と 山本 健大。名だけの名前は兄弟のことがあるので比べません)。英字の名前で、ほかの語が同じ二語以上の名前の一語が、終わりの一字の抜けか足しだけ違うもの(Rachel Whitmore と Rachel Whitmor)も、多いほうが二度以上か人を書く欄にあり、少ないほうが一度だけのときに指します。違うのが最後の語(姓)なら、前の語がどれも、文書の中で小文字でも普通名詞としても書かない語のときに限り(Hurricane Hanna と Hurricane Hannah は別の嵐)、4 字の姓の一字違いも指します(Daniel Reyes と Daniel Reys。Reyes と Reyna は別の姓)。最後でない語は、8 字以上で、名前の最後の語がふつうの語のときに限ります(Hollybrook Residences と Hollybrooke Residences。人の名の Christian と Christiane は別の人)。足した字が s(複数)か母音の後ろの n(Korea と Korean)のもの、違う語のどちらかがふつうの語のもの(Green と Greene)は指しません。会社の名前は、形の語も側も同じで、一語だけが、8 字以上の語の終わりの 2 字まで違うもの(Brightmoor と Brightmore)か、最後の語の単数と複数(Water Utility と Water Utilities)も、多いほうが二度以上、少ないほうが一度だけのときに指します。
|
|
104
|
+
en: Only words the tagger reads as proper nouns are checked. Names in capitals only (ACME INC, NASA) are left out. Names one letter apart are reported only when six letters or longer, with the usual form used at least twice and the other once (Iran and Iraq are different names). Two Japanese person names are compared only when written with another form of the same character (斎藤 and 斉藤), or read the same with one character different, the usual form used at least twice and the other once (松本 and 松元); 伊藤 and 伊東 can be two people. A name character the tagger has no reading for (汰 in 健汰) is read with its reading from the lexicon name-char-reading (健太 and 健汰), in table cells as well. A person's name is one the tagger reads as such, or one followed by 様, さん or 氏 (when a name holds a character form the tagger cannot read, the two to four kanji before the honorific are taken as the name). The honorific may follow the name after a space. A word the tagger does not read as a given name is taken as one when it follows a surname after a space and carries an honorific (森下 千尋 様). A given name written in kana after a surname and a space is joined with the surname when an honorific or a title follows it, or when it ends a line in a field that names a person (松本 あかり 様). A name without an honorific is compared too when it is two to four kanji standing alone, one form has a lead such as 担当の or 私、 or an honorific, and the other stands before a word such as です, が or までご連絡 (担当の斎藤です and 斉藤までご連絡ください). Places have such pairs as well (鹿島 and 鹿嶋), so two forms with neither a lead nor an honorific are not compared. A company name is one next to a company form from the lexicon (Inc., Ltd., Co., Ltd., LLC), whatever the tagger reads it as. The same name with forms of two kinds (Inc. and Ltd.), and the same name written with other punctuation or width, are reported. The short and long spelling of one form (Inc and Incorporated) and a name written without its form (Aoba Systems, the "Company") are not. Two names one letter apart are reported only when seven letters or longer, with the same form, and the letter is not a kanji. A name holding kanji is compared when shorter too, for one kana apart inside a kana word of four or more (コモレビ電機 and コモレピ電機), with the usual form used at least twice and the other once. One kanji of a name written in its kana reading (みどり野生命 and みどりの生命) is reported the same way; the reading is the tagger's, taken only from a word of kana and one kanji. A kanji that does not start the name is also matched with its reading voiced at the start (こむぎ畑 and こむぎばたけ). A place name is one ending in a place word from the lexicon (Street, St., Avenue, Station, Center), whatever the tagger reads it as. The same place written with other punctuation (King's Cross and Kings Cross) or with the place word short and long (11th Street and 11th St.) is reported; a place whose name is one letter away (Union Station and Unoin Station) only when the usual form is used at least twice and the other once. Other numbers and other names (1st Street and 2nd Street, North Hall and South Hall) are different places. Table cells are tagged cell by cell, and a cell holding only a name (two to four capitalised words, or two or three kanji or katakana words with a space) is compared with the names read in the prose. Reported are the same name with other punctuation or case, or one word different with the other words the same, either a letter away (Sofia Mendes in the text, Sofia Mendez in the table) or, for a Japanese name, read the same as the prose name (佐々木 美穂 and 佐々木 美保); these only when the prose form is used at least twice and the cell form once. Place names inside table cells are compared too. A word next to a name that the tagger did not read as a name (to Rachel Whitford, with Rachel read as a verb) is read with it when the two together are read as a name elsewhere. Two names with the same given name and a surname of seven letters or more, whose first four letters match and which differ in at most two letters between the shared start and end (three in the longer one), are reported when the usual form is used at least twice and the other once (Rachel Whitford and Rachel Whitfield). A different given name (Daniel Whitfield) or a surname alone is not compared this way. A name with its words in another order (Foundations of Statistics and Statistical Foundations) is reported only when both hold the same words (by stem) and neither contains the other, and one of them is written as a name, in quotation marks, after a label such as "Prerequisite" and a colon, or as a whole table cell. Two Title Case runs alone are not compared (Florida Supreme Court and Supreme Court of Florida), nor are two names joined by "and". In Japanese, a product name is four or more katakana right before a product-form word from the lexicon (錠, カプセル, クリーム), whatever the tagger reads it as, counted in headings and table cells as well. Two such names with the same form word, differing by one replaced kana or one long-vowel mark (ミナモール錠 and ミナモル錠), are reported when the usual form is used at least twice and the other once. The same name with another form word (ミナモール錠 and ミナモール顆粒) is not, as a product line often has both. In a Japanese name, a character for the same sound (桜ヶ丘 and 桜ケ丘, 霞ヶ関 and 霞が関) is the same only between two kanji, in a name the tagger reads as one word (not 桜が丘, read as 桜, が, 丘). A name without it (桜丘) or with other kanji (桜ヶ岡) is another name. This difference alone is also looked for in the names inside table cells. A model number (four or more capitals and digits, as one word) is read as the document's model only when it is in the title or after a model label from the lexicon (Model, Model No., Part No.); when it appears twice or more, a form that changes only hyphens, spaces, case or width (KM-SP300 and KM-SP-300, KMSP300, km-sp300) is reported. Codes with other letters or digits (KM-SP300 and KM-SP310, a sibling model in a comparison table, the part numbers of a parts list) are different models and are not compared. A word with small letters (iOS17), a version (v1.2 and v1.20), and a code inside a longer code, a URL, a path or a file name (KM-SP300-B, km-sp300.pdf) are not read as model numbers. A standard number written with spaces (JIS C 8714) is not one word, so it is not read as a model even in the title or after a label. Two forms written once each are compared when exactly one of them is in a field that names a person (a label from the lexicon person-label and a colon, with the name ending the line, as in "Contractor:" followed by Priya Raman); the field's form is taken as the usual one and the other is held to the same rules (Priya Raman and Priya Rahman). Two forms both in such fields, or neither, are not compared. Read differently, two full names (surname and given name) are still reported when they differ by one character and the two characters are a lookalike pair from the lexicon name-lookalike-char (太 and 大, 未 and 末), with the usual form used at least twice and the other once (山本 健太 and 山本 健大); a given name alone is not compared this way, as siblings can have such names. In a Latin-script name of two or more words with the other words the same, one word with its last letter dropped or added (Rachel Whitmore and Rachel Whitmor) is reported when the usual form is used at least twice, or is in a field that names the person, and the other once. When that word is the last one (the surname), only if no word before it is written in lower case, or read as a common noun, anywhere in the document (Hurricane Hanna and Hurricane Hannah are two storms); a surname of four letters is then also compared for one letter apart (Daniel Reyes and Daniel Reys; Reyes and Reyna are different surnames). Another word is compared only when eight letters or longer and the name ends in an ordinary word (Hollybrook Residences and Hollybrooke Residences; the given names Christian and Christiane belong to different people). An added s (a plural) or an n after a vowel (Korea and Korean), and a pair where either word is an ordinary word (Green and Greene), are not reported. Two company names with the same form on the same side, differing in one word only, by at most its last two letters in a word of eight or more (Brightmoor and Brightmore) or as the singular and plural of the last word (Water Utility and Water Utilities), are reported when the usual form is used at least twice and the other once.
|
|
102
105
|
rewrite:
|
|
103
106
|
depth: light
|
|
104
107
|
ja:
|
package/rules/no-lead.yaml
CHANGED
|
@@ -57,8 +57,8 @@ example:
|
|
|
57
57
|
From next month every store counts its stock on one screen, and a stocktake takes half a day.
|
|
58
58
|
|
|
59
59
|
not_flagged:
|
|
60
|
-
ja: 題の文字の並びの半分以上を繰り返していない段落(日付、書き手の名前、別の話題で始まるリード)は言いません。題のすぐ下が箇条書き・表・画像なら、リードが無いものとして見ません。題(最初の #
|
|
61
|
-
en: A paragraph that repeats less than half of the title's character sequence (a date, a byline, a lead on another point) is not reported. When a list, a table or an image comes right under the title, there is no lead to check. Only the title (the first top-level heading) is checked. Legal, literary and speech genres do not run this rule.
|
|
60
|
+
ja: 題の文字の並びの半分以上を繰り返していない段落(日付、書き手の名前、別の話題で始まるリード)は言いません。題のすぐ下が箇条書き・表・画像なら、リードが無いものとして見ません。題(最初の # 見出し)だけを見ます。法務・文学・話し言葉のジャンルでは見ません。題のすぐ下が項目と値の行(請求番号:INV-1)や名前だけの行(レターヘッド)なら、書式の頭で、リードではないので見ません。
|
|
61
|
+
en: A paragraph that repeats less than half of the title's character sequence (a date, a byline, a lead on another point) is not reported. When a list, a table or an image comes right under the title, there is no lead to check. Only the title (the first top-level heading) is checked. Legal, literary and speech genres do not run this rule. When the lines right under the title are fields (an invoice number and its value) or a name alone (a letterhead), the document is a form and has no lead to check.
|
|
62
62
|
level_meaning:
|
|
63
63
|
ja: 題に無い内容語が {limit} 個より少ないとき指摘
|
|
64
64
|
en: reported when the lead adds fewer than {limit} content words the title does not have
|