2017 © Pedro Peláez
 

library locales

Locale management package for Laravel.

image

rkgrep/locales

Locale management package for Laravel.

  • Monday, November 16, 2015
  • by rkgrep
  • Repository
  • 1 Watchers
  • 0 Stars
  • 487 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Laravel locales

A missing package for locale management., (*1)

Installation

You can install Locales using composer. Only *dev-master * version is currently available., (*2)

composer require rkgrep/locales:dev-master@dev

Enable the service provider in your application config (app.php), (*3)

// ...

rkgrep\Locales\LocaleServiceProvider::class

// ...

Configuration

Basic Locales configuation is located in locales.php config file. You can use artisan vendor:publish command to copy default config to your app config path., (*4)

Locales currently supports 3 ways of storing configured locales: config, database and eloquent., (*5)

Set the preferred one to driver key., (*6)

// ...

'driver' => 'database',

// ...

Config driver

Config driver uses locales.php to list available locales. English locale is configured by default., (*7)

Each locale should have an unique key defining its main code type used in your app. E. g. an ISO 639‑1 two-letter code. Other locale codes ay be defined in locales array. Human-readable locale names may be defined in names array, where native and i18n are recommended to be always present., (*8)

// ...

'en' => [
    'locales' => ['en', 'en_US', 'en-US', 'en-us', 'eng', 'English', 1033],
    'names' => [
        'native' => 'English',
        'i18n' => 'English (US)'
    ],
],
'ru' => [
    'locales' => ['ru', 'ru_RU', 'ru-RU', 'ru-ru', 'rus', 'Russian', 1049],
    'names' => [
        'native' => 'Русский',
        'i18n' => 'Russian'
    ],
],

// ...

Database driver

Database driver uses a table to store locales and their values., (*9)

The table name is configured in locales.php in table key., (*10)

// ...

'table' => 'locales',

// ...

You can add a base migration to your application with artisan locales:table command. It uses configured table name, so you don't need to check it. Note that the command does not dump composer autoloads so you should run composer dump-autoload for the migration to work., (*11)

The base schema does not use autoincrementable field. Instead it has a code column as a primary key., (*12)

Eloquent driver

Eloquent driver returns a locale model instance so it can be further connected to other models via relations and customized as any other model., (*13)

Provide model key to your locales.php to change the default model class., (*14)

// ...

'model' => \rkgrep\Locales\EloquentLocale::class,

// ...

Usage

The service provider stores a Manager at locales service key in your app. You can get it anywhere by calling app('locales') helper., (*15)

Retrieving active locale

The active locale is resolved frop getLocale() method of the application. If the provided key is not available, the manager tries to get a fallback locale., (*16)

$locale = app('locales')->active(); // A Locale contract or null is returned.

You can also use rkgrep\Locales\Contracts\Locale typehint to get an active locale via dependency injection, (*17)

use rkgrep\Locales\Contracts\Locale;

// ...

public function getIndex(Locale $locale)
{
    // Your controller
}

Retrieving locale by code

Use retrieveByCode method to get a locale., (*18)

$english = app('locales')->retrieveByCode('en');

Retrieving a list of locales

Use getList method to get a lias of codes or names keyed by codes., (*19)

$codes = app('locales')->getList(); // ['en' => 'en', 'ru' => 'ru]
$native = app('locales')->getList('names.native'); // ['en' => 'English (US)', 'ru' => 'Русский']

Using a locale

Every driver returns an rkgrep\Locales\Contracts\Locale interface implementation., (*20)

License

Locales package is open-sourced package licensed under the MIT license., (*21)

The Versions

16/11 2015

dev-master

9999999-dev

Locale management package for Laravel.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Roman Kinyakin

laravel languages locales

29/06 2015

v0.1

0.1.0.0

Locale management package for Laravel.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Roman Kinyakin

laravel languages locales