Skip to content

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

License

Notifications You must be signed in to change notification settings

rmariuzzo/laravel-localization-loader

Repository files navigation

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 ❤️ by Rubens Mariuzzo.

MIT license

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •