0

私のアプリは開発サーバーで準備ができています。期待どおりに動作します。

最新の XAMPP / Codeigniter / HMVC を使用しています

本番サーバーにアップロードすると、エラーはスローされません。ログインページはテキストなしで表示されます

ログインビュー

<a href="login/switchLanguage/italian">
      <i class="icon-font"></i>&nbsp;<?php echo lang('language'); ?>
</a>

実行すると、次の出力が得られます。

    <a href="login/switchLanguage/italian"><i class="icon-font"></i>&nbsp;</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";

私は多くの質問と回答に失敗しました。

どんな提案も大歓迎です...

ありがとう!

4

1 に答える 1