parfumix / laravel-translator by parfumix

Translator for Laravel
14
0
1
Package Data
Maintainer Username: parfumix
Maintainer Contact: radu.bordei89@gmail.com (Radu Bordei)
Package Create Date: 2015-08-19
Package Last Update: 2015-09-23
Home Page: https://github.com/parfumix/laravel-translator
Language: PHP
License: MIT
Last Refreshed: 2024-03-24 03:02:41
Package Statistics
Total Downloads: 14
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 1
Total Forks: 0
Total Open Issues: 1

##Introduction

Laravel translator allow you to easy translate your website using different drivers like File, Database and others.

Instalation

You can use the composer package manager to install. From console run:

  $ php composer.phar require parfumix/laravel-translator "v1.0"

or add to your composer.json file

"parfumix/laravel-translator": "v1.0"

You have to publish package files using

  $ php artisan vendor:publish

Configuration

To register package you have to follow standart procedure registering serviceProvider class .Open your configuration file located in config/app.php and search for array of providers:

  'providers' => [
        // Add that line at the end of array ..
        'Translator\TranslatorServiceProvider'
      ]  

##Basic usage

Before using translator you have to publish your configuration file and select driver which you want to use

  $ php artisan vendor:publish
# here will be set up default driver .
default_driver: file

After all that you just have to use :

 __($key, $replacement, $locale = null) // will translate your key based on default selected driver. Locale will grab automaticly from localization component.

###Extending You can register own translator drivers which have will have custom business logic . But for the first register it in your configuration file

drivers:
  my_driver:
    class: Namespace\To\My\Driver
    option1: value1
    option2: value2
  database:
    class: Translator\Drivers\Database
    cache_time: 60
  file:
    class: Translator\Drivers\File

and create you class which implelement Translatable interface:

<?php

namespace My\Namespace;

use Translator\Driver;
use Translator\Translatable;

class MyDriver extends Driver implements Translatable {

    // Get translation by key .
    public function get($key, $replacement = array(), $locale = null);

    // Check if has translation by key .
    public function has($key, $locale = null);
    
    // Delete translation by key .
    public function delete($key, $group, $locale = null);
    
    // Save your translation to source .
    public function translate($key, $translation, $locale = null);

}