Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/ctf0/lingo
- Owner: ctf0
- License: mit
- Created: 2017-10-08T07:06:24.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T23:20:55.000Z (almost 2 years ago)
- Last Synced: 2024-10-11T12:19:24.424Z (27 days ago)
- Topics: javascript, laravel, manager, php, translation, vuejs
- Language: Vue
- Homepage:
- Size: 177 KB
- Stars: 99
- Watchers: 9
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Lingo
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.jswindow.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]).