Proposal: Add an optional local structural validator for ISL translation files

26 views
Skip to first unread message

Filipe Mota (BlackSpirits)

unread,
Jul 12, 2026, 12:47:45 AM (5 days ago) Jul 12
to innosetup
Hello,

I would like to propose adding an optional standalone validation script for ISL
translation files.

This proposal does not require GitHub Actions and would not run automatically
on pull requests. The script would be executed locally and manually by
translators or maintainers before submitting translation updates.

It could compare a translation against:

Files/Default.isl

and detect deterministic structural problems such as:

- missing or unexpected message IDs;
- duplicate message IDs;
- mismatched placeholders such as %1, %2, [name], [name/ver], [mb], and [gb];
- invalid UTF-8 encoding or an unexpected UTF-8 BOM;
- incorrect line endings;
- translation version numbers higher than the version in Default.isl.

Messages that are empty in Default.isl could be omitted without being reported
as errors.

Differences in %n line-break counts should either be ignored or shown only as
optional warnings, because translations may legitimately use different line
breaks for layout reasons.

The validator would only check objective technical consistency. It would not
judge translation quality, terminology, grammar, or wording.

A local validator could help translators detect technical mistakes before
submitting files, without requiring any repository automation or external
services.

As examples, a structural comparison of the current files can detect issues
such as:

- a missing %1 placeholder in the Bulgarian AboutSetupMessage;
- missing [name] placeholders in the Norwegian FinishedRestartLabel and
  FinishedRestartMessage;
- the previously identified %1/%2 placeholder errors in the Hebrew
  ErrorProgress and ErrorFileSize messages.

Would a small optional local validation script be useful for the translation
workflow?

Greetings,
Filipe Mota

Martijn Laan - Inno Setup

unread,
Jul 13, 2026, 2:40:36 AM (4 days ago) Jul 13
to innosetup
Hi,

Thanks for the suggestion, but I don't really want to have to maintain another script.

The submission form does do a bit of this validation by the way.

Greetings,
Martijn

Op 12-7-2026 om 06:47 schreef Filipe Mota:
Filipe Mota --
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/innosetup/c9a8ed4b-9901-4736-a2f1-509a8c3dd8f0n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages