Translation Token Audit checks tokens in translated notes

Check translated lines for token and order errors.

MIT · no telemetry · core features free

The report shows a renamed token and a missing repeated token.
Open larger
version
1.1.0
released
downloads
19
review
Passed
health
Excellent
license
MIT
listed for
Desktop, Mobile
obsidian
1.13.4 or later

The README reports app tests on macOS with simulated sponsorship replies. Physical Android and iOS devices, Linux, live GitHub sign in and real payments were not tested.

Directory facts fetched from community.obsidian.md/users/theluckystrike.

About Translation Token Audit

You review translated software strings in Markdown notes before copying them into an application.

Translation Token Audit compares tokens in two local Markdown notes. Keep one translation unit per physical line, with matching line positions in the source and target. The report shows missing tokens, added tokens and unnumbered printf order differences.

Select a result to open its target line for editing. The check itself leaves your notes unchanged, and a pass says nothing about translation quality.

Free features

Choose source and target notes

Run Check translated line pairs and choose the source and target Markdown notes. Select Core, then Check tokens. The plugin saves the selected paths after the check.

The check dialog shows source and target paths with the core grammar selected.
Open larger

Read named braces and printf tokens

Core accepts {name}, {{name}}, %s, %d, numbered %1$s and %2$d, and named string forms such as %(detail)s. Token names keep their case, and %% is an escape. The grammar covers these forms rather than full printf syntax.

Named braces, double braces and numbered printf tokens pass the comparison.
Open larger

Compare counts and order

Missing and added tokens include counts; a token with a changed name appears in both lists. Named and numbered tokens can move within a unit. Unnumbered printf tokens must keep their type sequence.

Review results and open target lines

Each row reports passed, mismatch or unsupported syntax with its physical line number. Open target line closes the report and moves the cursor to that line in Source mode. Rerun the check after an edit before using an older result.

ICU and Apple token forms give an unsupported result.
Open larger

Pro features

Pro costs $5 a month or $15 one time through GitHub Sponsors. One sponsorship turns on Pro in every plugin that has it.

Declared folder pairs Pro

Declare one source.md | target.md pair per line using full vault paths. Both notes must belong to the chosen folder or its subfolders. Invalid declarations stop the run, and missing notes produce pair errors.

The folder dialog lists two declared source and target note pairs.
Open larger

Dollar-brace grammar Pro

Select Core plus dollar braces to compare ${name} tokens with the core grammar. Dollar braces and ordinary braces stay separate. This grammar adds no ICU syntax or printf conversions.

The Pro grammar compares tokens that have dollar braces.
Open larger

Set up Translation Token Audit

needs

  • Obsidian 1.13.4 or later

steps

  1. Create two plain Markdown notes with corresponding translation units on matching physical lines.

  2. Run Check translated line pairs and choose the source and target notes.

  3. Select Core, then Check tokens.

  4. Review mismatch and unsupported rows, then select Open target line for a result.

  5. Edit the target text yourself and rerun the check.

If the app can't find a new plugin yet, try again later. Obsidian says a plugin that passes the review shows in the app within 24 hours.

How to check translation tokens in Obsidian

Known limits of Translation Token Audit

  • Notes need corresponding translation units on matching physical lines; different line counts stop comparison.
  • The check reads raw Markdown, including headings and frontmatter, and does not extract strings from application catalogs.
  • The grammar excludes ICU messages, Apple formats, numeric braces, printf widths and unsupported conversion types.
  • User-defined grammars and arbitrary regular expressions are not included; dollar-brace grammar requires Pro.
  • Reports stay in memory, and edits do not start another check; rerun the check before using an older target-line result.
  • A passed line confirms supported tokens rather than translation meaning or application rendering.
  • Physical Android and iOS devices, Linux, live GitHub sign in, real payments and concurrent edits during a check were not tested.

Need a change for your team? I build custom Obsidian plugins and features.

Questions about Translation Token Audit

What happens when the notes have different line counts?

The report gives both counts and compares no units. Correct the line alignment before running the check again.

Can it read my JSON translation catalog?

It reads raw Markdown note text, including headings and frontmatter. It does not extract strings from JSON, YAML or application catalogs.

Does a pass mean the translation is ready to ship?

A pass means the supported token forms, counts and unnumbered order match. You still need to review meaning and application behavior.

Can I define my own token grammar?

User-defined grammars and arbitrary regular expressions are not included. Core plus dollar braces requires Pro; unsupported syntax needs separate review.

Network use

Before you sign in, the plugin makes no network requests. Sign in sends a public client ID and read:user scope to github.com, then polls that host for an access token. Afterward, it sends the token and sponsorship queries to api.github.com; those requests include no note text, file names or vault data.

Read the full network disclosure

Questions or ideas?

Tell me what is broken in Translation Token Audit, or what it should do next.

Send feedback

Translation Token Audit 1.1.0, MIT license

MIT · no telemetry · core features free