>데이터 베이스 >MySQL 튜토리얼 >다국어 웹사이트용 CodeIgniter에서 동적 언어 파일 생성을 어떻게 구현할 수 있나요?

다국어 웹사이트용 CodeIgniter에서 동적 언어 파일 생성을 어떻게 구현할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 09:30:03629검색

How can dynamic language file creation be implemented in CodeIgniter for multi-language websites?

CodeIgniter를 사용하여 다국어 웹사이트를 위한 동적 언어 파일 생성

문제:

언제 CodeIgniter를 사용하여 다국어 온라인 사이트를 구축할 때 사용자는 데이터베이스에서 언어 파일로 데이터를 전달해야 하는 문제에 직면할 수 있습니다. 내장된 언어 클래스에는 데이터베이스 통합에 대한 기본 지원이 부족합니다.

해결책:

데이터베이스 레이아웃:

언어 관련 정보를 저장할 열이 있는 lang_token이라는 테이블을 만듭니다.

CREATE TABLE IF NOT EXISTS `lang_token` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `category` text NOT NULL,
      `description` text NOT NULL,
      `lang` text NOT NULL,
      `token` text NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

CodeIgniter 언어 파일 구조:

application/언어 디렉터리 아래에 영어 또는 독일어 등의 하위 디렉터리를 생성해야 합니다. 각 언어는 자체 폴더에 저장되어야 합니다.

즉시 언어 파일 생성:

컨트롤러에서 사용자 정의 함수 updatelangfile()을 생성하여 언어를 생성할 수 있습니다. 동적 파일:

function updatelangfile($my_lang){
        $this->db->where('lang',$my_lang);
        $query=$this->db->get('lang_token');

        $lang=array();
        $langstr="<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
                /**
                *
                * Created:  2014-05-31 by Vickel
                *
                * Description:  ".$my_lang." language file for general views
                *
                */"."\n\n\n";



        foreach ($query->result() as $row){
            //$lang['error_csrf'] = 'This form post did not pass our security checks.';
            $langstr.= "$lang['".$row->category."_".$row->description."'] = \"$row->token\";"."\n";
        }
        write_file('./application/language/'.$my_lang.'/general_lang.php', $langstr);

    }

사용:

데이터베이스가 변경될 때마다 이 함수를 호출하여 해당 언어 파일을 업데이트할 수 있습니다.

$this->updatelangfile('english');

참고:

컨트롤러 생성자에 다음을 로드하는 것을 잊지 마세요.

$this->load->helper('file');
$this->lang->load('general', 'english');

위 내용은 다국어 웹사이트용 CodeIgniter에서 동적 언어 파일 생성을 어떻게 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.