Laravel Translatable
Laravel Translatable stats
- Downloads
- 3.5M
- Stars
- 1,117
- Open Issues
- 15
- Forks
- 137
A Laravel package for multilingual models
Laravel Translatable Package by Astrotomic
The Laravel Translatable package by Astrotomic provides an efficient way to handle multilingual models in Laravel applications. This package simplifies the management of translations by storing and retrieving them directly from the database associated with model instances.
Key Features
- Ease of Use: Directly interact with translations through model properties without the need for additional code.
- Flexible Retrieval: Fetch translations using simple method calls or by setting the application locale.
- Efficient Storage: Save translations directly into the database with minimal overhead.
- Multiple Translations: Easily handle multiple translations for a model during creation or update operations.
Installation
Install the package via Composer:
composer require astrotomic/laravel-translatable
Usage Examples
Retrieving Translations
$post = Post::first();echo $post->translate('en')->title; // Outputs the title in English App::setLocale('en');echo $post->title; // Automatically fetches the English title
Saving Translations
$post = Post::first();$post->translate('en')->title = 'Updated Title';$post->save(); // Saves the updated English title
Handling Multiple Translations at Once
$data = [ 'author' => 'Author Name', 'en' => ['title' => 'English Title'], 'fr' => ['title' => 'French Title'],];$post = Post::create($data);echo $post->translate('fr')->title; // Outputs the French title
Support and Contribution
Developers are encouraged to contribute to the repository by following the guidelines provided in the CONTRIBUTING and CODE OF CONDUCT sections. For security issues, refer to the SECURITY document.
Treeware License
You are encouraged to contribute to the Treeware initiative if you use this package in your production environment. By helping with tree planting efforts, you support climate action and community building.
Further Learning
- Detailed documentation is available on the GitBook.
- Additional tutorials and guides can be found on Laravel News and other community blogs which provide insights on using this package effectively.
This package is maintained by Tom Witkowski and was originally authored by Dimitrios Savvopoulos, with significant contributions from the community and support for various Laravel and PHP versions.
We want to provide helpful, solid and easy to use open source packages. Most of them will be for Laravel - but sometimes also plain PHP.