CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

16 February, 2022

Using Laravel translations in Javascript with the Laravel Translations Loader

 Programing Coderfunda     February 16, 2022     Laravel, Packages, php     No comments   

 

Have you ever wanted to use the same Laravel translations you use on the back-end in your front-end code?

Laravel Translations Loader is a webpack loader that enables you to load your Laravel translations into your javascript bundle.

Instead of doing HTTP requests to fetch translations, the package enters in the middle of the asset compilation process and translates your PHP translation files (JSON and PHP) into a JSON object so you can use however you like.

It works out of the box with packages like vue-i18n or with a few configuration tweaks with the popular i18next package.

Show me the code

The first step, is to install the package using NPM or Yarn.

npm install @kirschbaum-development/laravel-translations-loader --save
yarn add @kirschbaum-development/laravel-translations-loader --save

Or, by using Yarn.

npm install @kirschbaum-development/laravel-translations-loader --save

Basically, in your javascript file, you just need to include the following line to import your language bundle.

import languageBundle from
'@kirschbaum-development/laravel-translations-loader!@kirschbaum-development/laravel-translations-loader';

This will load and parse all your language files, including PHP and JSON translations. The languageBundle will look something like this:

{
"en": {
"auth": {
"failed": "These credentials do not match our records."
}
},
"es": {
"auth": {
"failed": "Estas credenciales no coinciden con nuestros registros."
}
}
}

Along with all other translations you may have on your translations folder.

There are options for loading either just PHP or JSON translations files, as well as adding a namespace between the lang keys and the actual translations that some packages require. You can check the different loading options on the readme of the project. And please fill out an issue if you have any troubles or suggestions.

Example using vue–i18n

Notice you can directly pass the languageBundle object as a parameter into the VueI18n constructor.

import languageBundle from '@kirschbaum-development/laravel-translations-loader!@kirschbaum-development/laravel-translations-loader';
import VueI18n from 'vue-i18n';
Vue.use(VueI18n);
const i18n = new VueI18n({
locale: window.Locale,
messages: languageBundle,
})

And on any vue component, you can just use the $t function, like the following example:

