GVKun编程网logo

织梦CMS怎么做中英文多语言站点(织梦如何做中英文网站)

27

对于织梦CMS怎么做中英文多语言站点感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍织梦如何做中英文网站,并为您提供关于dedecms织梦如何做中英文多语言站、dedecms织梦怎么实现中英文分

对于织梦CMS怎么做中英文多语言站点感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍织梦如何做中英文网站,并为您提供关于dedecms织梦如何做中英文多语言站、dedecms织梦怎么实现中英文分页功能、DEDE织梦如何做中英文多语言站、hexo 多语言站点改造的有用信息。

本文目录一览:

织梦CMS怎么做中英文多语言站点(织梦如何做中英文网站)

织梦CMS怎么做中英文多语言站点(织梦如何做中英文网站)

 

要实现织梦CMS中英文多语言站点,织梦58总结了以下办法

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

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

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

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

二、网站代码的调用

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

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

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

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

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

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

具体请查看>>织梦做英文站分页、当前位置设置英文教程<<

本文章网址:http://www.ppssdd.com/code/12496.html。转载请保留出处,谢谢合作!

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

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

说到中英文站,是很多用户想用Dedecms织梦程序做多语言站,下面分享下做中英文多语言版本的站点如何操作,希望能帮助到大家。

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

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

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

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

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

二、网站代码的调用

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

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

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

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

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

dedecms织梦怎么实现中英文分页功能

dedecms织梦怎么实现中英文分页功能

dedecms织梦怎么实现中英文分页功能

dedecms织梦怎么实现中英文分页功能?

前言

之前做项目的时候遇到一个需求,因为是中英文版本的网站,所以分页也就需要对应的英文,在论坛、百度等地方搜索了很久均没能找到满意的答案,不过今天找到下面这篇内容,并进行测试,发现可以适合织梦目前最新的5.7版,并且已经成功的实现,所以与大家分享下:

温馨提示:下面的第几行,第几行可以忽略,用DW的搜索功能进行索引,可以方便找到,目标代码。而下面有些代码搜索不到,只是因为一些“空格”的问题,修改的时候注意下就能找到。

1、打开include/arc.listview.class.php(本文以DedeCMS5.7为例)

找到(约29行)

var $remoteDir;
登录后复制

在其下面加上一个新行

var $pagelang;
登录后复制

找到(约528行)

$list_len = trim($ctag->GetAtt("listsize"));
登录后复制

在其下面加上一个新行

$pagelang = trim($ctag->GetAtt("pagelang"));
登录后复制

找到(约531行)

if($list_len=="")
{
$list_len = 3;
}
登录后复制

在其下面加上

if($pagelang=="")
{
$pagelang = &#39;cn&#39;;
}
登录后复制

修改(约545行)

$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem));
登录后复制

$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem,$pagelang));
登录后复制

修改(新增)

function GetPageListST($list_len,$listitem="index,end,pre,next,pageno")
登录后复制

