Add a pack translation pipeline
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- tooling
Research direction
Read docs/adr/0008-language-policy.md and docs/spec/content-pack.md sections 2 and 4, then inspect prompts/templates/ and packages/cli/src/generate/. Map the existing prompt and generation flows before implementing translation and structural verification. Done means both translation flows are documented in docs/authoring/pipeline.md, the German demo pack passes lexvm check with unchanged walkthrough and explored-state count, and a changed rule is rejected.
Written by the indexing model from the issue text.
Description
Context
Games are translated as separate packs, not as multi-language packs (ADR 0008). Ids are language-neutral and walkthroughs use ids, so a translation can keep the logic and the walkthrough unchanged, and verification shows that the game itself was preserved.
Scope
- A
translateprompt template,lexvm prompt --stage translate --pack <dir> --lang <lang>for any LLM, and a translation mode oflexvm generatefor the API (--translate <dir>). - Only player-facing text is translated: titles, names, descriptions, dialogue, hints, endings, exit labels, pack verb labels,
{id|display text}forms. Synonyms are recreated idiomatically for the parser of the target language. Ids, rules, conditions, effects and the walkthrough stay the same. - A structural check that compares source and translation: identical ids, rule and effect structure, and walkthrough; only text fields may differ. A new diagnostic code for violations.
- Provenance:
generator.notesnames the source pack and version; a new pack id; the source license must allow derivatives, and attribution is kept. - The play-time estimate uses the reading speed of the target language.
Acceptance criteria
- Translating the demo pack to German yields a pack that passes
lexvm checkwith the same walkthrough and the same number of explored states. - The structural check rejects a translation that changes a rule.
- docs/authoring/pipeline.md documents both flows.
References
- docs/adr/0008-language-policy.md
- prompts/templates/
- packages/cli/src/generate/
- docs/spec/content-pack.md (sections 2 and 4)
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 28m
- Merged PRs (30d)
- 2
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nullthrone/lexvm
-
area: web good first issue priority: low type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
nullthrone/lexvm#49 ·
-
area: infra good first issue priority: low type: chore
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
nullthrone/lexvm#41 ·
-
area: engine good first issue priority: low type: feature
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
nullthrone/lexvm#27 ·
-
area: web priority: low type: research
Difficulty 5/5 Over a week Newbie friendliness 35/100
nullthrone/lexvm#63 ·
-
area: infra area: web priority: medium type: chore
Difficulty 5/5 Over a week Newbie friendliness 38/100
nullthrone/lexvm#62 ·
All issues in nullthrone/lexvm
Similar issues
-
[Bug]: REST API URL starting with "http" but no scheme (e.g. httpbin.org/get) is not given an http:// prefixPossibly taken @ItsDeadlyProgrammer claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
appsmithorg/appsmith#42471 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ehmpathy/rhachet-roles-bhrain#705 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Status: Triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
mermaid-js/mermaid#8546 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Maintainers usually reply within 1 day