Files

66 lines
2.5 KiB
Markdown

# Edit Suggestions in bilingual.dj
When the user asks to add edit suggestions directly into bilingual.dj, use this
two-tier approach.
## Two files
- `bilingual.dj` — clean: inline corrections applied, NO `{% %}` comment lines
- `commented.dj` — same content + `{% ... %}` comment lines interleaved
This lets the user diff them side by side.
## Inline corrections
Apply directly to the English text. These are fixes the reviewer is confident about:
- Typos, mechanical issues (Chinese punctuation in EN, double periods, stray `*`, unbalanced quotes)
- Grammar fixes (subject-verb agreement, missing articles)
- Wording improvements (clunky literal translations → idiomatic English)
Apply with `patch` (mode='replace'). Verify uniqueness before
replacing — many EN paragraphs are long single lines, so match a unique
substring. Never use regex-based string replacement in `execute_code`.
## `{% %}` comment lines
For translation decisions worth documenting but not "correct" per se:
```
CN paragraph
EN paragraph
{% reason for the choice, alternative renderings %}
(blank)
```
The comment goes AFTER the EN line (before the blank separator). One comment per
issue. Keep them terse.
What to comment on:
- Literal translation of idioms (`单线程` → "single-threaded")
- Translation choices that differ from literal meaning (`精神利益` → "nourishing the spirit")
- Standard Buddhist terminology (`正命` → "Right Livelihood")
- Glosses added/dropped (`道场` — "(Dojo)" parenthetical removed)
- Idiom translations (`甘之若饴` → "as sweet as syrup")
- Paired terms where one rendering influences the other (`魔性` → "demon-nature" to parallel "Buddha-nature")
- Scripture citations with Sanskrit titles (`普贤行愿品` → "Gaṇḍavyūha Sūtra")
What NOT to comment on:
- Obvious corrections (typos, grammar)
- Names, dates, simple connectives
- Standard renderings with no interesting choice
## Pitfalls
- **Never split a paragraph mid-sentence** with a `{% %}` comment. Comments go
AFTER the full EN paragraph, before the blank separator. If a string
replacement inserts `\n{% %}` in the middle of a paragraph, it breaks the
interleaved structure.
- **Check for merged comments**: after inserting, scan for `{% ... %} ` followed
by EN text on the same line. These must be split so the EN text continues on
the next line.
- **Collapse triple+ blank lines**: comment insertions can create extra blanks.
Run `re.sub(r'\n\n\n+', '\n\n', text)` after all insertions.