Skip to content
CDGet
  • Home
  • Projects
  1. Home
  2. All projects
  3. Chki18n

Chki18n

Utility

A command-line tool that checks translation files against i18n conventions. It reports missing keys, duplicated values and other common mistakes, and runs in CI as readily as on a laptop.

Documentation (opens in a new tab)Source code (opens in a new tab)

About this project

Chki18n is a command-line tool that checks translation files against the conventions an internationalised project depends on. It reads the locale files a project already has and reports what is wrong with them, which is a check that otherwise happens only when a missing string reaches a screen.

It reports as errors what will break the interface: a file that cannot be parsed, a key present in one language and missing in another, and an interpolation placeholder that does not match the primary locale. It reports as warnings what will merely embarrass — an empty value, two keys carrying the same text, a value identical to the source language and therefore untranslated, and a key no other language still uses.

It runs as a command, in a CI job or from Node, ships as a modern ESM package with TypeScript declarations, and reads JSON translation files today. It checks and does not translate: nothing in a file is rewritten by running it.

Features

  • TypeScript types

  • Verified by tests

  • Command-line interface

Project information

Started
2026
License
MIT (opens in a new tab)
Programming languages
JavaScript
Tags
i18ntranslationclivalidationcontinuous-integration
Packages
chki18n (opens in a new tab)npm
Popularity
4
GitHub stars
37
npm downloads
Chki18n — npm downloads, Last 30 days
npm downloads
Jul 310
Aug 10
Aug 20
Aug 31
Aug 40
Aug 50
Aug 60
Aug 717
Aug 80
Aug 90
Aug 100
Aug 110
Aug 128
Aug 130
Aug 140
Aug 150
Aug 160
Aug 170
Aug 183
Aug 191
Aug 202
Aug 210
Aug 220
Aug 230
Aug 240
Aug 250
Aug 260
Aug 273
Aug 280
Aug 292
Last 30 days
ContactDonate
The projects listed here are open source under the MIT License.© 2026 CDGet. All rights reserved.