‚̧Nutritious Pumpkin Meal
    Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    messageformat-properties-loader

    0.4.0¬†‚Äʬ†Public¬†‚Äʬ†Published

    Property Resource Bundle Loader for Webpack

    Loads .properties files into JavaScript as precompiled functions using dot-properties and messageformat.

    Property values are parsed directly as ICU MessageFormat. With the default options, will assume that the filename has _ separated parts, of which the second is the two- or three-letter language code as in Java Resource Bundles.

    Installation

    npm install messageformat@next messageformat-properties-loader

    Starting from version 0.4.0, the loader requires messageformat v3, currently in beta.

    Usage

    For a working demo of the following, run npm install && npm run build in the example/ directory, and then open example/dist/index.html in a browser.

    Webpack configuration

    {
      test: /\.properties$/,
      loader: 'messageformat-properties-loader',
      options: {
        biDiSupport: false,  // enables bi-directional text support
        defaultLocale: 'en', // used if resolution from filename fails
        encoding: 'auto',    // .properties file encoding, use one of
                             // 'auto', 'latin1', or 'utf8'
        keyPath: false,      // if true, dots '.' key names will result
                             // in multi-level objects -- use a string
                             // value to customize
        pathSep: '_'         // separator for parsing locale from filename
      }
    }

    Default option values are shown above, though none are required.

    messages_en.properties

    errors.confirmation: {src} doesn't match {attribute}
    errors.accepted: {src} must be accepted
    errors.wrong_length: {src} is the wrong length (should be {count, plural, one{1 character} other{# characters}})
    errors.equal_to: {src} must be equal to {count}
    

    example.js

    import messages from './messages_en.properties'
     
    messages.errors.accepted({ src: 'Terms' })
    // 'Terms must be accepted'
     
    messages.errors.wrong_length({ src: 'Foo', count: 42 })
    // 'Foo is the wrong length (should be 42 characters)'

    Install

    npm i messageformat-properties-loader

    DownloadsWeekly Downloads

    72

    Version

    0.4.0

    License

    MIT

    Unpacked Size

    5.76 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar