skip to Main Content

I’m working on a Laravel project and I want to incorporate multi-language support without using the traditional lang/*.json files. I’ve explored various packages and approaches, but I’m unsure about the best way to achieve this.

Here are my specific requirements:

  • I prefer not to use lang/*.json files for translation.
  • I want a solution that integrates well with Laravel and follows best practices.
  • The ability to dynamically manage and add new languages without touching code would be a plus.

Can anyone provide guidance on how to implement multi-language support in Laravel using alternative methods or packages that don’t rely on lang/*.json files? Any code examples, step-by-step instructions, or recommended packages would be highly appreciated. Thanks in advance!

2

Answers


  1. in laravel we call it localization
    we need to setup our languages here : config/app.php
    also we can make multiple files in this folder : resources/lang

    for better understanding you can see blow link for step by step guide

    https://lokalise.com/blog/laravel-localization-step-by-step/

    Login or Signup to reply.
  2. To achieve multi-language support in Laravel without using traditional lang/*.json files, you can consider using the stichoza/google-translate-php package. This package allows you to dynamically translate text without the need for manually managing translation files.

    Here’s a simple example of how you can use it in your Laravel project:

    • Install the package:

      composer require stichoza/google-translate-php

    • Use it in your Laravel code:

      use StichozaGoogleTranslateGoogleTranslate;

      // Create an instance of GoogleTranslate for the desired target language (e.g., French)
      $translator = new GoogleTranslate(‘fr’);

      // Example of translating a text
      $translatedText = $translator->translate(‘Hello World!’);

      // Example of using a static method for translation
      $translatedTextGerman = GoogleTranslate::trans(‘Hello World!’, ‘de’);

      // Output the results
      dd($translatedText, $translatedTextGerman);

    This example initializes the translator for French (‘fr’) and demonstrates both instance and static method translation. You can easily adapt this to dynamically manage and add new languages by changing the target language dynamically.
    Remember to replace fr and de with your desired language codes.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search