Command line utility to compile multiple catalogs from a single js-lingui messages.json file.

Usage no npm install needed!

<script type="module">
  import abhashmiLinguiMulti from 'https://cdn.skypack.dev/@abhashmi/lingui-multi';


Lingui Multi

This is a command line utility for generating multiple catalog files from a single (unified) messages JSON file using js-lingui cli api. Please ensure your application uses js-lingui before attempting to use this utility.


Add the following to your project's package.json file:

 "lingui-multi": {
    "sub_catalog_name": {
        "srcPathIgnorePatterns": [
    "sub_catalog_2_name": {
        "srcPathIgnorePatterns": [

Each sub-catalog will include all the i18n translations used in the source paths defined for lingui in the package.json file minus the ignore patterns defined either in the lingui configuration or the lingui-multi sub-catalog configuration.


You can run the utility by executing the command provided by the package like so:

lingui-multi <path-to-application-package.json> <path-to-locale-directory>

The utility will pick up lingui configuration and lingui-multi configuration from the package.json file and spit out catalog files in the locale directory with the format <sub_catalog>.messages.js for each sub-catalog.