nobox / lazy-strings-lumen
Lumen service provider for LazyStrings.
Requires
- php: >=5.5.9
- illuminate/console: 5.2.*
- illuminate/support: 5.2.*
- nobox/lazy-strings: ^5.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.7.*
This package is not auto-updated.
Last update: 2024-10-26 19:21:33 UTC
README
Lumen service provider for LazyStrings.
Installation
Add Lazy Strings to your composer.json file.
composer require nobox/lazy-strings-lumen
Lumen versions
Here's a rundown on the version(s) of lazy strings that you can use on your current installed lumen version.
Register Lazy Strings configuration and service provider
You must enable facades. Uncomment the line $app->withFacades();
on bootstrap/app.php
.
Register Lazy Strings configuration. Add this line on bootstrap/app.php
. It can go anywhere, I would recommend to add it after $app->withEloquent();
.
$app->configure('lazy-strings');
Finally, register Lazy Strings service provider, also in bootstrap/app.php
.
$app->register(Nobox\LazyStrings\LazyStringsServiceProvider::class);
Publish configuration and assets
This package uses some basic configuration and pretty CSS and JS from bootstrap.
php artisan lazy:publish
Configuration
Configuration is pretty simple, each configuration item is described below. More details on how these work can be found in the Lazy Strings repo here.
csv-url
Add the Google spreadsheet published url.
'csv-url' => 'http://docs.google.com/spreadsheets/d/1V_cHt5Fe4x9XwVepvlXB39sqKXD3xs_QbM-NppkrE4A/export?format=csv'
target-folder
This folder will be in yourstorage
folder and it just saves a backup of your strings inJSON
format. By default islazy-strings
.
'target-folder' => 'lazy-strings'
strings-route
This is the route that will be used to generate the strings. Visithttp://my-app.com/lazy/build-copy
and your strings will be updated. By default isbuild-copy
. The route will always be under thelazy
prefix.
'strings-route' => 'build-copy'
nested
Whether or not you wish your generated strings array to be nested.
'nested' => true,
sheets
Here you'll specify all the sheets in your Google doc.
'sheets' => [ 'en' => [0, 1626663029], 'es' => 1329731586, 'pt' => 1443604037 ]
How it works
Lazy Strings uses an id => value
convention to access the copy, it generates an lazy.php
file inside the language locale folder. You can see an example doc here: https://docs.google.com/a/nobox.com/spreadsheets/d/1V_cHt5Fe4x9XwVepvlXB39sqKXD3xs_QbM-NppkrE4A/edit#gid=0.
In this doc you can access the first row in your view like this:
trans('lazy.foo') // returns "Hello!"
Or in your controller like this:
Lang::get('lazy.foo'); // returns "Hello!"
Generate your strings
Each time you need to generate your strings just visit the specified strings-route
in your configuration. The route will always be under the lazy prefix. For example: http://my-app.com/lazy/build-copy
.
You can also use the included artisan command php artisan lazy:deploy
. It will do exactly the same. This is perfect when you're deploying your application with Forge or Envoyer.
License
MIT