laravel-localization-loader
v1.0.5
Published
Laravel Localization loader for webpack. Convert Laravel Translation strings to JavaScript Objects.
Downloads
8,344
Maintainers
Readme
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
- Clone and fork this repo.
- Install dependencies: yarn or npm install.
- Run tests.
- 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
- Bump package version:
yarn version --new-version x.x.x -m 'Version %s.'
. - Publish to NPM registry:
npm publish
. - Push new tag:
git push origin --tags
.
Made with :heart: by Rubens Mariuzzo.