laravel-localization-loader

Laravel Localization loader for webpack. Convert Laravel Translation strings to JavaScript Objects.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
laravel-localization-loader
6681.0.55 years ago6 years agoMinified + gzip package size for laravel-localization-loader in KB

Readme

Laravel localization Loader – Laravel localization Loader for Webpack. Convert Laravel Translation files (php or json) to JavaScript Objects.

Features

- Support both Laravel PHP and JSON translation files. - 100% test coverage. - Only has two dependencies: json-loader and php-array-loader.

Installation

npm install laravel-localization-loader --save-dev

or
yarn add laravel-localization-loader --dev

Configuration

Webpack 2+

// webpack.config.js
module.exports = {
  module: {
    rules: [
      {
        // Matches all PHP or JSON files in `resources/lang` directory.
        test: /resources(\\|\/)lang.+\.(php|json)$/,
        loader: 'laravel-localization-loader',
      }
    ]
  }
}

Laravel Mix

// webpack.mix.js
mix.webpackConfig({
  module: {
    rules: [
      {
        // Matches all PHP or JSON files in `resources/lang` directory.
        test: /resources(\\|\/)lang.+\.(php|json)$/,
        loader: 'laravel-localization-loader',
      }
    ]
  }
});

Usage

Lang.js

First, you will need to install Lang.js then you may want to create a messages.js files that look as follow:
// messages.js
export default {
  // The key format should be: 'locale.filename'.
  'en.messages': require('../../resources/lang/en/messages.php'),
  'es.messages': require('../../resources/lang/es/messages.php'),
  'en.auth': require('../../resources/lang/en/auth.php'),
  'es.auth': require('../../resources/lang/es/auth.php'),
}

Then somewhere else in your awesome app:
// page.js
import Lang from 'lang.js'
import messages from './messages'

const lang = new Lang({ messages })
lang.get('messages.hello')

Profit!

Development

1. Clone and fork this repo. 2. Install dependencies: yarn or npm install. 3. Run tests. 4. Prepare a pull request.

Test

- yarn test – to run all tests. - yarn test -- --watch – to run all tests in watch mode.

Coverage

- yarn test -- --coverage – to run all tests with coverage. - yarn test -- --coverage --watch – to run all tests with coverage in watch mode.

Publish

1. Bump package version: yarn version --new-version x.x.x -m 'Version %s.'. 2. Publish to NPM registry: npm publish. 3. Push new tag: git push origin --tags.

Made with :heart: by Rubens Mariuzzo.
MIT license