2017-06-11 1 views
0

質問は非常に簡単です。事前に読み込まれたリストをdbに翻訳する簡単な方法はありますか?例えば、町や国のリスト?プリロードされたレコードリストの10月CMS翻訳(翻訳プラグイン付き)

class SeedTownTable extends Seeder 
public function run() 
{ 

    $town_list = array(
     'Акко', 
     'Арад', 
     'Ариэль', 
     'Афула', 
     'Ашдод', 
     'Ашкелон', 
     'Бат-Ям', 
     'Бейт-Шеан', 
     'Бейт-Шемеш', 
     'Бейтар-Илит', 
     'Беэр-Шева', 
     'Бней-Брак', 
     'Герцлия', 
     'Гиват-Шмуэль', 
     'Кирьят-Малахи', 
     'Кирьят-Моцкин', 
     'Кирьят-Оно', 
     'Кирьят-Тивон', 
     'Кирьят-Хаим', 
     'Кирьят-Шмона', 
     'Кирьят-Ям', 
     'Кфар-Саба', 
     'Лод', 
     'Маале-Адумим', 
     'Маалот-Таршиха', 
     'Метула', 
     'Мигдаль-ха-Эмек', 
     'Модиин', 
     'Ход-ха-Шарон', 
     'Холон', 
     'Цфат', 
     'Эйлат', 
     'Эльад', 
     'Явне', 
     'Яффо' 
    ); 

    foreach ($town_list as $town){ 
     Town::create([ 
      'name' => $town 
      ]); 
    } 

} 

私はバックエンドコントローラのないレコードでタウンモデルを作った。 そして、このリストを翻訳したいと思います。ありがとう。

答えて

0

翻訳をデータ配列に追加し、setAttributeTranslatedを使用して翻訳バージョンを追加します。ドキュメントで述べたように

//取得した言語のための単一の翻訳の属性

する$ user-> getAttributeTranslated( '名前'、 'FR');

//言語

する$ user-> setAttributeTranslated( '名前'、 'ジャン・クロード・'、 '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(); 
}