2017-06-11 2 views
0

question est très simple, y at-il un moyen rapide de traduire une liste préchargée en db. Par exemple, liste des villes/pays?Octobre traduction CMS (avec translate plugin) de la liste préchargée des enregistrements

class SeedTownTable extends Seeder 
public function run() 
{ 

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

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

} 

J'ai fait un modèle de villes avec des enregistrements sans aucun contrôleur backend. Et je veux traduire cette liste. merci.

Répondre

0

Ajoutez la traduction à votre tableau de données et utilisez setAttributeTranslated pour ajouter la version traduite.

Comme mentionné dans la documentation

// Obtient un seul attribut traduit pour une langue

$ user-> getAttributeTranslated ('name', 'fr');

// Définit un attribut traduit pour une langue

$ user-> setAttributeTranslated ('nom', 'Jean-Claude', 'fr');

Essayez

$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(); 
}