Download the PHP package danielmlozano/laravel-vue-i18n-generator without Composer
On this page you can find all versions of the php package danielmlozano/laravel-vue-i18n-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download danielmlozano/laravel-vue-i18n-generator
More information about danielmlozano/laravel-vue-i18n-generator
Files in danielmlozano/laravel-vue-i18n-generator
Package laravel-vue-i18n-generator
Short Description Generates a vue-i18n compatible include file from your Laravel translations.
License MIT
Homepage http://github.com/danielmlozano/laravel-vue-i18n-generator
Informations about the package laravel-vue-i18n-generator
About
This is a fork from https://github.com/martinlindhe/laravel-vue-i18n-generator, created to give Laravel 8 compatibility and keep the maintenance of the package.
Laravel package that allows you to share your Laravel localizations with your vue front-end, using vue-i18n or vuex-i18n.
Install the package
In your project:
php artisan vendor:publish --provider="Danielmlozano\VueInternationalizationGenerator\GeneratorProvider"
npm i --save vue-i18n
yarn add vue-i18n
php artisan vue-i18n:generate js import Vue from 'vue'; import VueInternationalization from 'vue-i18n'; import Locale from './vue-i18n-locales.generated';
Vue.use(VueInternationalization);
const lang = document.documentElement.lang.substr(0, 2); // or however you determine your current app locale
const i18n = new VueInternationalization({ locale: lang, messages: Locale });
const app = new Vue({ el: '#app', i18n, components: { ... } } js import Vue from 'vue'; import VueInternationalization from 'vue-i18n'; import Locales from './vue-i18n-locales.generated.js';
Vue.use(VueInternationalization);
Vue.config.lang = 'en';
Object.keys(Locales).forEach(function (lang) { Vue.locale(lang, Locales[lang]) });
...
npm i --save vuex-i18n
yarn add vuex-i18n vuex diff
- 'i18nLib' => 'vue-i18n',
- 'i18nLib' => 'vuex-i18n',
php artisan vue-i18n:generate js import Vuex from 'vuex'; import vuexI18n from 'vuex-i18n'; import Locales from './vue-i18n-locales.generated.js';
const store = new Vuex.Store();
Vue.use(vuexI18n.plugin, store);
Vue.i18n.add('en', Locales.en); Vue.i18n.add('de', Locales.de);
// set the start locale to use Vue.i18n.set(Spark.locale);
require('./components/bootstrap');
var app = new Vue({ store, mixins: [require('spark')] });
php artisan vue-i18n:generate --format {es6,umd,json}
php artisan vue-i18n:generate --format umd vue
// in your js Vue.use(VueI18n) Vue.config.lang = Laravel.language Object.keys(window.vuei18nLocales).forEach(function (lang) { Vue.locale(lang, window.vuei18nLocales[lang]) }) --multi--multi-locales php artisan vue-i18n:generate --multi{-locales} js ... "hello": "Hello {name}", ... js
## Notices
- The generated file is an ES6 module.
The more sophisticated pluralization localization as described [here](https://laravel.com/docs/5.5/localization#pluralization) is not supported since neither vue-i18n or vuex-i18n support this.
# License
Under [MIT](LICENSE)
All versions of laravel-vue-i18n-generator with dependencies
ext-json Version *
ext-mbstring Version *
illuminate/console Version >=8.0
illuminate/support Version >=8.0