Download the PHP package solutionforest/laravel-translatable without Composer
On this page you can find all versions of the php package solutionforest/laravel-translatable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download solutionforest/laravel-translatable
More information about solutionforest/laravel-translatable
Files in solutionforest/laravel-translatable
Package laravel-translatable
Short Description A trait to make an Eloquent model hold translations
License MIT
Homepage https://github.com/solutionforest/laravel-translatable
Informations about the package laravel-translatable
A trait to make Eloquent models translatable
This package contains a trait to make Eloquent models translatable. Translations are stored in Database. All translation will be cached by default Laravel Cache.
This Library forked from spatie/laravel-translatable
Technically, all methods are same. Use database as storage only.
Once the trait is installed on the model you can do these things:
Installation
You can install the package via composer:
Making a model translatable
The required steps to make a model translatable are:
- First,
php artisian migrate
migrate the table - Next, you need to add the
SolutionForest\Translatable\HasTranslations
-trait. - Next, you should create a public property
$translatable
which holds an array with all the names of attributes you wish to make translatable.
Here's an example of a prepared model:
Available methods
Getting a translation
The easiest way to get a translation for the current locale is to just get the property for the translated attribute.
For example (given that name
is a translatable attribute):
You can also use this method:
This function has an alias named translate
.
Getting all translations
You can get all translations by calling getTranslations()
without an argument:
Or you can use the accessor
Setting a translation
The easiest way to set a translation for the current locale is to just set the property for a translatable attribute.
For example (given that name
is a translatable attribute):
To set a translation for a specific locale you can use this method:
To actually save the translation, don't forget to save your model.
Validation
- if you want to validate an attribute for uniqueness before saving/updating the db, you might want to have a look at laravel-unique-translation which is made specifically for laravel-translatable.
Forgetting a translation
You can forget a translation for a specific field:
You can forget all translations for a specific locale:
Getting all translations in one go
Setting translations in one go
Here's an example:
Events
TranslationHasBeenSet
Right after calling setTranslation
the SolutionForest\Translatable\Events\TranslationHasBeenSet
-event will be fired.
It has these properties:
Creating models
You can immediately set translations when creating a model. Here's an example:
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Freek Van der Herten
- Sebastian De Deyne
- All Contributors
We got the idea to store translations as json in a column from Mohamed Said. Parts of the readme of his multilingual package were used in this readme.
Support us
SolutionForest is a solution house based in Hong Kong.on our website.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-translatable with dependencies
illuminate/database Version ^9.0|^10.0
illuminate/support Version ^9.0|^10.0
spatie/laravel-package-tools Version ^1.11