【原創】DESTOON做中英雙語言(多語言)切換版本具體詳解


第一次發原創好激動,該注意點什么?

在開發過程中用戶有許多要求,比如這個多語言切換就是一個需求。

首先講解一下DESTOON(DT)后台系統如何做這個中英、甚至多語言切換的這個功能。

DT本身不自帶多語言切換功能,但是強大的DT可以切換默認語言和默認模板的。

首先登陸后台

      系統設置中-》網站設置-》SEO優化-》網站生成html-》關閉

這樣在切換模板的時候就不用手動在后台生成頁面了。

思路是利用默認模板和默認語言的切換,調用后台底層的php文件,動態生成多語言的頁面。

下面開始傻瓜式的教程:

    在根目錄下找到:

        【lang】--》找到【zh-cn】--復制【zh-cn】並改名為【en】--》將【en】里面文件的中文全部翻譯成英文的(各種詞典各種查啊!!!)

    第二步:

        根目錄--》找到【template】(就是放模板的文件夾)--》將【default】復制一份並改名為【English】

這樣就有兩套模板了,你可以去后台系統設置--》網站設置中看一下【默認語言】和【默認模板】兩個下拉列表是否出現了【en】和【English】選項,有請往下看,若沒有請回到本文頭部睜大你的眼珠子再跟着我做一遍!!!!!!

ok!恭喜你來到了這里。

原理就是把后台的選擇語言這個功能搬到前台去

首先在前台寫一個a標記

      <a href=" {DT_STATIC}changelang.php?language=en&template=english">切換為英文版</a>

然后在根目錄下新建php文件,直接復制我這段話進去就ok了!!!!

<?php
require 'common.inc.php';
if ($_GET) {
	
	$language = isset($_GET['language']) ? $_GET['language'] : '';
	$template = isset($_GET["template"]) ? $_GET["template"] : '';
	
	if ($language != '' && $template != '') {
		$config=array("language"=>$language,"template"=>$template);
		$CFG["language"] = $language;
		$CFG["template"] = $template;
		if(!is_write(DT_ROOT.'/config.inc.php')) msg('根目錄config.inc.php無法寫入,請設置可寫權限');
		$tmp = file_get(DT_ROOT.'/config.inc.php');
		foreach($config as $k=>$v) {
			$tmp = preg_replace("/[$]CFG\['$k'\]\s*\=\s*[\"'].*?[\"']/is", "\$CFG['$k'] = '$v'", $tmp);
		}
		file_put(DT_ROOT.'/config.inc.php', $tmp);
		tohtml('index');
	}
}
header("location:".DT_STATIC);

  這樣就可以實現中英文切換了!!!!

    但是!!!!這樣子有個致命的缺陷!!!!!!!

那就是你后台錄入信息的語言不會隨着更改語言而更改,加入錄入商品信息是中文的,你切換到英文版,商品信息還是中文的。

那么就會有小伙伴問我了,那怎么才能做到錄入的信息也是英文的呢??

沒有辦法我的小伙伴!!

說沒有辦法那是假的!

申請兩個域名啊,兩套系統啊,搞起來啊~~~錄入兩次啊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM