Skip to content

Latest commit

 

History

History
128 lines (91 loc) · 3.58 KB

README.md

File metadata and controls

128 lines (91 loc) · 3.58 KB

Release

Lokalise to defaultMessages

Utility to update defaultMessages in source code with values from translation json file. Can also check for duplicate keys and create a diff of keys from 2 different translations file.

Index

Installation

# Using npm, installing to local project
npm i --save lokalise-to-default-messages

# Using npm, installing globally for global cli usage
npm i -g lokalise-to-default-messages

# Using yarn
yarn add lokalise-to-default-messages

# Using pnpm
pnpm install lokalise-to-default-messages

Prerequisites

the translation files must consist of just key, value pairs:

{
  "example_translation_key": "Example",
  "exmaple_translation_key_two": "Exmaple 2"
}

the source code defaultMessages should have this structure:

const t = defineMessages({
  exampleTitle: {
    id: 'example_title',
    defaultMessage: 'Example title',
  },
  exampleTitleTwo: { id: 'example_title_two', defaultMessage: 'Example 2' },
});

IMPORTANT: lokalise-to-default-messages v2 is ESM only.

Basic usage

//Load the library and specify options
import ltdm from 'lokalise-to-default-messages';

OR

//Load the library and specify options
import { toDefaultMessages } from 'lokalise-to-default-messages';

Replace values (Not yet supported)

pass the following options to replace values:

ltdm.toDefaultMessages({
  checkDuplicates: false,
  saveLog: false,
  filesPath: '/src/**/*.{ts,tsx,js,jsx}',
  translationsPath: 'src/translations/en.json',
  oldTranslationPath: undefined,
});

The default options are filled in the example.

CLI usage

ltdm
  [--duplicate-keys] | [-dk]
  [--save-log] | [-sl]
  [--files-path=src/**/*.{ts,tsx,js,jsx}] | [-fp]
  [--translation-file=src/translations/en.json] | [-tf]
  [--old-translation-file=src/translations/old-en.json] | [-otf]

You can pass the argument --duplicate-keys or -dk if you want to check for duplicate keys. If this argument is passed the script will only look for duplicate keys and will dump errors to the terminal. if --save-log or -sl is present the will also be saved to lokalise_log.md

You can pass the argument --file-paths or -fp (default: -fp=src/**/*.{ts,tsx,js,jsx}). This path determines what files to check for defaultMessages of react-intl.

You can pass the argument --translation-file or -tf (default: -tf=src/translations/en.json). This will determine the path to the translations file that should be used to sync the defaultMessages in the js/ts files.

You can pass the argument --save-log or -sl. This will save a log file under lokalise_log.md

You can pass the argument --old-translation-file or -otf. If this argument is passed only the changed keys or values will be checked. This argument has no default value.

Version information

From version 3.0.0 onwards, lokalise to default messages requires Node 18 or higher.

From version 2.0.0 onwards, lokalise to default messages requires Node 13 or higher and is an ESM only package.

See the Changelog for more information.

License

(MIT License)

Copyright 2022, Yannick Maes, License