When the game starts, NPC Helper 2 compares each NPC's own texts with every translation folder it finds for that NPC. It checks every language that has files, not only the language the game is set to, so you see a problem before you switch language. It checks one NPC at a time, so a pack with several NPCs gets a separate verdict for each. The result goes into the NPC Helper 2 summary in the SMAPI console and log. Where the translation comes from is explained in Localization; to make one, see Translate your own NPC or Make a translation pack.
For each language it compares the folders the game would really read: a language folder and its regional folder together (es and es-ES), and a separate pack in place of an embedded folder of the same name.
What is compared#
| Text | Matched by |
|---|---|
Dialogue (Dialogue.toml, [Dialogue] in Rei.toml) |
the dialogue key, such as Mon2 |
Engagement and spouse dialogue (Marriage.toml) |
the key in [Engagement] and [Dialogue] |
Heart events (Events.toml) |
the event name, and the number of lines in Texts |
Festival lines (Festivals.toml) |
the festival ID, such as spring13 |
The display name, gift tastes, schedules and wedding vows are not compared. A kind of text is only checked when the translation has at least one entry of that kind. A translation without a Marriage.toml is not told that marriage lines are missing, because a translator may leave them out on purpose.
What it reports#
There are three results, from mild to strong.
1. Extra lines only: a note. The translation has lines that the NPC does not have, and nothing is missing. This is a plain note, because a translator may add lines on purpose (a few extra greetings, for example). The lines are used as written.
Translation 'th' for NPC 'Rei' has 2 extra entries the NPC does not have (2 extra dialogue key(s) the NPC does not have: 'Extra1', 'Extra2'). They are used as written.
2. Missing lines: INCOMPLETE TRANSLATION, a warning. The NPC has lines the translation does not. The log counts what is missing and what is extra, and lists the first few keys. The missing lines stay in the NPC's original language.
INCOMPLETE TRANSLATION: 'th' for NPC 'Rei' from mod 'Rei-Thai-Translation' (3 missing, 1 extra): 3 dialogue entries of the NPC have no translation: 'Beach6', 'fall_Tue', 'Fri10'; 1 extra dialogue key(s) the NPC does not have: 'Old1'. The missing lines stay in the base language.
A warning is used because a missing line is a visible gap for the player (a sentence in the wrong language in the middle of a conversation), and the coloured warning is easy to find in the log. It does not stop the NPC from loading.
3. Too old or too different: OUTDATED TRANSLATION, a warning. The same missing lines, but one of two things is true, so the cause is probably not a few skipped lines but a version mismatch:
- the translation's oldest file is more than 60 days older than the newest
.tomlfile in the NPC's folder, or - many lines are missing: 10 or more, or 5 or more that make up at least a quarter of everything the NPC has to translate.
OUTDATED TRANSLATION: 'ru' for NPC 'Rei' copied by hand into mod '[HP] ReiMod' (legacy) does not match the NPC's texts (24 missing, 6 extra): 24 dialogue entries of the NPC have no translation: 'ArchaeologyHouse_Mon', 'ArchaeologyHouse_Tue', 'Beach6', 'fall_Tue', 'Fri10' and 19 more; 6 extra dialogue key(s) the NPC does not have: '10', '2', '4', '6', '8' and 1 more. Either the translation or the NPC mod is an old version. Update both to matching versions: until then some lines are missing or stay in the base language, and the story can read wrongly. The translation's oldest file is 279 day(s) older than the NPC mod's newest file (2026-11-01 against 2026-01-26), so the translation is the one behind.
The reasons for the thresholds:
- 60 days, oldest against newest. A translation is only as current as its oldest file, and an NPC mod is only as old as its newest. If the NPC changed two months after the translation was written, the NPC very probably gained or renamed lines. Two months leaves room for translators who are a little slow without calling every update outdated.
- Many missing lines. With that many gaps a few skipped lines are unlikely. The translation was written for another version of the NPC. A quarter of everything is used so a small NPC with 5 gaps counts as outdated, while a large NPC with 5 gaps is only incomplete.
- Age alone never triggers a warning. A translation that matches the NPC completely is never reported, however old its files are. The age only decides between
INCOMPLETEandOUTDATEDwhen there is something missing.
The last sentence says which side is behind. If the translation's files are newer than the NPC mod's, it reads The NPC mod's newest file is N day(s) older than the translation's oldest file ... so the NPC mod is the one behind. That usually means you have an older version of the NPC mod than the translator had.
The dates are the files' last-modified dates. Mod managers that link files (such as Vortex) are followed to the real file. Extracting an archive may set every file to the extraction time, so treat the number of days as a clue and not as a measurement.
Where the results appear#
- At startup, warnings are in the
Problemspart of the NPC Helper 2 summary and notes are inNotes. This includes the list of languages:
Notes:
NPC 'Rei' has translations: es-ES (embed), ru (legacy), th (Rei-Thai-Translation).
The list shows only that a language has files and where it comes from: embed for a folder shipped with the NPC mod, legacy for a hand-copied folder in it, or the name of the translation pack. It says nothing about whether the translation is complete. The checks above do that.
- When you change the game's language, NPC Helper 2 rebuilds the NPCs and logs what it found as one entry for that language, grouped by NPC in name order. It logs nothing if there is nothing to say. The startup checks are not repeated.
Language 'th': 0 error(s), 0 warning(s).
Rei:
NOTE [My NPC Mod] Rei.toml: NPC 'Rei': Translation 'th' for NPC 'Rei' found in mod 'Rei-Thai-Translation'.
- An empty language folder in the NPC mod (for example a placeholder
locale/th/) is reported as translating nothing, unless another mod provides that language for the same NPC.
How to fix a warning#
- Players: update the translation and the NPC mod to versions made for each other. Check both mod pages for a new version. Nothing breaks while you wait: the missing lines show in the NPC's original language.
- Translators: open the NPC mod's files, compare the keys the log lists, and add the missing lines. Delete lines the NPC no longer has, or keep them if they are on purpose (they only produce a note).
- NPC mod authors: if the log calls one of your own folders legacy, add
EmbedLocales. If it reports your embedded translation as outdated, update it or remove the folder.