一、如何搭建多語言站?
多語言/區(qū)域建站用于使用同一個(gè)后臺(tái)建立多語言網(wǎng)站。
1、使用步驟
1)在后臺(tái)"系統(tǒng)管理>數(shù)據(jù)區(qū)域"添加相應(yīng)的區(qū)域,具體參考默認(rèn)區(qū)域;
2)將多語言的模板放入模板目錄,不同語言的模板均放在template目錄下;
3)在后臺(tái)選擇語言切換到不同語言,分別設(shè)置:站點(diǎn)信息(注意選擇模板)、公司信息、欄目信息、添加內(nèi)容等;
4)在不同模板中添加多語言切換按鈕。
2、多語言切換按鈕
切換中文//標(biāo)簽解析出來的真實(shí)鏈接是/?p=/Do/area&lg=cn切換英文//標(biāo)簽解析出來的真實(shí)鏈接是/?p=/Do/area&lg=en
注意:PB2.0開始lg前面用&符號(hào),之前老版本用?符號(hào),更多語言,類似方式添加即可。語言切換也可以直接用真實(shí)鏈接訪問切換。
二、如何判斷當(dāng)前語言并高亮?
在按鈕上添加判斷語句:{pboot:if('{pboot:sitelanguage}'=='cn')}class="active"{/pboot:if}
三、如何修改頁面中的提示語句?
1、通用的面包屑提示文字
{pboot:positionindextext='Home'}//首頁文本改成了Home或{pboot:positionindextext='"Páginaprincipal"'}//首頁文本改成了Páginaprincipal,注意這里加了個(gè)雙引號(hào)避免因?yàn)榭崭駥?dǎo)致的只顯示前一個(gè)單詞問題
參數(shù)說明:
separator=* 分隔符,非必填,默認(rèn)為>>
separatoricon=* 分割圖標(biāo),非必填,如使用圖標(biāo)字體:separatoricon='fa fa-angle-double-right'
indextext=* 首頁文本,非必填,默認(rèn)為"首頁"
indexicon=* 首頁圖標(biāo),非必填,如使用圖標(biāo)字體:indexicon='fa fa-home'
參考文檔:https://www.pbootcms.com/docs/215.html找到【7、面包屑標(biāo)簽】
2、詳情上下頁提示文字
{content:precontentnotext='nomore'}{content:nextcontentnotext='nomore'}//設(shè)置"沒有了"文本,設(shè)置參數(shù)時(shí)如果帶空格,需要用單引號(hào)
在原有的基礎(chǔ)上增加了notext='no more',單引號(hào)內(nèi)的文字可自定義成需要的語言文字。
參考文檔:https://www.pbootcms.com/docs/223.html頁面中搜索"沒有了"
3、留言提示文字
在不二開程序的基礎(chǔ)上只能通過前端把留言設(shè)置成ajax提交,通過js來提示相關(guān)文字。
4、搜索結(jié)果頁面包屑、標(biāo)題文字
默認(rèn)在英文站會(huì)出現(xiàn)"Home>搜索",可以參考以下文章二開來實(shí)現(xiàn)實(shí)現(xiàn)成"Home>Search"
pbootcms英文站搜索結(jié)果頁面包屑和標(biāo)題翻譯
四、如何從分享的鏈接進(jìn)去直接顯示對(duì)應(yīng)語言版本?
pbootcms多語言是通過點(diǎn)擊帶參數(shù)鏈接來變換cookies中l(wèi)g的值控制,變換后參數(shù)消失,鏈接還是默認(rèn)的,不管哪種語言都是同一條鏈接,因此分享的時(shí)候就不支持點(diǎn)擊進(jìn)去對(duì)應(yīng)顯示想要的語言版本網(wǎng)站內(nèi)容。那么有什么辦法解決,這邊建議的方法是綁定二級(jí)域名或二開實(shí)現(xiàn)目錄名方式切換。
1、通過綁定二級(jí)域名
通過綁定二級(jí)域名來固定訪問的語言版本,如en.baidu.com。
2、直接訪問帶參數(shù)地址
尾巴添加語言切換參數(shù)/?p=/Do/area&lg=en
栗子:www.test.com/?p=/Do/area&lg=en
3、修改檢測(cè)cookies代碼和調(diào)整其他語言欄目url命名規(guī)則
此方法由群友影清如夢(mèng)提供,有需要的可以自行修改測(cè)試,這邊不建議使用。
①修改common里的檢測(cè)cookies代碼,文件位置:/apps/common/HomeController.php
找到第64行代碼
//未設(shè)置語言時(shí)使用默認(rèn)語言if(!isset($_COOKIE['lg'])){cookie('lg',get_default_lg());}
替換成
$en=strpos($_GET@['p'],'-en');$ps=strpos($_GET@['p'],'-sp');setcookie();if($en!==false){cookie('lg','en');}elseif($ps!==false){cookie('lg','sp');}else{cookie('lg','cn');}
②修改其他語言的欄目url,改成 xxx-en別名(尾巴增加對(duì)應(yīng)語言版本的標(biāo)識(shí)),其他語言參考操作。
4、二開程序使其支持目錄名方式切換
多語言目錄名切換方式如www.test.com/en/ www.test.com/jp/
此二開功能介紹頁面 ->pbootcms多語言站目錄名訪問
五、pbootcms多語言網(wǎng)站收錄問題
如果使用默認(rèn)的多語言切換,那么始終看到的是一個(gè)同樣的鏈接,這種情況一般來說中文版不影響收錄,英文版可能無法收錄。
目前的做法,如果考慮多語言收錄問題,建議綁定二級(jí)域名匹配每種語言或者二開功能實(shí)現(xiàn)目錄名方式切換語言。
六、留言表單驗(yàn)證碼錯(cuò)誤提示如何改成英文?
在ajax提交表單失敗后的代碼里添加:
if(response.data=="驗(yàn)證碼錯(cuò)誤!"){alert("Verificationcodeerror!");}else{alert(response.data);}
參考圖(具體可按需使用):
多語言建站碰到的問題可以在下方評(píng)論反饋!