Changelog
v11
v11.11.0
Change
\Astrotomic\Translatable\Traits\Relationship::translation()
relation to use the newofMany
- #297
v11.10.0
Drop PHP7 support
Drop Laravel 5.8 and 6 and 7 support
Add Laravel 9 support
Add PHP8.1 support
v11.9.1
Fix all methods visibility to allow customization - #198
v11.9.0
Add Laravel 8 support - #180
v11.8.3
Fix
\Astrotomic\Translatable\Exception\LocalesNotDefinedException
exception message
v11.8.1
Fix custom locale column name in
\Astrotomic\Translatable\Traits\Relationship::translation()
method - #146
v11.8.0
Add Laravel 7 support - #128
v11.7.1
Add
.gitattributes
to exclude files from archive - #126
v11.7.0
Add
translateOrFail()
method - #114
v11.6.1
Fix PHP translation cascade deletion - #105
v11.6.0
Drop PHP 7.1 support
Drop Laravel 5.6 & 5.7 support
Add PHP side translation cascade deletion - #98 (disabled by default)
v11.5.2
Fix scope
orderByTranslation()
to return all translations - #72
v11.5.1
Fix
getTranslationByLocaleKey()
to usetranslation
relation if possible - #49
v11.5.0
Add rule parsing to
\Astrotomic\Translatable\Validation\RuleFactory
- #56
v11.4.0
Add Laravel 6 support - #52
v11.3.0
Add
\Astrotomic\Translatable\Validation\RuleFactory
- #34
v11.2.1
Fix duplicate checks of same locale - #40
v11.2.0
Add auto fallback locale finder - #36
v11.1.3
Fix conflict between attributes and locales during
fill()
- #38
v11.1.2
Refactor
translation
relationship - #23
v11.1.1
Add missing return type-hints - #16
v11.1.0
Add missing dependencies
illuminate/contracts
andilluminate/database
- #9Add
\Astrotomic\Translatable\Contracts\Translatable
interfaceSplit
\Astrotomic\Translatable\Translatable
into multiple traits - but use them in the main oneAdd
translation
relationship - #3Flag methods, not defined in interface as
@internal
Rename
getRelationKey()
togetTranslationRelationKey()
to prevent conflicts - the original one is@deprecated
and will be dropped in next major releaseUpdate the where translation scopes to unify them and remove duplicated code - #2
v11.0.0
Add PHP7 type-hints #557
migrate from dimsav to astrotomic
upgrade to
dimsav/laravel-translatable:v10.0.0
run
composer remove dimsav/laravel-translatable
run
composer require astrotomic/laravel-translatable
replace
Dimsav\
byAstrotomic\
in your whole project (namespace change)
v10.0.0
Add
Dimsav\Translatable\Locales
helper class #574Fix
getRelationKey()
#575drop custom save method in favor of saved event listener #567
v9
v9.5.0
Add
isEmptyTranslatableAttribute()
method to allow custom empty attribute decision logic #576
v9.4.0
v9.3.0
Fix n+1 queries when updating non-translated model attributes #533
v9.2.0
Add support for Laravel 5.7 #518
v9.1.0
Do not call get translation with fallback locale and fallback enabled #502
Allow
translateOrDefault()
andtranslateOrNew()
to default to user app locale #500Change autoload translations behavior on runtime #501
Use fallback in
attributesToArray()
#503Added
orderByTranslation()
scope #504Example in doc for locale filtering in
whereTranslation()
scope #487Fire saving event in every case #457
Allow to change default translation model namespace from config file #508
v9.0.0
Added support for Laravel 5.6 #435
v8
v8.1.0
Fixed error when fallback not available. #422
Fixed withTranslation query scope performance #417
Fixed fallback for country-based locales #417
Fixed empty attribute values #410
v8.0.0
Added support for Laravel 5.5 #394
v7
v7.3.0
Added compatibility with custom db connections. #366
v7.2.1
Fixed delete events not fired for translations. #361
v7.2.0
Added
replicateWithTranslations()
. #346Added
orWhereTranslation()
andorWhereTranslationLike()
scopes. #338Added support for laravel auto-discovery. #359
Added tag for publishing the config file. #360
v7.1.0
Added fallback per attribute. #348
Added
getTranslationsArray()
#347Fixed filling 'property:locale' format was not validating the locale. #356
v7.0.0
Added compatibility with Laravel v5.4.
Added default locale per model. #271
v6
v6.1.0
Filling a model now supports using the 'property:locale' format in keys. #314 For example:
$country->fill(['name:en' => 'Belgium'])
Added config to skip translations in
toArray()
for better performance when needed. #315
v6.0.1
Fix issue when trying to fetch a translation with a country based locale #264
v6.0.0
Translated fillable properties should only be defined in the translation model.
To update from version 5, move all the fillable properties belonging to a translation to the corresponding translation models.
Added
deleteTranslations()
method for conveniently deleting translations
v5
v5.6.1
Added support for Lumen without Facades #259
Added support for Model accessors #257
Updated code style and added styleci to enforce it
v5.6.0
Added scope
notTranslatedIn()
#235
v5.5.1
Fixed a bug in locale fallback on
toArray()
v5.5.0
Added Laravel 5.2 support
Dropped Laravel 5.0 support
Added scope
whereTranslationLike()
#183Fire 'updated' event when saving translations. #190
setAttribute()
returns the model itself, which is now the default in eloquent. #201
v5.4
Added compatibility with custom primary key #174
v5.3
Added
whereTranslation()
scope #168
v5.2
Added option to override default locale #158
Added default value in
translatedIn()
scope #148Added new scope
withTranslation()]
to decrease the number of mysql calls made.Added documentation about scopes.
v5.1.2
Fixed db in tests is dropped and recreated to make tests more stable
Fixed bug when using syntax
$country->{'name:en'}
and locale doesn't exist #150Method isTranslationAttribute() is now public #151
v5.1.1
Fixed compatibility with Lumen #121
Fixed making an attribute on a translatable model hidden does not hide it #133
v5.1.0
Added mutator/accessor translations using the format
$country->{'name:de'}
thanks to @barryvdhAdded documentation in readme file
v5.0.1
Applied PSR-2 code style.
v5.0.0
Laravel 5 ready
Added configuration option for returning fallback translations
v4
v4.5.0
Added scope to list translated attributes in the current locale.
Force fire "saved" event when the original model is not saved, but the translation is #85
v4.4.0
Drops support for laravel 4.0.
Compatible with laravel 4.1 and laravel 4.2.
External config file.
Fallback issue fixed.
Added translated and translatedIn scopes.
Changed behavior: getting non existing translations with
getTranslation()
used to return objects, nownull
is returned.Translated attributes now shown when converting
toArray()
ortoJson()
.Fixed bug:
fill()
created empty translations even when translated attributes were not fillable.Added option to make translated attributes always fillable.
v4.3.0
The
Translation
class suffix default can be overridden in the app config. See 7ecc0a75dThe
app.fallback_locale
setting can be overridden in each model separately. See #33Fallback translation is not returned if it is not defined.
v4.2.0
Fallback locale now is taken from
app.fallback_locale
config key.
v4.1.1
Fixed issue with saving translations, caused by the update of the laravel core.
v4.1.0
Added fallback to default locale if translations is missing. #23
Added travis environment for laravel 4.2.
v4.0.0
Removed syntax
$model->en->name
because conflicts may happen if the model has a property nameden
. See #18.Added method
hasTranslation($locale)
. See #19.
v3.0.0
Fixed bug #7. Model's Translations were deleted when the model delete failed.
v2.0.0
Translatable is now a trait and can be used as add-on to your models.
100% code coverage
v1.0.0
Initial version
Translatable is a class extending Eloquent
96% code coverage
Last updated