# SH2102: A screen's text is written in its code

Source: https://zafnok.github.io/shuyi-engine/learn/errors/sh2102/

Class: content, exit code 1.

`shuyi lint` ran `check-text` (`shuyi.ron`'s `check_text`) and found
text a screen shows written as a string literal in its code, with more
of them than `check_text.max_literals` allows; or a screen that reads a
data name's `name` field itself, which is English whatever the player's
language. Every literal is listed, since any of them may be the one to
move.

**How to fix it.** Put the text in the game's language file and ask for
it by key (`ctx.text("screen.thing")`). Show a data name through the
game's words helpers (`check_text.words_file`). A literal that isn't
player text is let through with a `// check-text: not player text`
comment that says why.

For example:

```text
crates/game/src/stage.rs:40: error[SH2102]: screen text written as a literal, "Your turn" (1 in crates/game/src, at most 0 allowed) — put the text in files/en.ron and ask for it with ctx.text
```
