Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Warn on unsupported pack languages and document how to add a game language

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
54/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript

Research direction

Start with packages/engine/src/messages/index.ts and packages/engine/src/analyze.ts to see how catalogs and analyzer warnings are handled; check packages/engine/src/playtime.ts for the default reading speed. Read CONTRIBUTING.md and the prompt kit to find where language guidance belongs, then use the existing analyzer tests as a starting point. Done means unsupported primary language tags warn, supported tags do not, and the guide lists the files a new language touches.

Written by the indexing model from the issue text.

Description

area: engine help wanted priority: medium type: feature

Context

The schema accepts any BCP 47 tag in language, but the engine has message catalogs and parser vocabularies only for German and English (packages/engine/src/messages). Any other language silently falls back to English engine messages and parser words, so a French pack would mix French story text with English system messages and an English parser. ADR 0008 and docs/architecture.md (section 9) describe a new game language as an additive change, and the v0.2 milestone includes more engine messages and languages.

Scope

  • Analyzer: a warning (for example language.unsupported) when the primary subtag of language has no catalog, naming the supported languages; listed in Appendix A.
  • A section "Adding a game language" in CONTRIBUTING.md: message catalog, parser vocabulary (verbs, directions, stop words, prepositions, particles, meta words), default reading speed for the play-time estimate, parser tests, and accepting the code in the docs.
  • A first additional language is tracked in its own issue once a native-speaking contributor volunteers.

Acceptance criteria

  • A pack with language: fr gets the warning; de, de-AT, en and en-GB do not.
  • The guide section exists and lists every file a new language touches.
  • The prompt kit tells LLMs which pack languages are supported.

References

  • packages/engine/src/messages/index.ts
  • packages/engine/src/analyze.ts
  • packages/engine/src/playtime.ts
  • docs/adr/0008-language-policy.md
  • docs/architecture.md (section 9)
  • CONTRIBUTING.md
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
28m
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nullthrone/lexvm

All issues in nullthrone/lexvm

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.