All Projects → rmariuzzo → Laravel Localization Loader

rmariuzzo / Laravel Localization Loader

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

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Laravel Localization Loader

React Svg Loader
A loader for webpack, rollup, babel that loads svg as a React Component
Stars: ✭ 570 (+882.76%)
Mutual labels:  webpack-loader
Nunjucks Isomorphic Loader
Nunjucks loader for webpack, supporting both javascript templating and generating static HTML files through the HtmlWebpackPlugin.
Stars: ✭ 17 (-70.69%)
Mutual labels:  webpack-loader
Mpx Webpack Plugin
原生小程序开发定制 webpack 插件套装
Stars: ✭ 34 (-41.38%)
Mutual labels:  webpack-loader
Cache Loader
[DEPRECATED] Caches the result of following loaders on disk
Stars: ✭ 630 (+986.21%)
Mutual labels:  webpack-loader
Inline Style Loader
inline style loader for webpack
Stars: ✭ 16 (-72.41%)
Mutual labels:  webpack-loader
Stylefmt Loader
Webpack-loader. Fixes stylelint issues automatically while bundling with Webpack.
Stars: ✭ 24 (-58.62%)
Mutual labels:  webpack-loader
Comlink Loader
Webpack loader to offload modules to Worker threads seamlessly using Comlink.
Stars: ✭ 535 (+822.41%)
Mutual labels:  webpack-loader
Ng Router Loader
Webpack loader for NgModule lazy loading using the angular router
Stars: ✭ 47 (-18.97%)
Mutual labels:  webpack-loader
Node Addon Loader
A loader for node native addons
Stars: ✭ 17 (-70.69%)
Mutual labels:  webpack-loader
Thread Loader
Runs the following loaders in a worker pool
Stars: ✭ 945 (+1529.31%)
Mutual labels:  webpack-loader
Bundle Loader
Bundle Loader
Stars: ✭ 666 (+1048.28%)
Mutual labels:  webpack-loader
Node Config Loader
Scan directories and loads config json and yaml files
Stars: ✭ 5 (-91.38%)
Mutual labels:  webpack-loader
Less Loader
Compiles Less to CSS
Stars: ✭ 851 (+1367.24%)
Mutual labels:  webpack-loader
Wasm Loader
✨ WASM webpack loader
Stars: ✭ 604 (+941.38%)
Mutual labels:  webpack-loader
Svgr
Transform SVGs into React components 🦁
Stars: ✭ 8,263 (+14146.55%)
Mutual labels:  webpack-loader
Responsive Loader
A webpack loader for responsive images
Stars: ✭ 536 (+824.14%)
Mutual labels:  webpack-loader
Angular2 Load Children Loader
A webpack loader for ng2 lazy loading
Stars: ✭ 23 (-60.34%)
Mutual labels:  webpack-loader
Html Loader
HTML Loader
Stars: ✭ 1,067 (+1739.66%)
Mutual labels:  webpack-loader
Bootstrap Loader
Load Bootstrap styles and scripts in your Webpack bundle
Stars: ✭ 1,038 (+1689.66%)
Mutual labels:  webpack-loader
Flow Bin Loader
webpack loader for Flow
Stars: ✭ 11 (-81.03%)
Mutual labels:  webpack-loader

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].