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

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

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

首先講解一下DESTOON(DT)後臺系統如何作這個中英、甚至多語言切換的這個功能。優化

DT自己不自帶多語言切換功能,可是強大的DT能夠切換默認語言和默認模板的。網站

首先登錄後臺ui

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

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

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

下面開始傻瓜式的教程:教程

    在根目錄下找到:開發

        【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);

  這樣就能夠實現中英文切換了!!!!

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

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

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

沒有辦法個人小夥伴!!

說沒有辦法那是假的!

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

相關文章
相關標籤/搜索