PHPackages                             badinansoft/nova-language-switch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. badinansoft/nova-language-switch

ActiveLibrary[Localization &amp; i18n](/categories/localization)

badinansoft/nova-language-switch
================================

A Laravel Nova package to switch language in your application

3.0.0(1y ago)26506.4k↑68.6%15[1 issues](https://github.com/badinansoft/nova-language-switch/issues)1MITPHPPHP ^7.3|^8.0

Since Oct 19Pushed 1y ago3 watchersCompare

[ Source](https://github.com/badinansoft/nova-language-switch)[ Packagist](https://packagist.org/packages/badinansoft/nova-language-switch)[ Docs](https://github.com/badinansoft/nova-language-switch)[ RSS](/packages/badinansoft-nova-language-switch/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (1)Versions (9)Used By (1)

A Laravel Nova Tool to add language switcher to your application
----------------------------------------------------------------

[](#a-laravel-nova-tool-to-add-language-switcher-to-your-application)

[![Latest Version on Packagist](https://camo.githubusercontent.com/36d71846c1b6c1f40fcd3361e2a6b77fdb05b47536f35d043bda3e37a8d0f6c9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626164696e616e736f66742f6e6f76612d6c616e67756167652d7377697463682e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/badinansoft/nova-language-switch)[![Total Downloads](https://camo.githubusercontent.com/ec558e0ca2815625c7817a4dcc2b118b5ffc35b7e56cc13ab0f3ff4e330fc7df/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626164696e616e736f66742f6e6f76612d6c616e67756167652d7377697463682e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/badinansoft/nova-language-switch)

This [Nova](https://nova.laravel.com) tool allows you to:

- Add a language switcher to the header of the Nova application
- Handle language switching and cache the current locale across multiple browsers
- Switch the application direction for RTL-supported languages

Requirements
------------

[](#requirements)

- PHP: &gt;=8.0
- Laravel Nova: ^4.0|^5.0

> **Note**: This package is not compatible with Nova 3

Features
--------

[](#features)

- Add multiple languages from the configuration
- Remember locale settings using cache (no database table required)
- Auto-inject language switcher to the application header
- Easy 4-step setup

Screenshots
-----------

[](#screenshots)

EnglishArabic[![English Screenshot](https://raw.githubusercontent.com/badinansoft/nova-language-switch/master/docs/en-screenshot.png)](https://raw.githubusercontent.com/badinansoft/nova-language-switch/master/docs/en-screenshot.png)[![Arabic Screenshot](https://raw.githubusercontent.com/badinansoft/nova-language-switch/master/docs/ar-screenshot.png)](https://raw.githubusercontent.com/badinansoft/nova-language-switch/master/docs/ar-screenshot.png)Installation
------------

[](#installation)

Install the Nova tool via Composer:

```
composer require badinansoft/nova-language-switch
```

### Laravel 10 and Earlier

[](#laravel-10-and-earlier)

Register the tool in `app/Providers/NovaServiceProvider.php`:

```
public function tools()
{
    return [
        // ...
        new \Badinansoft\LanguageSwitch\LanguageSwitch(),
    ];
}
```

Register the middleware in `app/Http/Kernel.php`:

```
protected $middlewareGroups = [
    'web' => [
        // ...
        \Badinansoft\LanguageSwitch\Http\Middleware\LanguageSwitch::class
    ],
];
```

### Laravel 11

[](#laravel-11)

Register the tool in `app/Providers/NovaServiceProvider.php` (same as Laravel 10):

```
public function tools()
{
    return [
        // ...
        new \Badinansoft\LanguageSwitch\LanguageSwitch(),
    ];
}
```

Register the middleware in `bootstrap/app.php`:

```
->withMiddleware(function (Middleware $middleware) {
    $middleware->web(append: [
        \Badinansoft\LanguageSwitch\Http\Middleware\LanguageSwitch::class,
    ]);
})
```

Publish the configuration file:

```
php artisan vendor:publish --provider="Badinansoft\LanguageSwitch\ToolServiceProvider" --tag="config"
```

### Configuration

[](#configuration)

Edit the published config file (`config/language-switch.php`):

```
return [
    /**
     * Supported languages for your application
     * @var array
     */
    'supported-languages' => [
        'en' => 'English',
        'ar' => 'Arabic',
        // Add or remove languages as needed
    ],

    /**
     * Languages that require RTL support
     * @var array
     */
    'rtl-languages' => [
        'ar'
        // Add other RTL language codes
    ],
];
```

Credits
-------

[](#credits)

- [Shahab Zebari](https://github.com/shahabzebare)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance41

Moderate activity, may be stable

Popularity49

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~118 days

Recently: every ~181 days

Total

8

Last Release

478d ago

Major Versions

1.2.1 → 2.0.02024-08-01

2.0.0 → 3.0.02025-01-25

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/66379072?v=4)[BadinanSoft](/maintainers/badinansoft)[@badinansoft](https://github.com/badinansoft)

![](https://avatars.githubusercontent.com/u/6207967?v=4)[shahab zebari](/maintainers/shahabzebare)[@shahabzebare](https://github.com/shahabzebare)

---

Top Contributors

[![badinansoft](https://avatars.githubusercontent.com/u/66379072?v=4)](https://github.com/badinansoft "badinansoft (11 commits)")[![shahabzebare](https://avatars.githubusercontent.com/u/6207967?v=4)](https://github.com/shahabzebare "shahabzebare (8 commits)")[![agustinprod](https://avatars.githubusercontent.com/u/343407?v=4)](https://github.com/agustinprod "agustinprod (1 commits)")[![DylanovE](https://avatars.githubusercontent.com/u/90382484?v=4)](https://github.com/DylanovE "DylanovE (1 commits)")[![veneliniliev](https://avatars.githubusercontent.com/u/5311085?v=4)](https://github.com/veneliniliev "veneliniliev (1 commits)")

---

Tags

laraveli18nlanguagetranslationswitchnova

### Embed Badge

![Health badge](/badges/badinansoft-nova-language-switch/health.svg)

```
[![Health](https://phpackages.com/badges/badinansoft-nova-language-switch/health.svg)](https://phpackages.com/packages/badinansoft-nova-language-switch)
```

###  Alternatives

[laravel-lang/common

Easily connect the necessary language packs to the application

1463.1M22](/packages/laravel-lang-common)[optimistdigital/nova-translatable

A laravel-translatable extension for Laravel Nova.

202427.4k5](/packages/optimistdigital-nova-translatable)[outl1ne/nova-translatable

A laravel-translatable extension for Laravel Nova.

203416.9k8](/packages/outl1ne-nova-translatable)[statikbe/laravel-nova-chained-translation-manager

The Laravel Nova Chained Translation Manager allows you to easily edit and customise the translations of your current Laravel environment.

1628.6k](/packages/statikbe-laravel-nova-chained-translation-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
