PHPackages                             syscover/langlocale - 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. syscover/langlocale

Abandoned → [syscover/navTools](/?search=syscover%2FnavTools)Project[Localization &amp; i18n](/categories/localization)

syscover/langlocale
===================

NavTools package

v3.0.9(9y ago)1151MITPHPPHP &gt;=5.6.4

Since Jan 22Pushed 9y ago2 watchersCompare

[ Source](https://github.com/syscover/langlocale)[ Packagist](https://packagist.org/packages/syscover/langlocale)[ RSS](/packages/syscover-langlocale/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (17)Used By (0)

NavTools package to Laravel 5.4
===============================

[](#navtools-package-to-laravel-54)

[![Total Downloads](https://camo.githubusercontent.com/05c1bc6703af49ad6a137bbfe01df6b14f6780c2232343c2fcadc3964a43cc1f/68747470733a2f2f706f7365722e707567782e6f72672f737973636f7665722f6c61726176656c2d6e61762d746f6f6c732f646f776e6c6f616473)](https://packagist.org/packages/syscover/laravel-nav-tools)[![Latest Stable Version](https://camo.githubusercontent.com/539df78aa7425a1e982fa9d3a67b2101533b15939aa1c57122597c279fe8930f/68747470733a2f2f706f7365722e707567782e6f72672f737973636f7665722f6c61726176656c2d6e61762d746f6f6c732f762f737461626c652e737667)](https://packagist.org/packages/syscover/laravel-nav-tools)[![License](https://camo.githubusercontent.com/753835aa65eb84c72637bb02a1d591cb15ee73a4e05f4f9183c9bbfb76d424dc/68747470733a2f2f706f7365722e707567782e6f72672f737973636f7665722f6c61726176656c2d6e61762d746f6f6c732f6c6963656e73652e737667)](https://packagist.org/packages/syscover/laravel-nav-tools)

Installation
------------

[](#installation)

**1 - From the command line run**

```
composer require syscover/laravel-nav-tools

```

**2 - Register service provider, on file config/app.php add to providers array**

```
Syscover\NavTools\NavToolsServiceProvider::class,

```

**3 - To publish package, you must type on console**

```
php artisan vendor:publish --provider="Syscover\NavTools\NavToolsServiceProvider"

```

**4 - Register middlewares pulsar.navTools on file app/Http/Kernel.php add to routeMiddleware array**

```
'pulsar.navTools' => \Syscover\NavTools\Middleware\NavTools::class,

```

General configuration environment values
----------------------------------------

[](#general-configuration-environment-values)

### Set NAVTOOLS\_URL\_TYPE options on environment file .env

[](#set-navtools_url_type-options-on-environment-file-env)

Set url type for you web, you have three types, lang, country or lang-country, for urls type lang:

```
NAVTOOLS_URL_TYPE=lang

```

you can work with this urls

```
hrrp://mydomain.com/en/any-page

```

for urls type country

```
NAVTOOLS_URL_TYPE=country

```

you can work with this urls

```
hrrp://mydomain.com/us/any-page

```

for urls type lang-country

```
NAVTOOLS_URL_TYPE=lang-country

```

you can work with this urls

```
hrrp://mydomain.com/en-us/any-page

```

### Set NAVTOOLS\_LANGS options on environment file .env

[](#set-navtools_langs-options-on-environment-file-env)

Set countries available in your web

```
NAVTOOLS_LANGS=en|es

```

### Set NAVTOOLS\_COUNTRIES options on environment file .env

[](#set-navtools_countries-options-on-environment-file-env)

Set countries available in your web

```
NAVTOOLS_COUNTRIES=us|gb|es

```

### Set NAVTOOLS\_DEFAULT\_COUNTRY options on environment file .env

[](#set-navtools_default_country-options-on-environment-file-env)

Set default country for your web

```
NAVTOOLS_DEFAULT_COUNTRY=es

```

### Routing with NavTools

[](#routing-with-navtools)

On app\\Http\\routes.php file use this closure to implement routes with translation

```
Route::group(['middleware' => ['pulsar.navTools']], function() {

    // write here your routes

});

```

#### Route configuration

[](#route-configuration)

You have several url configuration options depends on the chosen NAVTOOLS\_URL\_TYPE parameter:

Write your routes with lang variable

```
Route::group(['middleware' => ['pulsar.navTools']], function() {
    Route::get('/',                         function(){ return view('www.index'); });
    Route::get('{lang}',                  function(){ return view('www.index'); });
    Route::post('{lang}/contact',         ['as'=>'contact',  'uses'=>'FrontEndController@contact']);
});

```

Or set lang variable on your routes

```
Route::group(['middleware' => ['pulsar.navTools']], function() {
    Route::get('/',                   function(){ return view('www.index'); });

    Route::get('en',                  function(){ return view('www.index'); });
    Route::get('es',                  function(){ return view('www.index'); });

    Route::post('en/contact',         ['as' => 'contact-en',          'uses'=>'FrontEndController@contact']);
    Route::post('es/contacto',        ['as' => 'contact-es',          'uses'=>'FrontEndController@contact']);
});

```

Or set constant lang but country variable

```
Route::group(['middleware' => ['pulsar.navTools']], function() {
    Route::get('/',                   function(){ return view('www.index'); });

    Route::get('/en-{country}',                  function(){ return view('www.index'); });
    Route::get('/es-{country}',                  function(){ return view('www.index'); });

    Route::post('en-{country}'/contact',         ['as' => 'contact-en',          'uses'=>'FrontEndController@contact']);
    Route::post('es-{country}'/contacto',        ['as' => 'contact-es',          'uses'=>'FrontEndController@contact']);
});

```

Or use lang and country variables to get language value.

```
Route::group(['middleware' => ['pulsar.navTools']], function() {
    Route::get('/',                   function(){ return view('www.index'); });

    Route::get('/{lang}-{country}',                  function(){ return view('www.index'); });

    Route::post('/{lang}-{country}/contact',         ['as' => 'contact-en',          'uses'=>'FrontEndController@contact']);
});

```

### Get values in your application

[](#get-values-in-your-application)

You can get lang and country values with this helpers.

```
user_country(); // to get country user
user_lang(); // to get language user

```

To set routes you need to add lang or country parameters depending on NAVTOOLS\_URL\_TYPE.

```
route('routeName', ['lang' => 'en', 'country' => 'us']);

```

You can use a custom helper **nt\_route()**, this helper inserts automatically variables lang and country, unless you specify these variables.

```
nt_route('routeName');

```

You can use **redirect()** helper without any trouble, we have extended Laravel core so that **redirect()-&gt;route()** does the same as **nt\_route()**.

If you want to change the language or the country you must use this helpers

```
change_language('en');
change_country('us');

```

License
-------

[](#license)

The NavTools is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~29 days

Recently: every ~15 days

Total

16

Last Release

3337d ago

Major Versions

v1.0.1 → v2.0.02016-09-03

v2.0.2 → v3.0.02017-01-25

PHP version history (3 changes)5.1.x-devPHP &gt;=5.4.0

v1.0.0PHP &gt;=5.5.9

v2.0.0PHP &gt;=5.6.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/70d93b133cd1355362a7c2b51a70734409a16402e670ba5c9912d0bb05c6df3f?d=identicon)[carlospalacin](/maintainers/carlospalacin)

---

Top Contributors

[![carlospalacin](https://avatars.githubusercontent.com/u/7494076?v=4)](https://github.com/carlospalacin "carlospalacin (83 commits)")

---

Tags

laravellanguagelocaleset languageset country

### Embed Badge

![Health badge](/badges/syscover-langlocale/health.svg)

```
[![Health](https://phpackages.com/badges/syscover-langlocale/health.svg)](https://phpackages.com/packages/syscover-langlocale)
```

###  Alternatives

[codezero/laravel-localized-routes

A convenient way to set up, manage and use localized routes in a Laravel app.

543638.1k4](/packages/codezero-laravel-localized-routes)[vluzrmos/language-detector

Detect the language for your application using browser preferences, subdomains or route prefixes.

109554.8k3](/packages/vluzrmos-language-detector)[opgginc/codezero-laravel-localized-routes

A convenient way to set up, manage and use localized routes in a Laravel app.

2770.1k1](/packages/opgginc-codezero-laravel-localized-routes)[longman/laravel-multilang

Package to integrate multi language (multi locale) functionality in Laravel 5.x

5514.4k1](/packages/longman-laravel-multilang)[awes-io/localization-helper

Package for convenient work with Laravel's localization features

3527.1k4](/packages/awes-io-localization-helper)[backpack/language-switcher

Language Switcher for Backpack

1234.6k1](/packages/backpack-language-switcher)

PHPackages © 2026

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