ctf0/lingo

GUI to manage laravel translation files

Installs: 1 499

Dependents: 0

Suggesters: 0

Security: 0

Stars: 81

Watchers: 7

Forks: 12

Open Issues: 1

Language:Vue

v2.3.0 2020-09-09 18:42 UTC

README

A file based translation manager, which unlike other Lang managers don't need a database connection to handle the translation.

41813078-257e4b6c-772f-11e8-9661-14636218d029.png


Installation

  • composer require ctf0/lingo

  • (Laravel < 5.5) add the service provider

    'providers' => [
        ctf0\Lingo\LingoServiceProvider::class,
    ]
  • publish the package assets with

    php artisan vendor:publish --provider="ctf0\Lingo\LingoServiceProvider"

  • after installation, run php artisan lingo:setup to add

    • package routes to routes/web.php
    • package assets compiling to webpack.mix.js
  • install dependencies

    yarn add vue vue-ls vue-notif vue-clipboard2 vue-tippy@v2 vue-awesome@v2 axios fuse.js
  • add this one liner to your main js file and run npm run watch to compile your js/css files.

    • if you are having issues Check
    // app.js
    
    window.Vue = require('vue')
    
    require('../vendor/Lingo/js/manager')
    
    new Vue({
        el: '#app'
    })

Features

  • filter by keys.
  • sort table by keys or by values.
  • add/remove "vendor/locale/file/item".
  • show guiding steps while adding new vendor for better UX.
  • validate for "vendor/locale/file" existence on the fly.
  • use localStorage to remember opened "tab/vendor/files/copy-format".
  • support up to 3 levels deep on nested keys.
  • support all laravel translation key formats.
  • directly copy translation key along with placeholders through tool-tips
    ex.trans('Vendor::file.key', ['attr'=>'']).
  • copy/paste items from one file to another.
  • merge/destruct multiple items.
  • highlight changed key/value.
  • download vendor/file.
  • show/hide different elements to avoid noise & keep the user focused.
  • shortcuts
operation keyboard
reset search "when focused" esc
hide modal esc

Usage

Demo

  • visit localhost:8000/lingo