xdroidteam / translation by xdroidteam

Change standard Laravel file-based translation to DB.
2,591
3
1
Package Data
Maintainer Username: xdroidteam
Maintainer Contact: info@xdroid.com (Xdroid KFT.)
Package Create Date: 2016-10-06
Package Last Update: 2024-03-07
Home Page:
Language: HTML
License: MIT
Last Refreshed: 2024-09-05 03:04:31
Package Statistics
Total Downloads: 2,591
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 3
Total Watchers: 1
Total Forks: 1
Total Open Issues: 0

Laravel DB Translation

MIT licensed

Change the standard Laravel file-based translation to DB based.

Key features

  1. Easy GUI for modifying translations
  2. The new keys will be automatically added to the DB
  3. It can easily import lang files to the DB
  4. Translation is stored in the cache, and editing it automatically refreshes the cache from DB. We use cache tags, so regular file or database cache drivers doesn't work, please use memcached instead.
  5. It is now showing the missing tranlations fields for each language and group. Also you can toogle views between "Show only missing translations" and "Show all translations".
  6. Now you can export database to .CSV. Screenshot

Installation

Require this package in your composer.json and run composer update:

"xdroidteam/translation": "1.3.*"

or run

composer require xdroidteam/translation

directly.

You can change the route prefix in the deployed config file config/xdroidteam-translation.php. Also you can modify the middleware or exclude translation groups (excluded groups will not appear on the GUI). See the example below.

<?php

return array(

    'route' => [
        'prefix' => 'custom-translations-route',
        'middleware' => [
            'web',
            'auth',
            'custom middleware',
        ],
    ],

	'exclude_groups' => ['auth', 'base'],
    
    'translation_model' => '\App\Models\Translation',

);

You can use other Translation model, to overwrite methods. For example:

<?php

namespace App\Models;

use XdroidTeam\Translation\Translation as XdroidTranslation;

class Translation extends XdroidTranslation
{
    public static function getLanguages(){
        // original:
        // return explode(',', env('LANGUAGES'));
		
        //custom:
        return ['en', 'hu'];
    }
}

Export

You can export your db to a .CSV file, with call this function:

XdroidTeam\Translation::exportToCSV('path/to/file');