Nobox / lazy-strings-laravel by jonathantorres

Laravel 5 service provider for LazyStrings.
110
2
3
Package Data
Maintainer Username: jonathantorres
Maintainer Contact: alberto@nobox.com (Alberto Estrada)
Package Create Date: 2016-01-07
Package Last Update: 2016-01-08
Language: PHP
License: MIT
Last Refreshed: 2024-12-19 03:01:47
Package Statistics
Total Downloads: 110
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

Lazy Strings for Laravel

Laravel 5 service provider for LazyStrings.

Build Status

Installation

Add Lazy Strings to your composer.json file.

composer require nobox/lazy-strings-laravel

Laravel versions

Here's a rundown on the version(s) of lazy strings that you can use on your current installed laravel version.

| Laravel version | Service Provider version to use | | ------------------- | ---------------------------------- | | 5.0 | 1.0.* | | 5.1 | 1.1.* | | 5.2 | 1.2.* |

Register Lazy Strings

Register Lazy Strings service provider in the providers array located in config/app.php

'providers' => [
    Nobox\LazyStrings\LazyStringsServiceProvider::class,
]

Publish configuration and assets

This package uses some basic configuration and pretty CSS and JS from bootstrap.

php artisan vendor: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 your storage folder and it just saves a backup of your strings in JSON format. By default is lazy-strings.
'target-folder' => 'lazy-strings'
  • strings-route This is the route that will be used to generate the strings. Visit http://my-app.com/lazy/build-copy and your strings will be updated. By default is build-copy. The route will always be under the lazy 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.

| id | value | | ------------- | ------------- | | foo | Hello! | | lazy | LazyStrings | | laravel | PHP Framework |

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