Skip to content

Commit e5f3f57

Browse files
authored
only show full details when using --verbose flag (#452)
1 parent 4b1a5c3 commit e5f3f57

3 files changed

Lines changed: 19 additions & 7 deletions

File tree

‎PythonScripts/audit_translations/README.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ uv run python -m audit_translations --list
6767
* `--format`: Output format (`rich`, `jsonl`). `--output` is honored only for `jsonl`; rich output always prints to the console.
6868
* `--rules-dir`: Override the Rules/Languages directory path.
6969
* `--only`: Filter issue types (comma-separated): `missing`, `untranslated`, `extra`, `diffs`, `all`.
70+
* `--verbose`: Show detailed output including English/translated snippets for rule differences (only affects rich format; default shows summary only).
7071
* **Summary Stats:** Provides a statistical summary after every run.
7172

7273
**Examples:**
@@ -89,4 +90,7 @@ uv run python -m audit_translations es --format jsonl --output es-issues.jsonl
8990
9091
# Audit a regional variant (merges Rules/Languages/de and Rules/Languages/de/CH)
9192
uv run python -m audit_translations de-CH
93+
94+
# Show detailed output with English/translated snippets for rule differences
95+
uv run python -m audit_translations es --verbose
9296
```

‎PythonScripts/audit_translations/auditor.py‎

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,16 +161,17 @@ def print_rule_item(rule: RuleInfo, context: str = ""):
161161
console.print(f" [dim]•[/] {rule_label(rule)} [dim](line {rule.line_number}{context})[/]")
162162

163163

164-
def print_diff_item(diff: RuleDifference):
164+
def print_diff_item(diff: RuleDifference, verbose: bool = False):
165165
"""Print a single rule difference"""
166166
rule = diff.english_rule
167167
console.print(
168168
f" [dim]•[/] {rule_label(rule)} "
169169
f"[dim](line {rule.line_number} en, {diff.translated_rule.line_number} tr)[/]"
170170
)
171-
console.print(f" [dim]{diff.description}:[/]")
172-
console.print(f" [green]en:[/] {escape(diff.english_snippet)}")
173-
console.print(f" [red]tr:[/] {escape(diff.translated_snippet)}")
171+
console.print(f" [dim]{diff.description}[/]")
172+
if verbose:
173+
console.print(f" [green]en:[/] {escape(diff.english_snippet)}")
174+
console.print(f" [red]tr:[/] {escape(diff.translated_snippet)}")
174175

175176

176177
def issue_base(rule: RuleInfo, file_name: str, language: str) -> dict:
@@ -259,7 +260,7 @@ def write(self, issue: dict) -> None:
259260
self.stream.write(json.dumps(issue, ensure_ascii=False) + "\n")
260261

261262

262-
def print_warnings(result: ComparisonResult, file_name: str) -> int:
263+
def print_warnings(result: ComparisonResult, file_name: str, verbose: bool = False) -> int:
263264
"""Print warnings to console. Returns count of issues found."""
264265
issues = 0
265266

@@ -296,7 +297,7 @@ def print_warnings(result: ComparisonResult, file_name: str) -> int:
296297
f"[[magenta]{total_diffs}[/]] [dim](structural differences between en and translation)[/]"
297298
)
298299
for diff in result.rule_differences:
299-
print_diff_item(diff)
300+
print_diff_item(diff, verbose)
300301
issues += 1
301302

302303
if result.extra_rules:
@@ -315,6 +316,7 @@ def audit_language(
315316
output_path: Optional[str] = None,
316317
rules_dir: Optional[str] = None,
317318
issue_filter: Optional[set[str]] = None,
319+
verbose: bool = False,
318320
) -> int:
319321
"""Audit translations for a specific language. Returns total issue count."""
320322
rules_dir_path = get_rules_dir(rules_dir)
@@ -382,7 +384,7 @@ def audit_language(
382384
has_issues = result.missing_rules or result.untranslated_text or result.extra_rules or result.rule_differences
383385
if output_format == "rich":
384386
if has_issues:
385-
issues = print_warnings(result, file_name)
387+
issues = print_warnings(result, file_name, verbose)
386388
if issues > 0:
387389
files_with_issues += 1
388390
total_issues += issues

‎PythonScripts/audit_translations/cli.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ def main():
3939
"--only",
4040
help="Comma-separated issue types: missing, untranslated, extra, diffs, all",
4141
)
42+
parser.add_argument(
43+
"--verbose",
44+
action="store_true",
45+
help="Show detailed output including rule snippets (only affects rich format)",
46+
)
4247

4348
args = parser.parse_args()
4449

@@ -70,6 +75,7 @@ def main():
7075
args.output,
7176
args.rules_dir,
7277
issue_filter,
78+
args.verbose,
7379
)
7480

7581

0 commit comments

Comments
 (0)