Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ctf0/lingo

A Gui To Manage Laravel Translation Files
https://github.com/ctf0/lingo

javascript laravel manager php translation vuejs

Last synced: 6 days ago
JSON representation

A Gui To Manage Laravel Translation Files

Awesome Lists containing this project

README

        


Lingo


Latest Stable Version Total Downloads

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




## Installation

- `composer require ctf0/lingo`

- (Laravel < 5.5) add the service provider

```php
'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

```bash
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](https://ctf0.wordpress.com/2017/09/12/laravel-mix-es6/)

```js
// 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](https://github.com/ctf0/demos/tree/lingo)

- visit `localhost:8000/lingo`


### Security

If you discover any security-related issues, please email [[email protected]](mailto:[email protected]).