Comments (5)
I am asking this because I have an entity "Page", for which I want translations in 3 different locales.
When I create a new Page in the database, I would expect that for each locale set in the config, a PageTranslation record is also created.
Current setup:
In my app config I have set the locales:
'locales' => array('nl','en','fr'),
'locale' => 'nl',
class Page extends Eloquent
{
use Dimsav\Translatable\Translatable;
public $translatedAttributes = array('title','content');
protected $table = 'pages';
protected $fillable = array('name','order','showinmenu');
}
class PageTranslation extends Eloquent implements SluggableInterface
{
protected $table = 'page_translations';
protected $fillable = array('title', 'description','order','locale');
}
And In my pagecontroller I create a new page:
class PageController extends \BaseController {
public function store()
{
$page = new Page();
$page->name = Input::get('name');
$page->showinmenu = Input::has('showinmenu');
$page->save();
}
}
from laravel-translatable.
It only adds a record in your model's translations table for the current locale. Why would you want it to add empty records for the other locales?
from laravel-translatable.
Thank you very much for your answer. Now I know this is default behaviour.
To answer yours:
The application I am making let's the admin user add pages to the front-end.
When he adds a new page in the backend, he is then taken to a form where he can enter the translated content for each locale available (ie a textfield for english, french, dutch,...content). So this is independent of his default locale.
It would be handy if the empty records for each locale were already available right after the user created the page.
from laravel-translatable.
You can still do that by using the translate() method mentioned in the documentation. Like this:
$country->translate('en')->name = 'abc';
$country->save();
In the form the user is taken to after creating a page you could then make specific fields and save them per locale.
For example:
in your view you could put fields like this:
{{ Form::label('content_en', 'English Content') }}
{{ Form::text('content_en',null,array('class' => 'form-control', 'required' => 'required')) }}
Then in your controller you translate the correct field:
$country->translate('en')->content = Input::get('content_en');
$country->save();
from laravel-translatable.
Hey @nexana,
you don't need empty db records to show empty input forms. Laravel-translatable only adds db records for translations that are defined.
Cheers
from laravel-translatable.
Related Issues (20)
- Add Laravel 5.8 support HOT 1
- Saving in translated model instead of saving in original model HOT 4
- Fetching Model by translated field and determine locale HOT 3
- Extra Fields or Properties For Translated Text HOT 2
- Can't translate to Portuguese HOT 3
- Display translated attribute even if no translation for current locale and fallback locale? HOT 3
- Has this package a possibility to get translations of related models HOT 2
- Ability to save in both languages HOT 8
- ID coming back with different data HOT 4
- Query where locale not working properly HOT 2
- What would be the best way to handle admin panel with translations? HOT 4
- how i can custom $translatedAttributes from outside model HOT 2
- Multiple Databases HOT 2
- Fallback to default locale with numeric field is not working as expected HOT 3
- get all and Fallback if translation is missing #23 HOT 2
- Wrong column name HOT 2
- Problem with relations HOT 3
- Prefix for default language HOT 6
- When I change local I don't get the translation HOT 7
- how to change the category translation on the fly? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-translatable.