<template>
<span>{{ $t('auth.failed') }}</span>
<!-- this will output the same as {{ trans('auth.failed') }} using Laravel -->
</template>
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Generate Migrations from an Existing Database With the Migration Generator Package
    Laravel Migration Generator Migration Generator for Laravel is a package by Bennett Treptow to generate migrations from existing database ...
  • 'Ramayana' to have 'Baahubali'-style cliffhanger ending
    image/jpeg https://timesofindia.indiatimes.com/entertainment/hindi/bollywood/news/ramayana-to-end-on-baahubali-style-cliffhanger-director-ni...
  • Andhra Pradesh NEET UG 2026 rank list released at drntr.uhsap.in: Direct link to download here
    Dr. NTR University of Health Sciences has published the Andhra Pradesh NEET UG 2026 rank-wise list, declaring 33,220 candidates eligible for...
  • Vue.js Events
      In Vue.js, Events are used to respond to an action. Suppose, you have to build a dynamic website using Vue.js then you'll most likely ...
  • Bagisto E-commerce Platform
      Bagisto is an open-source E-commerce platform built on top of Laravel and Vue.js by Webkul. Bagisto is an E-commerce ecosystem designed...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • ►  2026 (117)
    • ►  08/02 - 08/09 (8)
    • ►  07/26 - 08/02 (108)
    • ►  06/28 - 07/05 (1)
  • ►  2025 (4)
    • ►  07/06 - 07/13 (2)
    • ►  06/29 - 07/06 (2)
  • ►  2024 (486)
    • ►  09/15 - 09/22 (30)
    • ►  09/08 - 09/15 (35)
    • ►  09/01 - 09/08 (35)
    • ►  08/11 - 08/18 (2)
    • ►  08/04 - 08/11 (33)
    • ►  07/28 - 08/04 (30)
    • ►  07/07 - 07/14 (11)
    • ►  06/30 - 07/07 (35)
    • ►  06/23 - 06/30 (5)
    • ►  06/02 - 06/09 (31)
    • ►  05/26 - 06/02 (20)
    • ►  05/05 - 05/12 (29)
    • ►  04/28 - 05/05 (26)
    • ►  04/07 - 04/14 (10)
    • ►  03/31 - 04/07 (34)
    • ►  03/24 - 03/31 (10)
    • ►  03/03 - 03/10 (35)
    • ►  02/25 - 03/03 (15)
    • ►  02/04 - 02/11 (22)
    • ►  01/28 - 02/04 (30)
    • ►  01/07 - 01/14 (8)
  • ►  2023 (484)
    • ►  12/31 - 01/07 (35)
    • ►  12/24 - 12/31 (10)
    • ►  12/03 - 12/10 (33)
    • ►  11/26 - 12/03 (20)
    • ►  11/05 - 11/12 (35)
    • ►  10/29 - 11/05 (20)
    • ►  10/22 - 10/29 (9)
    • ►  10/15 - 10/22 (7)
    • ►  10/08 - 10/15 (9)
    • ►  10/01 - 10/08 (10)
    • ►  09/24 - 10/01 (9)
    • ►  09/17 - 09/24 (9)
    • ►  09/10 - 09/17 (7)
    • ►  09/03 - 09/10 (9)
    • ►  08/27 - 09/03 (9)
    • ►  08/20 - 08/27 (8)
    • ►  08/13 - 08/20 (8)
    • ►  08/06 - 08/13 (8)
    • ►  07/30 - 08/06 (8)
    • ►  07/23 - 07/30 (7)
    • ►  07/16 - 07/23 (8)
    • ►  07/09 - 07/16 (7)
    • ►  07/02 - 07/09 (8)
    • ►  06/25 - 07/02 (7)
    • ►  06/18 - 06/25 (7)
    • ►  06/11 - 06/18 (7)
    • ►  06/04 - 06/11 (11)
    • ►  05/28 - 06/04 (7)
    • ►  05/21 - 05/28 (8)
    • ►  05/14 - 05/21 (11)
    • ►  05/07 - 05/14 (7)
    • ►  04/30 - 05/07 (7)
    • ►  04/23 - 04/30 (8)
    • ►  04/16 - 04/23 (9)
    • ►  04/09 - 04/16 (7)
    • ►  04/02 - 04/09 (4)
    • ►  03/26 - 04/02 (21)
    • ►  03/19 - 03/26 (2)
    • ►  03/12 - 03/19 (9)
    • ►  03/05 - 03/12 (26)
    • ►  02/26 - 03/05 (25)
    • ►  01/15 - 01/22 (7)
    • ►  01/08 - 01/15 (1)
  • ▼  2022 (1037)
    • ►  12/11 - 12/18 (13)
    • ►  12/04 - 12/11 (1)
    • ►  11/27 - 12/04 (40)
    • ►  11/06 - 11/13 (1)
    • ►  10/16 - 10/23 (13)
    • ►  09/04 - 09/11 (5)
    • ►  08/21 - 08/28 (24)
    • ►  08/14 - 08/21 (24)
    • ►  07/03 - 07/10 (9)
    • ►  06/19 - 06/26 (3)
    • ►  05/29 - 06/05 (3)
    • ►  05/22 - 05/29 (3)
    • ►  05/15 - 05/22 (109)
    • ►  05/01 - 05/08 (7)
    • ►  04/24 - 05/01 (7)
    • ►  04/17 - 04/24 (64)
    • ►  04/10 - 04/17 (115)
    • ►  04/03 - 04/10 (73)
    • ►  03/27 - 04/03 (77)
    • ►  03/13 - 03/20 (2)
    • ►  03/06 - 03/13 (25)
    • ►  02/27 - 03/06 (18)
    • ►  02/20 - 02/27 (153)
    • ▼  02/13 - 02/20 (187)
      • Eloquent Cloner Package
      • Laravel Search String
      • Laravel Money
      • Junges Laravel ACL
      • Laravel Google Translate
      • Laravel Process Stamps Logs the Process Used to Up...
      • PHP Array Redactor
      • Add Social Reactions to Model with Laravel Love
      • Aire Form Builder Package for Laravel
      • Laravel Custom Casts Package
      • Laravel HATEOAS Package
      • Register Multilingual Routes in Laravel
      • Laravel Stats 2.0 is Here
      • Laravel Fireable Attributes
      • ClamAV Scanner for Flysystem
      • API Logger Package
      • Laravel Geocoding
      • Advanced State Support for Laravel Models
      • Mute and Unmute Model Observers With Unobserve
      • Laravel Cashier Mollie V1 Is Now Available
      • Laravel Queue Driver for RabbitMQ
      • Mask Sensitive Data With the PHP Masked Package
      • Laravel Scopes Generator
      • Send Notifications for Exceptions with the Notifia...
      • Useful Laravel Validation Rule Packages
      • Prompt Users to Login When they Have an Expired Se...
      • Sign In With Apple for Laravel Socialite
      • A REST Client Inside Your Laravel Projects
      • Laravel REST API Response Builder
      • HTTP Client That Handles Retries and Logging
      • Laravel Validator Object-Oriented Wrapper
      • Send Users a Welcome Notification to Set an Initia...
      • Automate App Setup with Laravel Initializer
      • Laravel Translation Scanner
      • Ably Broadcast Driver for Laravel
      • Laravel Package to Work With Paddle.com
      • Laravel Shift Blueprint
      • Laravel Exchange Rates API Package
      • Canvas: A Laravel Publishing Platform
      • Store Extra Columns as JSON With Laravel Overflow
      • Customizable Feedback Component for Laravel
      • Laravel Shared Data Package
      • Laravel Populated Factory
      • PHP Spellchecker Library
      • Encrypt Database Values in Laravel with DB Encrypter
      • Laravel Log Reader
      • Laravel JWT Redis
      • Test Views with Laravel Mojito
      • Manage Friendships, Likes and More with the Acquai...
      • Maravel Permissions Package for Laravel
      • Laravel Media Uploader
      • Direct Printing for Laravel Apps
      • Login As A Different User Quickly
      • Real-Time Chat Package for Laravel
      • Manage Job Workflows with Venture
      • Run Artisan Commands With a GUI
      • Laravel Envoyer API Package
      • Store Laravel Settings in a Database
      • Encrypt and Decrypt Data Using Keys
      • Laravel User Activity
      • Add Spam Prevention to Laravel Apps with Honey
      • Laravel Desktop Notifier
      • Socialite Implementation for Laravel Jetstream
      • Generate a Postman Collection from Laravel Routes
      • Firebase Cloud Messaging for Laravel
      • Laravel Blade Sortable
      • Manage Kubernetes Clusters with PHP and Laravel
      • Laravel Themer package: add multi-theme support fo...
      • Laravel ETag and Conditionals Package
      • Friendly Prefix IDs for Eloquent Models
      • Run Artisan Commands on Remote Servers
      • Migrate One Database to Another in a Laravel Project
      • Manage Scheduled Tasks Through a Dashboard
      • Get the Laracon Online Schedule in Your Timezone
      • Laravel Blade Icons Stable Release
      • Laravel Eloquent Power Joins Package
      • Soap - A Laravel SOAP client that provides a clean...
      • HasManyThrough Relationships With Unlimited Levels
      • Data Transfer Object V3 Modernizes DTOs With PHP 8...
      • Statamic Static Cache Manager Add-on
      • Trackable Jobs for Laravel
      • Keep Logs Tidy With the Log Cleaner Package for La...
      • Using Laravel translations in Javascript with the ...
      • Generate Migrations from an Existing Database With...
      • Laravel Pretty Routes Console Command
      • Scan Machine-Readable Documents with Identity Docu...
      • Get Current and Historical Currency Exchange Rates...
      • Inertia.js Adapter for Statamic
      • Multi-step Forms for Laravel
      • Laravel Nova Inline Select
      • Notion API for Laravel
      • Google Natural Language API for Laravel
      • ElasticSearch Driver for Laravel Scout
      • Speed Up Asset Builds with Airdrop for Laravel
      • Sidecar packages, deploys, and executes AWS Lambda...
      • Short URL Package for Laravel Applications
      • Smart Error Checking and Refactoring Development T...
      • Laravel HTTP Client Logger
      • Use Leaflet.js and Google Maps Blade Components in...
      • Exclude Model Entities From Eloquent With the Lara...
      • Google Chat Laravel Notification Channel
      • Laravel Google Fonts Package
      • Validate Allowed Email Domains in Laravel
      • Build API Request Classes in Laravel with Transporter
      • Add FaceID and TouchID Login to Your Laravel Apps
      • Spotlight-like UI for Your Laravel Applications
      • Build UI Dashboards For Your Laravel Models
      • Laravel Auto Routes Package
      • Add Version Control to Laravel Models
      • Dispatch Laravel Jobs Via Artisan
      • Blade Component to Render Markdown in Laravel
      • A Flat-File Database Driver for Eloquent
      • Laravel Stats: Track Application Stats and Their C...
      • Laravel Prose Linter
      • Build Typescript Interfaces for Laravel Models
      • Composer Normalizer Package
      • Flexible Fields for Laravel Nova
      • PHP Pipe Operator Package
      • Regex Helpers for Laravel
      • API Version Control in Laravel
      • Laravel Mail Export
      • Immutable IP Address Library For PHP
      • HTTP Client Dashboard for Laravel
      • View Presenter Classes for Eloquent Models
      • Laravel Cashier for Openpay Billing Services
      • Laravel Job Chainer
      • A package for PHP to interact with the GitHub Spon...
      • Vue Lazy Image Component
    • ►  01/30 - 02/06 (45)
    • ►  01/23 - 01/30 (15)
    • ►  01/16 - 01/23 (1)
  • ►  2021 (412)
    • ►  10/24 - 10/31 (2)
    • ►  07/25 - 08/01 (1)
    • ►  07/11 - 07/18 (10)
    • ►  06/13 - 06/20 (29)
    • ►  05/23 - 05/30 (1)
    • ►  05/02 - 05/09 (24)
    • ►  04/25 - 05/02 (24)
    • ►  04/18 - 04/25 (112)
    • ►  04/11 - 04/18 (1)
    • ►  04/04 - 04/11 (6)
    • ►  03/28 - 04/04 (86)
    • ►  03/21 - 03/28 (19)
    • ►  03/14 - 03/21 (2)
    • ►  03/07 - 03/14 (10)
    • ►  02/28 - 03/07 (1)
    • ►  02/21 - 02/28 (29)
    • ►  02/14 - 02/21 (13)
    • ►  02/07 - 02/14 (12)
    • ►  01/31 - 02/07 (6)
    • ►  01/17 - 01/24 (2)
    • ►  01/10 - 01/17 (8)
    • ►  01/03 - 01/10 (14)
  • ►  2020 (376)
    • ►  12/27 - 01/03 (37)
    • ►  12/20 - 12/27 (92)
    • ►  12/13 - 12/20 (29)
    • ►  12/06 - 12/13 (37)
    • ►  11/29 - 12/06 (4)
    • ►  11/15 - 11/22 (14)
    • ►  11/08 - 11/15 (8)
    • ►  11/01 - 11/08 (2)
    • ►  10/18 - 10/25 (14)
    • ►  10/11 - 10/18 (16)
    • ►  10/04 - 10/11 (10)
    • ►  09/20 - 09/27 (10)
    • ►  09/06 - 09/13 (19)
    • ►  08/30 - 09/06 (26)
    • ►  08/23 - 08/30 (4)
    • ►  08/16 - 08/23 (2)
    • ►  07/12 - 07/19 (48)
    • ►  05/17 - 05/24 (2)
    • ►  01/05 - 01/12 (2)
  • ►  2019 (74)
    • ►  07/07 - 07/14 (6)
    • ►  06/16 - 06/23 (6)
    • ►  02/10 - 02/17 (17)
    • ►  01/13 - 01/20 (37)
    • ►  01/06 - 01/13 (8)
  • ►  2018 (376)
    • ►  12/30 - 01/06 (24)
    • ►  12/16 - 12/23 (8)
    • ►  12/09 - 12/16 (98)
    • ►  12/02 - 12/09 (16)
    • ►  11/18 - 11/25 (36)
    • ►  11/04 - 11/11 (18)
    • ►  10/28 - 11/04 (10)
    • ►  10/21 - 10/28 (26)
    • ►  10/14 - 10/21 (52)
    • ►  10/07 - 10/14 (4)
    • ►  09/30 - 10/07 (2)
    • ►  09/23 - 09/30 (68)
    • ►  09/16 - 09/23 (4)
    • ►  09/09 - 09/16 (4)
    • ►  08/26 - 09/02 (6)

Data Publish News

Loading...

Al Jazeera – Breaking News, World News and Video from Al Jazeera

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda