私のアプリは開発サーバーで準備ができています。期待どおりに動作します。
最新の XAMPP / Codeigniter / HMVC を使用しています
本番サーバーにアップロードすると、エラーはスローされません。ログインページはテキストなしで表示されます
ログインビュー
<a href="login/switchLanguage/italian">
<i class="icon-font"></i> <?php echo lang('language'); ?>
</a>
実行すると、次の出力が得られます。
<a href="login/switchLanguage/italian"><i class="icon-font"></i> </a>
^
|
Here's supposed
to write "Italian"
ログインコントローラー
class Login extends MX_Controller{
function __construct(){
parent::__construct();
$this->load->helper('language');
}
function index($msg = NULL){
$data['msg'] = $msg;
$this->load->view('login', $data);
}
public function switchLanguage($language = "") {
$language = ($language != "") ? $language : "english";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
}
編集:
アプリケーション/config/hooks.php
$hook['post_controller_constructor'] = array(
'class' => 'LanguageLoader',
'function' => 'initialize',
'filename' => 'LanguageLoader.php',
'filepath' => 'hooks'
);
アプリケーション/フック/Languageloader.php
<?php
class LanguageLoader {
function initialize() {
$ci =& get_instance();
$ci->load->helper('language');
$site_lang = $ci->session->userdata('site_lang');
if ($site_lang) {
$ci->lang->load('login',$ci->session->userdata('site_lang'));
} else {
$ci->lang->load('login','english');
}
}
}
編集:
言語ファイルの例: application/language/italian/common_lang.php
<?php
//Application Global
$lang["common_appName"] ="Customer App";
$lang["common_search"] = "Cercare";
$lang["common_search_go"] = "Andare";
$lang["common_label_created_by"] = "Creato da";
//Menus
$lang["common_menu_home"] = "Home";
$lang["common_menu_dashboard"] = "Cruscotto";
$lang["common_menu_production"] = "Produzione";
$lang["common_menu_inventory"] = "Inventario";
$lang["common_menu_user_edit"] = "Modificare";
$lang["common_menu_logout"] = "Il logout";
$lang["common_menu_new_notifications"] = "Ci sono nuove notifiche";
//Submenus
$lang["common_submenu_dashboard"] = "Cruscotto";
$lang["common_submenu_production"] = "Produzione";
$lang["common_submenu_inventory"] = "Inventario";
$lang["common_submenu_orderlist"] = "Lista ordini";
$lang["common_submenu_calendar"] = "Calendario";
私は多くの質問と回答に失敗しました。
どんな提案も大歓迎です...
ありがとう!