开始制作

您现在的位置:主页 > 服务支持 > 使用教程 >

织梦dedecms如何做中英文多语言站点

来源:转载 发布时间:2018-07-25 15:27热度:

要实现织梦dedecms中英文多语言站点,锐途网小编总结了以下方法

 

一、首先在后台建栏目,有三点需要注意

1.需要做几种语言就加几个大的栏目。

2.栏目“常规选项”的文件保存目录设置为cn或者en

3.栏目“高级选项”的列表设置为cn_index.htm或者en_index.htm,模板文件都放在一个文件夹里面。

 

二、网站代码的调用

标签和单个独立站点类似,需要自己先尝试下就明白哪里需要注意下的。比如:当前位置就不能用{dede:field name='position'/},可以用: {dede:type}<a href="[field:typelink /]">[field:typename /]</a>{/dede:type} 。

 

三、剩下的就是分别建设每种语言下的栏目

文件建议用cn_、en_、jp_等这些前缀区分一下,一种语言就是一个站。

 

四、分页、当前位置显示英文方法:

有些细节还是无法满足英文站,比如列表分页出现“首页 上一页 下一页 末页”、当前位置:首页>about>,这样的问题改如何解决呢?

 

五、分页、当前位置显示英文方法:

1:列表分页英文设置教程

用arc.listview.class.php覆盖include/arc.listview.class.php

 

调用方法:

 {dede:pagelist listsize='5'/}

{dede:pagelist pagelang='en' listsize='5'/} 

pagelang:en为英文,cn为中文,默认语言中文

 

扩展阅读:

/**      *  获取静态的分页列表      *      * @access    public      * @param     string  $list_len  列表宽度      * @param     string  $list_len  列表样式      * @return    string      */     function GetPageListST($list_len,$listitem="index,end,pre,next,pageno",$pagelang)     {                     /*******************/                       if($pagelang='cn'){                                 $uahome="首页";                                $uaprevious="上一页";                                $uanext="下一页";                                $ualastpage="末页";                                $uapage="页";                                $uatotal="共";                                $uarecords="条记录";                             }else{                               $uahome=" Home ";                                $uaprevious=" Previous ";                                $uanext=" Next ";                                $ualastpage=" Last Page ";                                $uapage=" Page ";                                $uatotal=" Total ";                                $uarecords=" Records. ";                           }                              $prepage = $nextpage = '';         $prepagenum = $this->PageNo-1;         $nextpagenum = $this->PageNo+1;         if($list_len=='' || ereg("[^0-9]",$list_len))         {             $list_len=3;         }         $totalpage = ceil($this->TotalResult/$this->PageSize);         if($totalpage<=1 && $this->TotalResult>0)         {            return "<li><span class="pageinfo">".$uatotal." <strong>1</strong> ".$uapage." <strong>".$this->TotalResult."</strong>  ".$uarecords."</span></li> ";         }         if($this->TotalResult == 0)         {         return "<li><span class="pageinfo">".$uatotal." <strong>0</strong> ".$uapage." <strong>".$this->TotalResult."</strong>  ".$uarecords."</span></li> ";            }         $purl = $this->GetCurUrl();               $maininfo = "<li><span class="pageinfo">".$uatotal." <strong>{$totalpage}</strong> ".$uapage." <strong>".$this->TotalResult."</strong>  ".$uarecords."</span></li> ";                     $tnamerule = $this->GetMakeFileRule($this->Fields['id'],"list",$this->Fields['typedir'],$this->Fields['defaultname'],$this->Fields ['namerule2']);         $tnamerule = ereg_replace('^(.*)/','',$tnamerule);         //获得上一页和主页的链接         if($this->PageNo != 1)         {             $prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>".$uaprevious."</a></li> ";             $indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>".$uahome."</a></li> ";         }         else         {             $indexpage="<li>".$uahome."</li> ";         }         //下一页,未页的链接         if($this->PageNo!=$totalpage && $totalpage>1)         {             $nextpage.="<li><a href='".str_replace("{page}",$nextpagenum,$tnamerule)."'>".$uanext."</a></li> ";             $endpage="<li><a href='".str_replace("{page}",$totalpage,$tnamerule)."'>".$ualastpage."</a></li> ";         }         else         {             $endpage="<li>".$ualastpage."</li> ";         }         //option链接         $optionlist = '';         $optionlen = strlen($totalpage);         $optionlen = $optionlen*12 + 18;         if($optionlen < 36) $optionlen = 36;         if($optionlen > 100) $optionlen = 100;         $optionlist = "<li><select name='sldd' style='width:{$optionlen}px' onchange='location.href=this.options[this.selectedIndex].value;'> ";         for($mjj=1;$mjj<=$totalpage;$mjj++)         {             if($mjj==$this->PageNo)             {                 $optionlist .= "<option value='".str_replace("{page}",$mjj,$tnamerule)."' selected>$mjj</option> ";             }             else             {                 $optionlist .= "<option value='".str_replace("{page}",$mjj,$tnamerule)."'>$mjj</option> ";             }         }         $optionlist .= "</select></li> ";         //获得数字链接         $listdd="";         $total_list = $list_len * 2 + 1;         if($this->PageNo >= $total_list)         {             $j = $this->PageNo-$list_len;             $total_list = $this->PageNo+$list_len;             if($total_list>$totalpage)             {                 $total_list=$totalpage;             }         }         else         {             $j=1;             if($total_list>$totalpage)             {                 $total_list=$totalpage;             }         }         for($j;$j<=$total_list;$j++)         {             if($j==$this->PageNo)             {                 $listdd.= "<li class="thisclass">$j</li> ";             }             else             {                 $listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li> ";             }         }         $plist = '';         if(preg_match('/index/i', $listitem)) $plist .= $indexpage;         if(preg_match('/pre/i', $listitem)) $plist .= $prepage;         if(preg_match('/pageno/i', $listitem)) $plist .= $listdd;         if(preg_match('/next/i', $listitem)) $plist .= $nextpage;         if(preg_match('/end/i', $listitem)) $plist .= $endpage;         if(preg_match('/option/i', $listitem)) $plist .= $optionlist;         if(preg_match('/info/i', $listitem)) $plist .= $maininfo;                  return $plist;     }

 

2:{dede:field name='position'}中英文双语

替换前面的“首页”两成“Home”就行了,后台的栏目用英文就行

标签:{dede:field name='position'  function='str_replace("首页","Home",Html2Text("@me"))'/}