function GetPageListST($list_len,$listitem="index,end,pre,next,pageno",$pagelang=&#39;cn&#39;)
登录后复制

修改(约826行)

return "<li><span class=\"pageinfo\">共 <strong>1</strong>页<strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n";
登录后复制

if($pagelang==''cn'') {
return "<li><span class=\"pageinfo\">共 <strong>1</strong>页<strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n";
}
else
{
return "
  • Total 1Page ".$this->TotalResult." Records
  • \r\n"; }
    登录后复制

    修改

    return "<li><span class=\"pageinfo\">共 <strong>0</strong>页<strong>".$this->TotalResult."</strong>条记录</span></li>\r\n";
    登录后复制

    if($pagelang==''cn'') {
    return "<li><span class=\"pageinfo\">共 <strong>0</strong>页<strong>".$this->TotalResult."</strong>条记录</span></li>\r\n";
    }
    else
    {
    return "
  • Total 0 Page ".$this->TotalResult." Records
  • \r\n"; }
    登录后复制

    修改

    $maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong> 页 <strong>".$this->TotalResult."</strong> 条</span></li>\r\n";
    登录后复制

    if($pagelang==''cn'') {
    $maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong> 页 <strong>".$this->TotalResult."</strong> 条</span></li>\r\n";
    }
    else
    {
    $maininfo = "
  • Total {$totalpage} Page ".$this->TotalResult." Records
  • \r\n"; }
    登录后复制

    依照上面的方法,依次修改下面的获取上一页、主页、下一页、末页的内容

    2、打开列表模板页面,我这以list_article_en.htm为例,其中list_article_en.htm为英文版的列表页面模板,中文版的可以不用修改

    修改

    {dede:pagelist listsize=&#39;5&#39;/}
    登录后复制

    {dede:pagelist pagelang=&#39;en&#39; listsize=&#39;5&#39;/}
    登录后复制

    重新生成列表页成功。不过还有一点美中不足的地方是虽然已经实现了列表页的全英文分页了,但是文章页的“上一篇”、“上一页”或“下一篇”、“下一页”的功能还没能搞定,小编会研究后和大家再继续分享的。

    以上就是dedecms织梦怎么实现中英文分页功能的详细内容,更多请关注php中文网其它相关文章!

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

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

    说道中英文站,是很多用户想用Dedecms织梦程序做多语言站,下面秀站网分享下做中英文多语言版本的站点如何操作,希望能帮助到大家。

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

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

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

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

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


     

    二、网站代码的调用

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

    ".$uarecords."
            if($this->TotalResult == 0)
            return "
      
            $purl = $this->GetCurUrl();
                  $maininfo = "
               
            $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.="            $indexpage="
            else
                $indexpage="
            //下一页,未页的链接
            if($this->PageNo!=$totalpage && $totalpage>1)
                $nextpage.="            $endpage="
                $endpage="
            //option
    链接
            $optionlist = '';
            $optionlen = strlen($totalpage);
            $optionlen = $optionlen*12 + 18;
            if($optionlen < 36) $optionlen = 36;
            if($optionlen > 100) $optionlen = 100;
            $optionlist = "
            for($mjj=1;$mjj<=$totalpage;$mjj++)
                if($mjj==$this->PageNo)
                {
                    $optionlist .= "


    2:{dede:field name='position'}中英文双语
    替换前面的“首页”两成“Home”就行了,后台的栏目用英文就行
    标签:{dede:field name='position'  function='str_replace("首页","Home",Html2Text("@me"))'/}

    hexo 多语言站点改造

    hexo 多语言站点改造

    工作中搜索和查阅的文档以英文居多,于是便想着也改造一下自己博客。支持多语言的同时,顺便也算是给新的一年开一个头。

    Screenshot 2024-02-12 at 14.46.39.png

    目标

    这次改造的目标有两个:

    1. 全局多语言(中-英)的支持。
    2. 不同语言之间可以互相切换。

    探索

    hexo 以及之前用的 NexT 主题虽然有 i18n 的支持,但都是对导航、菜单等偏固定内容的支持,并没有全局支持。

    在网上搜索相关文章后,大致有如下 3 种解决方案:

    序号方案优点缺点
    1_post 下新建 en 文件夹存放英文文章。简单明了,无额外改动。博客首页会展示所有文章。如果需要按语言显示需另外做开发。
    2使用 hexo-generator-i18n 插件。简单,安装 + 配置即可使用。1. 插件较长时间没有更新.<br/> 2. 安装插件后还需要另做开发,如语言切换等。
    3创建两套网站存放不同版本语言。相对简单,完全独立。两套网站部分配置和代码有冗余。

    考虑到操作和维护(主要还是懒,不想自己再开发),还是决定采用第 3 中方案。

    同时在查找资料时发现了 Fluid 主题,感觉很舒服便趁此机会一同升级。

    改造

    在新博客的文件夹下,通过 hexo init 分别创建两个语言的博客。目录的结构如下:

    .
    ├── blog-cn
    ├── blog-en
    └── scripts

    针对 Fluid 主题和多语言的配置可以参考:记一次 Hexo 博客迁移与多语言站点改造。写的十分详细,按部就班即可。

    针对部署部分,参考:Hexo添加多语言支持「国际化i18n」。将部署流程汇总到了 shell 文件中,阅读起来可以稍微轻松一些,也方便部署。

    其本质就是在编译后的文件中多了一个 en 文件夹,存放英文内容。因此可以通过 https://{your-blog}/en 来访问。

    #!/bin/bash
    
    # Build CN blog
    cd blog-cn && pnpm run build
    
    # Build En blog
    cd ../blog-en && pnpm run build
    
    cd ../blog-cn
    mkdir ./public/en &&mv ../blog-en/public/* ./public/en/
    
    pnpm run deploy

    迁移

    hexo 的迁移一项是最轻松的事情。将 source 下需要的文件复制到新的地方即可。

    其他

    剩下的就只是翻译工作了,看看是否可以借助 Google 翻译或者 GPT 的力量了。

    最后欢迎来我更新过的博客玩耍。

    关于织梦CMS怎么做中英文多语言站点织梦如何做中英文网站的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于dedecms织梦如何做中英文多语言站、dedecms织梦怎么实现中英文分页功能、DEDE织梦如何做中英文多语言站、hexo 多语言站点改造等相关内容,可以在本站寻找。

    本文标签: