Skip to content

L02 cannot tell a kept identifier from an untranslated word #49

Description

@tamnd

Narrowing the identifier rule in #47 put 6 558 human-written single-word entries into Corpus.prose() for the first time, and L02 went from 10 findings to 144 over 20 distinct msgids. Roughly two thirds of those are real and one third are the check being wrong.

Real, a reviewer left an English word in a Vietnamese catalog:

msgid Entries
module 41
object 36
type 12
Boolean 4
Lists 3

Not real, a reviewer correctly kept a Python identifier:

msgid Entries
sys 20
builtins 8
import 5
exec 3
NaN 1
Infinity 1

L02 asks whether the translation is the English verbatim, and for sys the answer is yes and it is the right answer. The classifier cannot help here, because that is exactly the discrimination #47 established it cannot make from the string alone: sys and Notes are the same shape.

The glossary already has the concept. G03 checks that a term marked kept stayed in English, so a kept entry for each of these is the statement that the corpus is missing, and L02 should not flag an entry whose whole msgid is a kept term. That turns 38 findings from noise into a checked claim, and it makes the disagreement visible: sys is hệ thống in 38 entries and sys in 20, so today the corpus says both.

Two parts:

  • Add the kept identifiers to the glossary. sys, builtins, import, exec, NaN, Infinity are the ones L02 has found so far, and the same sweep over single-word entries will find the rest.
  • Exempt an entry whose stripped msgid is a kept glossary term from L02, so a kept term is checked by G03 and by nothing else.

The 96 real ones are corpus work rather than tool work and are part of the tier the entry sits in.

Metadata

Metadata

Assignees

No one assigned

    Labels

    auditThe deterministic check cataloguebugSomething is wrong

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions