Download the PHP package cloudmonitor/translatable without Composer
On this page you can find all versions of the php package cloudmonitor/translatable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cloudmonitor/translatable
More information about cloudmonitor/translatable
Files in cloudmonitor/translatable
Package translatable
Short Description Translate model attributes into any number of languages.
License MIT
Informations about the package translatable
Translate Eloquent attributes into multiple languages and use getLocale()
to seamlessly query the right translation.
Install
Prepare Eloquent models
Similar to other special attributes in Eloquent, such as $fillables
, translatable attributes must be defined as an array. It is as simple as giving the name of the database column:
Translatable will now only be observing these attributes and skip the rest.
Using translations
As Translatable uses Laravels app()->getLocale()
it means it will figure out which language to use when you query name.
For instance, your locale is currently da
(Danish), so you want to update a book title. Simply do it as there was no translation implementation:
Or as an update method:
Similar when you want to get the name in the current locale you simply query it:
Other locales
Sometimes you want to update all translations or in a specific language or simply in a different than you are using. It could be a Danish moderator who wants to update the English title, titles for several languages, or something different.
Similarly, a specific language can be queried:
Order By translated columns
Since the build-in ->orderBy()
won't work as the data is stored in JSON format, an optimized ->orderByTranslation()
has been added.
First parameter is column name, second will be direction and third locale. Only first column is required.
Migrations
Behind the scenes Translatable uses JSON
columns in the database to store multiple versions in the same column: