问题很简单,有没有快速的方法来翻译db中的预加载列表。例如城镇/国家名单?
class SeedTownTable extends Seeder
public function run()
{
$town_list = array(
'Акко',
'Арад',
'Ариэль',
'Афула',
'Ашдод',
'Ашкелон',
'Бат-Ям',
'Бейт-Шеан',
'Бейт-Шемеш',
'Бейтар-Илит',
'Беэр-Шева',
'Бней-Брак',
'Герцлия',
'Гиват-Шмуэль',
'Кирьят-Малахи',
'Кирьят-Моцкин',
'Кирьят-Оно',
'Кирьят-Тивон',
'Кирьят-Хаим',
'Кирьят-Шмона',
'Кирьят-Ям',
'Кфар-Саба',
'Лод',
'Маале-Адумим',
'Маалот-Таршиха',
'Метула',
'Мигдаль-ха-Эмек',
'Модиин',
'Ход-ха-Шарон',
'Холон',
'Цфат',
'Эйлат',
'Эльад',
'Явне',
'Яффо'
);
foreach ( $town_list as $town ){
Town::create([
'name' => $town
]);
}
}
我制作了带有记录的城镇模型,没有任何后端控制器。 我想翻译这个清单。 感谢。
答案 0 :(得分:0)
将翻译添加到数据阵列,并使用setAttributeTranslated
添加翻译版本。
如文件中所述
//获取语言的单个翻译属性
$ user-> getAttributeTranslated(' name',' fr');
//为语言
设置单个翻译属性$ user-> setAttributeTranslated(' name',' Jean-Claude',' fr');
尝试
$town_list = array(
[
'name' => 'Town Name Default Lang',
'name-es' => 'Town Name in Spanish',
]
...
)
foreach ( $town_list as $town ){
$t = new TownModel();
$t->name = $town['name'];
$t->setAttributeTranslated('name', $town['name-es'], 'es');
$t->save();
}