GithubHelp home page GithubHelp logo

react-intl-tm's Introduction

Translations manager for react-intl

Installing

yarn add --dev react-intl-tm

or

npm i --save-dev react-intl-tm

Usage examples

Read messages from a folder

const Manager = require('react-intl-tm');

new Manager({
  messagesDir: 'app/messages',
  translationsDir: 'app/translations',
  locales: ['en', 'de'],
  defaultLocale: 'en',
})
  .writeFiles()
  .report({ short: true });

Extract messages from source files

const Manager = require('react-intl-tm');

new Manager({
  source: 'app/**/*.+(js|jsx)',
  translationsDir: 'app/translations',
  locales: ['en', 'de'],
  defaultLocale: 'en',
})
  .writeFiles()
  .report();

Provide messages directly

const Manager = require('react-intl-tm');

const messages = [
  { id: 'msg1', defaultMessage: 'Message 1' },
  { id: 'msg2', defaultMessage: 'Message 2' },
  // ...
];

new Manager({
  messages: messages,
  translationsDir: 'app/translations',
  locales: ['en', 'de'],
  defaultLocale: 'en',
})
  .writeFiles()
  .report();

Sort translations keys

const TranslationsManager = require('react-intl-tm');
const stringify = require('json-stable-stringify');

class Manager extends TranslationsManager {
  stringifyTranslationFile(translation) {
    return stringify(translation, { space: 2 }) + '\n';
  }
}

new Manager({
  messagesDir: 'app/messages',
  translationsDir: 'app/translations',
  locales: ['en', 'de'],
  defaultLocale: 'en',
}).writeFiles();

Options

  • source - path (glob) to source files.
  • messages - an array of messages extracted by babel-plugin-react-intl.
  • messagesDir - path to directory with messages extracted by babel-plugin-react-intl.
  • translationsDir - path to directory with translation files.
  • locales - an array of locales to maintain.
  • defaultLocale - default locale.

API

  • writeFiles() - write translations files to translationsDir.
  • report() - print the full report to the console. When called with {short: true} option, the report will not include added, removed, and untranslated keys.
  • results() - returns the raw result of translations manager work.

react-intl-tm's People

Contributors

dependabot[bot] avatar nmbrone avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.