pockingbird 0.1.1

Report-only CLI that finds duplicate translation keys across gettext .po catalogs
Documentation
# pockingbird — example configuration (mirrors the built-in defaults).
# Report-only: pockingbird never edits .po files and always exits 0.

[scan]
# Glob patterns for catalogs, and directories pruned during the walk.
po_patterns = ["**/*.po"]
ignore_dirs = ["vendor", "node_modules", ".git"]
roots = ["."]

[locales]
# Locales to drop from the matrix entirely (by locale id).
exclude = ["ch_CH"]

[match]
# Match tiers, run independently: exact (trim), normalized, fuzzy (edit distance).
tiers = ["exact"]
# Fuzzy clustering: Levenshtein radius and the min length to be eligible.
fuzzy_max_distance = 2
fuzzy_min_length = 5
# Empty cells: "own" treats Empty as a token; "skip" drops it from the signature.
empty_policy = "own"
# A key participates only with >= this many non-empty locales (the floor K).
min_locales_agree = 6

[match.normalize]
case_fold = true
collapse_whitespace = true
strip_trailing_punct = true

[output]
format = "text"