Creating Language Files in Laravel

5 min read
php

Quick Tutorial: Creating Language Files in Laravel

Follow these steps to set up multi-language support in your Laravel app using language files.

Step 1: Organize Language Files

  1. Locate Language Directory: In Laravel, language files are stored in the resources/lang directory.
  2. Create Language Folders: For each language you want to support, create a folder inside resources/lang:
  • For English, create resources/lang/en
  • For Arabic, create resources/lang/ar

Step 2: Create Language Files

Inside each language folder, create files to store your translations. Let’s start by creating a messages.php file for both languages.

  • English File: resources/lang/en/messages.php
   <?php
   return [
       'welcome' => 'Welcome to our website!',
       'verify_accreditation' => 'I verify that I am an accredited user and I am using this at my own responsibility.',
   ];
  • Arabic File: resources/lang/ar/messages.php
   <?php
   return [
       'welcome' => 'مرحبًا بكم في موقعنا!',
       'verify_accreditation' => 'أؤكد أنني مستخدم معتمد وأتحمل مسؤولية استخدامي لهذا.',
   ];

Each key-value pair represents a text string in your app. Use the same keys in both language files, so Laravel can retrieve the appropriate translation based on the current language setting.

Step 3: Use Translation Strings in Views

In your Blade templates, replace hardcoded text with the @lang or __() functions to display translated strings. For example:

<!-- This will output the translated 'welcome' message based on the current language setting -->
<p>@lang('messages.welcome')</p>

Alternatively, you can use the __() helper function:

<p>{{ __('messages.welcome') }}</p>

Now your app will show different text depending on the selected language!

Discussion (0)

Please sign in to join the discussion.

No comments yet. Be the first to share your thoughts!