0

Bonjour Forum, lorsque je travaillais avec la bibliothèque CI 2.0.3 et l'internationalisation (i18n), j'ai rencontré ce problème. J'ai lu des articles similaires ici, mais ils n'ont pas résolu mon problème. J'espère que quelqu'un ici pourra me diriger dans la bonne direction.CodeIgniter et bibliothèque i18n

Le routes.php:

$route['default_controller'] = "home"; 
$route['404_override'] = ''; 
$route['scaffolding_trigger'] = ""; 

// '/en', '/de', '/ru' URIs -> use default controller 
$route['^(en|de|ru)$'] = $route['default_controller']; 

// URI like '/en/about' -> use controller 'about' 
$route['^(en|de|ru)/(:any)'] = "$2"; 

Cela fonctionne parfaitement, mais j'ai une zone appelée « blog », à l'intérieur du Blog CI_Controller est une fonction qui saisit un article de la base de données:

public function article() 
{ 
    $this->db->where('id', $this->uri->segment(4)); 
    $data['query']= $this->db->get('blogentries'); 

    $this->load->view('article_view',$data); 
} 

Merveilleux, fonctionne aussi. Le résultat est une URL comme/fr/blog/article/1. Dans les fichiers de langue que j'ai mes variables enregistrées comme ceci:

$lang['menu.blog'] = "Blog"; 

Dans le blog voir la variable $ lang est chargé:

<?=lang('menu.blog')?> 

Le problème a lieu lors de l'ouverture d'un article, le var de la le fichier de langue n'est pas chargé du tout. http://localhost/ au lieu de "Blog". Je suppose que cela a à voir avec le routage. Donc, si une URL comme/fr/blog j'aurais:

$route['^(en|de|ru)/(:any)'] = "$2"; 

Toutes les autres URL fonctionnent parfaitement et charger les variables à partir du fichier de langue correctement.

Mais comment puis-je gérer les URL comme/fr/blog/article/1? Est-ce que je pense dans la bonne direction? Les suggestions sont appréciées.

Merci.

Répondre

0

Je ne peux pas être comprendre ce que vous demandez, mais il semble que vous pourriez faire:

$route['^(en|de|ru)/blog/article/(:any)'] 

Cela devrait saisir l'autre langue, mais encore vous guide vers l'article de blog via l'identifiant.