• TCDN 介绍

    [TOC] ## 简介 基于现有网站,无需任何改动,翻译成全新的其他语种网站,单独绑定域名,并支持搜索引擎收录和排名,结合CDN全球加速实现全球访问秒访问。



    Your browser does not support the video tag.

    视频中的示例网站: [http://http.qiye1.wang.market.zvo.cn](http://http.qiye1.wang.market.zvo.cn/) ## 功能 * 每个语种都可以绑定一个单独的域名进行访问 * 翻译后的小语种,查看源码后,源码也是翻译后的,非常适合被SEO收录 * 通过全球CDN加速,实现全球区域高速访问秒打开网站。 * 源站无需进行任何的改动,即可接入TCDN使用 * 支持对源站页面进行篡改任何内容之后,再显示给访问的用户。 * 内置对源站页面进行可编程处理,可用 javascript 语法对其内容进行精准篡改。 * 内置文件式缓存体系,一次翻译,极速访问,还能极大降低翻译消耗。 * 内置全自动化缓存刷新体系,可自定义对某个网址、目录、及链接深度进行自动更新翻译缓存。 * SAAS模式,部署一次即可添加无数个源站进行翻译访问。每个源站独立设置管理。 * 对页面翻译时,可自定义翻译术语、自定义翻译哪些元素、哪些元素不翻译、对那些图片进行翻译……高度自定义。 * 支持自定义要切换的小语种有哪些以及切换时所显示的文字。 * 支持对源站的跳转链接进行全部虚拟化,完全脱离源站的超链接。 * 支持用户在访问时,是否自动追加指定文字或html代码到网页之中。 * 支持对用户访问的页面进行内容自定义替换,可自定义是否替换某些文本为另一些文本。 * 支持配置翻译后的小语种网站,主域名是什么,是带www的还是不带 www的。 * 支持指定主域名访问的网站的语种。 * 支持自定义配置是否转化站内的外部跳转超链接,也就是点击网站中的外部超链接时,是否对外部的超链接页面进行虚拟化访问URL并进行翻译 * 支持解析一个主域名,能自动分配对应语种的子域名提供访问。 * 开放API接口,可通过API接口随意管理、设置网站、接入你自有的系统之中。 * 支持通过API来主动触发清理某个页面的翻译缓存,或清理某个目录下所有页面的翻译缓存等 * 支持对页面内存在的比如提交留言这种Ajax请求进行代理提交到源站 ## 优势 #### 支持私有化部署 我们支持 [私有化一键部署到自己服务器](236899.html) 部署简单,只要懂一丁点linux命令行就能自行完成部署。清晰的文件结构、详尽的日志记录,让你一切尽在自己掌控。 #### 超低的费用成本 TCDN 只需要以下两方面的成本: 1. 私有部署的服务器你只需要使用一年不到一百块的1核2G的服务器就能非常完美的跑起来!这也得益于我们的另一款产品 [网市场云建站系统](http://cms.zvo.cn) 十余年的不断深耕优化积累,将性能做到极致。将此技术用到了 TCDN 中。 1. [HTML翻译、JS引擎接口](255374.html) 翻译一个html页面只需要半分钱。而友商某球驿站的产品,翻译一个html页面需要一块钱。 #### 支持JS语法调优 支持在获取源站html页面源代码时,通过js语法书写js代码来做一些事情。在获取到源站源码后,在这个源代码上使用JS引擎进行处理执行你针对这个源站设置的js代码,比如 ````document.getElementById('xxx').innerHTML = '123';```` 修改其中某个元素的内容,然后将执行完这个JS之后的网页源码返回来,作为回源后获取源站页面源码的结果。 这里它可以用来操作网页的一些元素、页面改动了等等。 又比如可以对源站页面某些区域删除、追加了等等。 #### SAAS化能力支持 私有部署的TCDN服务,你可以放一个源站,也可以放多个源站。多个源站互不影响实现共存。也就是你部署一次,可以给成千上万的外贸企业给他们做单独的外贸站。 #### 超高性能底层架构 它采用的是 TCDN主程序+内存级缓存+翻译文件的磁盘级缓存 组成的一整套服务架构,不存在数据库,不会存在数据泄露及慢日志、数据库等瓶颈问题。它无管理后台,全部采用开放的 [API接口](https://doc.zvo.cn/tcdn/20241107/admin.siteSet.set.json.html) 进行管理,不存在恶意攻击越权等安全问题及管理后台额外占用服务器资源等问题。将服务器性能发挥到最大,将运维安全做到足够的省心! ## 绝对的技术实力 我们于2020年推出了我们的第一款针对网页的多语言切换产品 translate.js 发布于 [Github](https://github.com/xnx3/translate) 及 [Gitee](https://gitee.com/mail_osc/translate) ,一经发布受到广泛关注。 而这也是全球首款支持给前端开发者提供高度自定义设置的AI全自动多语言切换产品。再也不用忍受传统的 i18n 模块,还要手动一个个配置翻译后的文字,没技术含量还工作量巨大。 而在AI全自动多语言切换里,跟我们有同样能力的,只有google有提供此能力,但是它是不支持开发者自定义的,并且中国大陆无法使用,局限很大。所以我们脱颖而出,成为当时、以及当下(2024年),全球唯一的一款支持开发者高度自定义的AI全自动多语言切换的产品,并且还是开源的! 由此,越来越多的开发公司采用我们的产品为终端客户提供服务。比如,上到各政务部门、云计算厂商、下到个人博客,更有头脑灵活的朋友用它来做各种系统的AI翻译插件,比如 Discuz、易优CMS、迅睿CMS等等,而插件作者更是因此获得了超过万元的回报。对于此,我们完全认可并支持,让技术真正服务于人,改善人的生活,使我们的宗旨。 只不过这里可能改善的更多是开发者,不用加班掉头发了。而他们也在使用的过程中积极反馈遇到的问题,在极其庞大的使用基数下,经过这4年多的不断优化升级,它已经成为了成熟态,并可满足一切基于浏览器的产品进行高度定制化的AI翻译。这是我们的最核心的实力基础,也是我们不可替代的根本。 而后我们于2022年推出了 HTML 文档的整体翻译的能力。这个能力像是百度翻译了,这些互联网大厂,也有这个翻译服务,但是呢,虽然遥遥领先,但它不是为普通老百姓服务的,就一个原因,太贵了!比如它翻译一次(一个)html页面,就要四五毛钱,除了像是财大气粗的做外贸的大企业,普通小企业用得起的可能真不是太多。而且如果是量大的内容站,想吧优质内容、优秀的中华文明传播到世界各地,这个价格是根本不现实,没法实现的。于是我们发布了 HTML 文档翻译 这款产品,这款产品也是 TCDN 的最底层的基础。它将价格压低了百倍,真正让其正服务于民,为大众所用。经过两年的不断完善升级,多地区多集群版的高稳定态版本于2024年年初真正呈现。我们将其放在了 [华为云](https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI995571446412431360) 上以供用户在线购买使用 。 我们也紧跟着发布了基于此技术为核心支撑,结合我们十余年打磨的CMS建站产品的 [AI-SEO 亿级无人化全自动建站发文并提交搜索引擎推广](https://cms.zvo.cn/43731.html) 的产品,受到广泛欢迎。 我们的HTML文档整体翻译能力,支持极其复杂的html源码,以及有各种js、css、写错的html标签等高度混乱的HTML源码,它可以完美进行分析并翻译,输出翻译结果。而像一些大厂的文本翻译接口虽然也有少数描述的是支持带html标签的翻译,那也只是仅仅的非常简单的并且书写正规的标签才能被识别翻译,容错率是近似于为0的。又比如我们可以支持到单次百万级大小字符的HTML源码进行完美的翻译输出,而文本翻译的产品,可能会要求你单次不能超过 2000 个字符。 就如电子产品一般,是不是自研,别人一制裁就能见分晓。而软件产品,是否全部自有,能不能在无网络环境下部署使用,就能看出是否有深度依赖的第三方服务。我们整套 TCDN 产品,是可以做到无任何外网情况下的纯局域网环境的部署使用的。 ## 常见问题 #### 它跟 translate.js 的纯前端js的翻译有什么不同? translate.js 这个JS翻译组件,是在页面加载完毕后,去进行的翻译,它只是对于人视觉所看的文字进行翻译,如果你查看网页源代码,会发现它的源代码还是原本的语言,并没有改变。 而 TCDN 是作用于html源代码层面的,它相当于在你原本 html 服务器 跟 访客的浏览器 中间,加入了一层,这一层可以理解为一层CDN,我们称之为 TCDN层 (translate CDN),当访客在浏览器中输入网址访问你的网站时,会先访问到TCDN,然后tcdn会进行识别当前有没有翻译的缓存,有呢就直接把缓存返回给用户浏览器进行显示,如果没有缓存呢就去你自己真正的方html文件的服务器去拉取这个html文件,将html文件拉取到TCDN后,它会自动进行识别并进行翻译,而后进行缓存,然后将结果再返回给用户浏览器。如此,如果用户通过浏览器查看网页源代码,会发现源码也是被翻译过的了。当然,如果搜索引擎爬虫过来爬取,爬的也会是翻译之后的文本进行收录。你网站翻译为多少语种,搜索引擎就会爬多少语种,收录的自然也会更多,而用户用自己的语言搜索关键字时,也能搜到你的网站。 #### 它的翻译后的html文件数据存在哪里 存在于你自己部署TCDN的服务器本身,除了 用到两个接口 [html翻译接口](https://doc.zvo.cn/tcdn/api/doc.html) 、 [js引擎](https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1062632212438482944) 这两个API接口是通过从华为云购买次数外,其他的全部都存放在你自己部署TCDN的服务器之上。 毕竟,在很多人心里,在自己服务器上的才是可控的、安全稳定有保障的。 #### 它的html翻译接口的翻译次数是怎么算的 比如我的中文网站设定了要支持20个语种,那么除了原本的中文外还有19个其他的语种需要翻译,那么这就要使用19次 html翻译接口。 ## 免费使用 你完全可以自己弄一台服务器,[私有部署](236899.html)它,然后进行使用,而这全部都是免费的! 如果你是网络公司,服务的客户比较多,追求的是利润最大化,推荐你使用 [收费企业版本](248423.html) ,它可以让你更好的赚钱。 ## 合作加盟 我们是纯技术团队,专注于技术研发,如果您有客户资源,或者对我们这个产品有兴趣,欢迎联系我。 手机: 17076012262(微信同号)(手机如果打不通可以直接加微信)
  • 私有部署

    [TOC] ## 1. 准备 [注意,如果你想在宝塔中一键部署,请点此查看宝塔部署相关文档](302663.html) #### 1.1 服务器规格 操作系统: * CentOS 7.4 (没有7.4的话 7.0、7.6也可以) * RockyLinux 8 * openEulor 20 (如果没有20版本那就选22版本) * EulerOS 2.0 CPU架构:支持 x86_64 64位 CPU核数: 1核 内存:0.3G (最小300MB内存的服务器可以跑起来,推荐使用0.5G及以上的服务器) 带宽:1MB (大点最好,5MB或以上更好) 磁盘:30GB(系统盘30G,无需在单独购买数据盘。如果你所有的要翻译的网站页面数少于一万,这个就足够了) #### 1.2 服务器端口 使用端口号:80、6379 对外开放端口:80 ,注意,**一定不要开放所有端口,不要开放 6379端口** ## 2. 部署 #### 2.1 安装脚本 新开服务器后,直接运行以下脚本进行安装部署,**注意,不要安装宝塔了乱七八糟的东西!!![如果你想在有宝塔的服务器用,可点此查看直接从宝塔就能安装](302663.html)** ```` yum -y install wget && wget https://gitee.com/mail_osc/translate/raw/master/deploy/tcdn_install.sh -O ~/install.sh && chmod -R 777 ~/install.sh && sh ~/install.sh ```` 如果你是海外服务器,上面的无法安装提示连接超时,可以用github的安装源进行安装: ```` yum -y install wget && wget https://raw.githubusercontent.com/xnx3/translate/refs/heads/master/deploy/tcdn_install.sh -O ~/install.sh && chmod -R 777 ~/install.sh && sh ~/install.sh ```` #### 2.2 config.properties 配置 配置文件: ```` /mnt/tcdn/config.properties ```` 设置其中的这几个参数的值: ```` translate.tcdn.api.html.key translate.tcdn.api.jsParser.key token ```` 这几个参数怎么填写,在这个配置文件本身之中都有详细说明,请认真阅读配置文件中的设置说明。 其中两个key是要购买 html翻译、 JS引擎 这两个服务得到的key, 有关这两个服务的详细说明及购买开通网址,请参考: https://translate.zvo.cn/255374.html 至于怎么开通、怎么获取 AppCode 参数,可以参考这个视频:



    Your browser does not support the video tag.

    另外额外说明一下, 同一个华为云账号,购买的 html翻译接口 跟 JS引擎 这俩商品,获取到的 AppCode 是相同的,是同一个。 另外即使购买多次, AppCode 也不会改变。也就是你接口次数快用完了,继续购买, AppCode 还是同一个不会变的。 另外 token 的值你需要设置一个,不然你都无法设置源站,没有源站tcdn自然也就不会正常使用的。 如果你想确保绝对安全,你可以在设置好,访问也都没问题之后,将 token=xxxxx 这行直接注释掉,那么所有的管理API接口就都会不可用。 设置好后,执行命令重启 tcdn 服务,使之生效,重启命令: ```` sh /mnt/tcdn/start.sh ```` ## 3. 测试 直接访问你的ip,然后就可以看到如下页面: ![](https://translate.zvo.cn/fileupload/2024/11/30/3e5454e88b964fc89d73b193c814fa34.png) 在最下方填写上网址: http://qiye1.wang.market 目标语言选上个 English 试试看,看是否能正常打开,如果能正常打开,证明 config.properties 配置都正常, 如果打不开,则会出现相关提示 ## 4. 使用 你可以用你自己电脑下载 [TCDN Admin 可视化管理客户端](267897.html) 来管理你的 TCDN服务,比如添加源站、设置语种、绑定域名、缓存管理 等等操作 ## 5. 更多扩展 * [美化切换语言的 select 切换选择](241908.html) * [配置https并全球任何国家高速访问网站](241863.html) * [配置tcdn服务的端口号](290619.html) * [配置 TCDN 回源源站时的请求头](290642.html) * [配置企业版本的授权码](248423.html) * [配置TCDN服务全自动刷新翻译缓存的线程数](290651.html) * [设置TCDN在服务器上的资源占用](325071.html) ## 6. 文件结构及日志 #### 6.1 文件结构 tcdn 会被安装到 /mnt/tcdn/ 目录下,文件结构为: * **config.properties**配置文件,用于配置 JS引擎、HTML翻译等 * **start.sh** 启动脚本 * **cache/** 缓存文件夹,用于存放翻译后的html文件。其内会以源站为子文件的形式进行存放。 * **bin/** 应用程序 * **logs/** 日志文件 * **tcdn.log** tcdn运行时的常规日志 * **jsParse_2024-11-06.log** JS引擎接口使用日志,它会每天生成一个日志文件 * **htmlTranslate_2024-11-06.log** HTML翻译接口的使用日志,它会每天生成一个日志文件 #### 6.2 日志文件 * **/mnt/tcdn/logs/tcdn.log** tcdn的常规日志,可用于开发及部署调试、排错等进行查看使用 * **/mnt/tcdn/logs/jsParse_xxx.log** 调用JS引擎接口的记录日志,它会记录什么时间、多少字符、js引擎执行时间等。 * **/mnt/tcdn/logs/htmlTranslate_xxx.log** 调用html翻译接口的记录日志,它会记录什么时间、多少字符、什么url、执行时间、计算节点等。
  • 通过宝塔面板Docker应用商店部署TCDN

    [TOC] ## 简介 基于现有网站,无需任何改动,翻译成全新的其他语种网站,单独绑定域名,并支持搜索引擎收录和排名,结合CDN全球加速实现全球访问秒访问。



    Your browser does not support the video tag.

    视频中的示例网站: [http://http.qiye1.wang.market.zvo.cn](http://http.qiye1.wang.market.zvo.cn/) ## 1. 通过宝塔面板Docker应用商店部署TCDN 首选需要你的宝塔面板需要 **9.3.0** 及以上版本。 不然你在下一步部署时,是搜索不到我们 TCDN 这个服务的。 如果你没有安装宝塔面板,可以先去安装宝塔面板: https://www.bt.cn/new/download.html?r=dk_tcdn 请一定注意安装的版本不要低于 9.3.0 宝塔里面安装,你需要保证你服务器配置不要低于 1核、2G内存的服务器。因为宝塔、docker等也要占用你服务器本身的资源。[另外你也可以单纯只安装TCDN,只需要0.5G内存即可运行。](236899.html) ## 2. 部署 #### 2.1 找到宝塔面板中的TCDN服务 通过左侧菜单中的 **Docker** , 打开后,点击坐上方的 **应用商店** , 在应用搜索中,输入框输入 **tcdn** ,然后点击右侧的搜索图标,即可看到我们这个 TCDN应用了,如下图所示: ![](https://translate.zvo.cn/fileupload/2024/12/20/b617eb8abf2e4c41adac2a4e3c160225.png) 点击 **安装** 按钮,会弹出一个配置参数的窗口 #### 2.2 配置参数 ![](https://translate.zvo.cn/fileupload/2024/12/28/ba929bbb03d64b8b971d9634f59d6938.png) 参数填写: **翻译code** **JS引擎code** ,这两个key是要购买 html翻译、 JS引擎 这两个服务得到的code码, 购买链接为: [https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1011883756782637056](https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1011883756782637056) 至于怎么开通、怎么获取 AppCode 参数,可以参考这个视频:



    Your browser does not support the video tag.

    * **token** 参数用于管理你的tcdn服务,类似于你tcdn服务的一个管理密码,你需要把token这个参数手动复制一下进行保存,这个参数将在下面会进行使用。 除了 **翻译code** 、 **JS引擎code** 、 **token** 这三个参数外,其他的都不用管,默认即可。 然后点击 “确定” 按钮进行安装。 安装可能会持续几分钟到十来分钟,安装完成后,就可以进行下一步的访问测试了。 另外,同一个华为云账号下购买的 **翻译code** 、 **JS引擎code** 这两个,它的 code 是相同的。 ## 3. 访问测试 #### 3.1 访问测试 直接访问你的 ip:端口号 ,然后就可以看到如下页面:



    Your browser does not support the video tag.

    #### 3.2 翻译测试 然后在最下方填写上网址: http://qiye1.wang.market 目标语言选上个 English 试试看,看是否能正常打开,如果能正常打开,证明配置都正常, 如果打不开,则会出现相关异常提示,你可以根据提示检查一下是不是你的 **翻译code** **JS引擎code** 这两个参数有配置错误,也或者你可直接 [联系我们](4030.html) 请求我们进行帮助



    Your browser does not support the video tag.

    注意,第一次使用翻译时会有十几秒延迟,正常现象,多等一会即可。 (真正要上线的网站是会提前翻译好并缓存的,会毫秒级打开,不会这么慢,不必担忧打开慢的问题) ## 4. 使用 #### 4.1 下载管理TCDN的客户端 Windows 系统下载 [主下载通道](http://bigfile.leimingyun.com:23580/translate/tcdn-admin/windows/tcdn-admin.zip) | [备用下载通道](http://down.zvo.cn/translate/tcdn-admin/windows/tcdn-admin.zip) #### 4.2 启动 下载的是zip压缩包,将其解压出来,注意,解压出来的路径不要有中文等特殊字符,免得出现异常情况。 解压出来后,按照如下视频,双击 start.bat 即可启动



    Your browser does not support the video tag.

    #### 4.3 设置跟TCDN服务器进行匹配通信 浏览器打开网址 ````http://127.0.0.1:8080```` 进行使用。 推荐使用Chrome或者Chrome内核的浏览器



    Your browser does not support the video tag.

    #### 4.4 添加一个源站(你现有的网站)



    Your browser does not support the video tag.

    #### 4.5 在宝塔面板中绑定访问域名并进行反向代理到 TCDN 服务



    Your browser does not support the video tag.

    #### 4.6 对源站中页面的文本进行更改 可以对源站中的某些文本进行更改、对源站的html源代码进行追加代码、对源站的ajax请求进行拦截并更改其数据,以便达到配合翻译的目的等。



    Your browser does not support the video tag.

    ## 5. 更多扩展 * [美化切换语言的 select 切换选择](241908.html) * [配置https并全球任何国家高速访问网站](241863.html) * [配置tcdn服务的端口号](290619.html) * [配置 TCDN 回源源站时的请求头](290642.html) * [配置企业版本的授权码](248423.html) * [配置TCDN服务全自动刷新翻译缓存的线程数](290651.html)
  • TCDN Admin 客户端 - 可视化管理

    TCDN 本身是部署到服务器上,然后提供API接口以进行设置的,它是没有可视化管理界面的。 为了方便管理,同时能降低对服务器的资源无效占用,可视化管理界面采用的是客户端软件的形式,也就是你自己的电脑下载一个客户端软件,双击运行进行使用的这种方式。 [TOC] ## 软件下载 Windows 系统下载 [主下载通道](http://bigfile.leimingyun.com:23580/translate/tcdn-admin/windows/tcdn-admin.zip) | [备用下载通道](http://down.zvo.cn/translate/tcdn-admin/windows/tcdn-admin.zip) ## 使用教程 #### 1. 启动 下载的是zip压缩包,将其解压出来,注意,解压出来的路径不要有中文等特殊字符,免得出现异常情况。 解压出来后,按照如下视频,双击 start.bat 即可启动



    Your browser does not support the video tag.

    #### 2. 设置跟TCDN服务器进行匹配通信 浏览器打开网址 ````http://127.0.0.1:8080```` 进行使用。 推荐使用Chrome或者Chrome内核的浏览器



    Your browser does not support the video tag.

    #### 3. 添加一个源站(你现有的网站)



    Your browser does not support the video tag.

    #### 4. 对源站中页面的文本进行更改 可以对源站中的某些文本进行更改、对源站的html源代码进行追加代码、对源站的ajax请求进行拦截并更改其数据,以便达到配合翻译的目的等。



    Your browser does not support the video tag.

    #### 5. 设置每过10分钟自动刷新一次首页 也就是让首页每过10分钟自动同步一次源站的首页,以达到用户访问首页时,首页的数据不至于太老旧。 ## 更多 [更多视频指导可点此查看](tcdnvideo.html)
  • 启用https并全球任何国家高速访问

    比如部署TCDN的服务器本身在中国,那么如果在欧洲、非洲访问时,可能会因为网络问题导致网站打开慢、甚至有小小几率打不开的情况, 这并不是服务器或者TCDN系统有缺陷,而是单纯因为不同地域之间,网络连通的问题导致的,需要解决的是网络连通问题。 ## 方式一,采用 Cloudflare 全球CDN加速(推荐) 它有两个无法拒绝的优势: 1. 全免费 2. 全自动加SSL证书,无需任何配置 它也有一个小小的缺点: 它不对中国大陆区域进行CDN加速。 如果你是在中国大陆,比如在山东,你访问用 Cloudflare 加速的网站时,可能你访问到的是 Cloudflare 的日本节点。可能打开速度是1~2秒,并不如直接访问国内服务器快。另外它还有非常小的几率访问时是打不开的,虽然几率很小,可能有个百分之一,但是还是有这个情况。 这个也只是针对中国大陆用户访问才会出现的问题。 这里有一篇针对 CloudFlare 如何使用的文档很不错,可以参考: https://www.cnblogs.com/EthanS/p/18137827 ## 方式二,采用全球CDN加速 阿里云、华为云、腾讯云、等等各大云厂商都有全球CDN加速这项云服务,可以通过此来加速你的网站,使全球秒打开 它相比方式一来说,它的优势是即使你在中国大陆访问,也非常稳定。 但它有个致命的缺点,就是花钱! 1. 它按照实际流量进行扣费,大概1GB流量3~5毛钱上 1. 如果你配置SSL证书,你还要花钱买证书。它不给你自动加SSL证书。如果你用免费的证书,要面临3个月换一次的麻烦。 1. 如果你用的了ssl证书使用的https请求,它还额外要按照https的请求次数再扣一次费(http请求不会额外扣费)
  • 美化切换语言的 select 切换选择

    [TOC] ## 需求示例 这里以一个具体的需求来演示: 比如,下图这个网站,切换语言的下拉选择框再最左上角,简直丑爆了,我们的目的是让这个切换语言的下拉选择框显示到如下图箭头所示的地方,那样就正常了,就美观了。 ![](https://translate.zvo.cn/fileupload/2024/11/08/e0320660a7114b7088c43b5f0f71b1ea.png) ## 第一步:审核元素,调整CSS样式 (这个需要懂前端CSS的技术人员,通过浏览器审核元素的方式就能直接调试) 这个切换语言的元素id是 ````translatejs_tcdn_top```` ,也就是我们可以写一个css样式,来对这个id进行补充样式。比如: ```` #translatejs_tcdn_top { position: absolute; top: 39px; left: 380px; height: 35px; width: 120px; } ```` 即可达到下图的效果: ![](https://translate.zvo.cn/fileupload/2024/11/08/1503203a25c4445498343e444ca2e4d9.png) ## 第二步:将调整的CSS样式追加到网站上 第一步调好了后,样式都在你自己浏览器上临时保存的,如果你刷新页面,就又回去了,你需要把这个样式追加到你当前显示的网站页面中。 这里有多种方式,以下列出来的几种方式,你可以选择其中某个最适合你当前情况的 #### 2.1 可选方式:在你的源站中追加上 比如,在你源站(原本的网站)中,有个所有页面都使用的css样式文件,比如 style.css ,你可以吧调好的切换语言样式 ```` #translatejs_tcdn_top { position: absolute; top: 39px; left: 380px; height: 35px; width: 120px; } ```` 直接追加到你这个样式文件的最后。 #### 2.2 可选方式:在 TCDN 里追加 这种方式完全不需要动源站的任何东西。 通过管理网站的API接口 http://doc.zvo.cn/tcdn/20241107/admin.siteSet.set.json.html 其中有个参数 ```` htmlAppend :翻译完成后追加到 HTML 页面的代码,如 JS、CSS 等。这段代码在输出到用户浏览器之前追加,无论是翻译结果还是缓存都会追加。 ```` 需要注意的是,它相当于是追加到你原本页面的html代码的最后,也就是 ````````的后面,这样追加的话,还需要把 ```` ```` 也就是,设置时,htmlAppend 参数它提交的数据如下图所示: ![](https://translate.zvo.cn/fileupload/2024/11/08/b67b00c1c8a14898b30280e31e6cf7be.png) 设置好后,当再访问 TCDN 上解析的域名,你会发现它已经变过来了,你查看源代码,会发现它的最后是这样的: ![](https://translate.zvo.cn/fileupload/2024/11/08/ad1c3057cfee4a1dbc1c4fa6cba72d2a.png) 注意看上图的最后一行。 ## 扩展 如果你方便调整源站的html,你甚至可以在源站的html的某个地方,加上个: ````
    ```` 如果有 ````translate```` 这个id,那么页面上自动追加进去的切换语言选择框,会追加到这个id里面去。相反,如果没有这个id,那么切换语言选择框会直接追加到 body 里面,成为body下的一个子元素。
  • TCDN开源版本与企业版本对比

    [TOC] TCDN 企业付费版本,一次性付费,永久使用。 帮你部署好你只管用,另手把手参与指导让你适配好第一个网站,以使你最短时间里全面熟悉系统的使用。 购买付费企业版本,费用为 3500 元,第二年起每年有使用费1000元。 (支持资源互换,用你们擅长的来跟我们进行交换,互相提升。) ## 具体对比 | | 开源免费版本 | 付费企业版本 | | ------------ | ------------ | ------------ | | 源站数量 | 1个 | 多个 | | 缓存规则 | <=2个 | 不限制 | | 缓存自动刷新规则 | <=2个 | 不限制 | | 文本替换规则 | <=2个 | 不限制 | | 自动翻译缓存线程 | <=3个 | <=15个 | | 绑定域名 | 支持 | 支持 | | 子域名访问 | 支持 | 支持 | | 人工指导 | 不支持(请看文档) | 支持(第一个站提供指导) | | 多线程寻找页面 | 1线程 | 多线程 | | 待补充 | …… | …… | #### 源站数量 TCDN部署到你自己服务器后,支持配置几个源站。 开源版本只能配置一个源站,而企业版本可以配置多个源站。 当然,每个源站都可以绑定自己的域名,并支持范域名访问,这些基本使用上,开源版本跟企业版本是一样的,只不过支持加入的源站数量不同而已。 比如,你的服务客户有10个,如果是部署开源版本,你需要开10个服务器,每个客户给他部署一次。 而企业版本,则只需要开一个服务器,配置上10个源站就好了。 #### 缓存规则 可以设置,某个url每隔多久自动刷新一次缓存。 #### 缓存线程 可以设置开启多少个线程来同步执行缓存管理。 #### 多线程寻找页面 这里指回源源站时,TCDN系统是要先[爬源站的页面来构建sitemap](https://github.com/xnx3/sitemap),它的原理是通过你源站主域名进入,然后通过首页中a标签的href值,来搜集所有首页中出现的当前网站的url,然后再进入这些url,重复类似于首页的步骤,来获取到源站的所有页面。 这里的多线程回源能力,也就是根据一个源站网址来获取所有页面时,是用一个线程去取呢,还是用多个线程去同时获取。 开源版本是只有一个现成;而企业版则是可以有多个线程。具体有几个线程,则要看你的服务器是几核的CPU。 比如你的服务器是1核2G的配置,那这个也是启用一个线程的,如果你的服务器是4核4G的配置,那这里将会启动4个线程去抓取,速度会比1线程来说,提高四倍。 ## 企业版部署 企业授权版本我们会给你开一个授权码,你 [部署好tcdn](236899.html) 后 ,还需要把授权码也配置进去 #### 第一步:先正常部署 [点此查看部署方式,进行部署](236899.html) #### 第二步:配置授权码 编辑文件 ````/mnt/tcdn/config.properties```` 加入一行: ```` authorize=xxxxxxxxxxxxxxx ```` 其中的值便是你购买授权后发给你的授权码 #### 第三步,重启TCDN 执行重启命令: ```` /mnt/tcdn/start.sh ```` 如此,就完成了。 ## 费用说明 企业版本的授权是一次性费用,授权是授权的你个人或者你公司,你可以部署多个,也就是部署到你名下的多台服务器。但是只有第一次的安装以及指导是免费的,如果你需要部署第二次、第三次,每次部署需要额外收费400元。 另外如果你公司负责此的员工离职了,没有做交接,新员工想要我们继续指导培训,需要另收费,指导一次另收费 300元,这个指导,指的是让你新员工能适配好第一个网站。 还有额外要注意的是,TCDN 系统中有两项接口调用费,走的是华为云API,是 [HTML翻译接口跟 JS引擎](255374.html) ## 联系我们 [联系方式点此查看](4030.html)
  • 开发调试时,如何确定缓存已被清除

    在开发阶段,会经常调试,有种情况,当使用 [清理缓存接口](http://doc.zvo.cn/tcdn/20241107/admin.cache.clear.json.html) 把原本被缓存的页面清理掉后,你访问,发现还是之前的页面,感觉还是访问的被缓存的,如何确认是否真的是访问的缓存 [TOC] ## 第一步,进入TCDN服务器确认 TCDN的缓存文件,也就是缓存的html页面,是存放于 ````/mnt/tcdn/cache/```` 这个目录内的,这个目录内的文件夹名字,是以源站域名命名的,比如你的源站是 http://www.zvo.cn ,那么你这个源站的TCDN缓存文件则是 ````/mnt/tcdn/cache/www.zvo.cn/```` 在这个目录中。 这个目录中的文件夹是以语言命名的,比如你想查看英语访问的tcdn页面,那么你就进入 english 文件夹,也就是 ````/mnt/tcdn/cache/www.zvo.cn/english/```` 这里面的目录结构就完全跟你源站的目录结果一模一样了,你从中找到你访问的网址的对应的目录结构的文件,查看一下其源代码,来确认一下它是你浏览器里看的呢,还是它已经是新的,但是你浏览器还没变过来。 如果是前者,查看这个缓存文件的源代码,就是旧的,那么你再执行上面的清理缓存接口,清理这个缓存,清理后,看看文件是不是消失了? (如果没有消失,看看文件的创建时间是否是最近几秒的,有可能是你刚清理它又立即被别人访问或自动刷新给重新缓存了) ## 第二步,多种情况排查 #### 情况一: 缓存文件已经是新的,但是你浏览器还没变过来 缓存文件已经是新的,那说明 TCDN及缓存体系是完全无任何异常的,问题不在 TCDN及缓存上,而是外部因素。 如果你配置了CDN,你登录你CDN管理后台,去手动刷新一下缓存。这里应该是你CDN给缓存了,你访问的时候访问到了CDN,CDN给你返回了html内容,压根就没进入到TCDN服务器。 如果没配置CDN,那么可能是你浏览器本身有缓存,这个可能是比较小的, 你可以 Ctrl + F5 强制清除缓存刷新,看看是否已经好了。 #### 情况二: 重新缓存后,缓存文件就是旧的 你可以手动访问一下你本身的源站的这个URL页面,去确认一下你源站的这个URL页面是否返回的就是旧的,是你本地还没更新上。 #### 情况三: 清理缓存接口执行后并没有清理 你执行上面的 [清理缓存接口](http://doc.zvo.cn/tcdn/20241107/admin.cache.clear.json.html) ,清理这个缓存,清理后,看看文件是不是消失了? (如果没有消失,看看文件的创建时间是否是最近几秒的,有可能是你刚清理它又立即被别人访问或自动刷新给重新缓存了) 如果缓存文件没有消失,并且这个缓存文件的创建时间都没发生变化,那么说明你执行清除缓存接口后并没有成功清除掉缓存文件, 1. 你可以详细检查一下你调用清理缓存接口传入的参数是否合格,有填写错误 2. 你调用接口后,接口给你的返回值是否是提示失败 3. 可以手动查看日志文件 ````tail -f /mnt/tcdn/logs/tcdn.log```` 一边查看日志文件,一边清理缓存的几口,看是否有报错误(这个可能性是很小的) 如果以上都不行,那么 [联系我们](https://translate.zvo.cn/4030.html) 来说明情况反馈一下,请求支援吧
  • 调用的接口及计费

    tcdn 服务部署到你自己服务器上后,它运行还依赖另外两个API接口,这两项接口调用是有费用消耗的,并不是tcdn私有部署后就完全没有任何别的费用了。 这两个接口走的是华为云API,分别是: * [HTML翻译接口 5元/1000次](https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1011883756782637056) * [JS引擎接口 0.1元/1000次](https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1062632212438482944) ## 它的html翻译接口的翻译次数是怎么算的 比如我原本的中文网站有两个页面,分别是首页跟关于我们 我设定了要支持20个语种切换,那么除了原本的中文外还有19个其他的语种需要翻译,那么这2个页面就要使用2 * 19 = 38 次 html翻译接口。 比如,你买了1000次接口调用: 1000次=只翻译一种语言=1000个页面 1000次=翻译2种语言=500个页面 1000次=翻译5种语言=200个页面 1000次=翻译10种语言=100个页面 1000次=翻译20种语言=50个页面 1000次=翻译50种语言=20个页面 #### 具体场景案例一 比如你新加好的中文的源站,你第一次访问其英文的首页会比较慢,过十几秒后看到了翻译之后的英文首页,那这就使其经过了一次翻译,将中文的首页源代码翻译为了英文,并缓存到了TCDN部署的服务器。这样也就通过html翻译API,消耗了一次翻译。 然后你继续访问这个英文的首页,会发现它很快了,因为它已经被翻译过,有缓存了。而这一次的访问,并不会消耗 html翻译API 。它是直接从 TCDN部署的服务器中的缓存中取的英文首页的源码,并没有走 html翻译API 接口。 #### 具体场景案例二 使用TCDN系统自带的自动刷新翻译缓存功能,有关这个功能的说明可以参考: https://translate.zvo.cn/308152.html 它可以每间隔多长时间就扫描一次源站,比如,你首页上次翻译之后,源站的首页并没有改变,那么这次自动刷新时,首页并不会在进行翻译。 如果你源站的首页源码变了,比如你发布了一篇新闻,源站首页中的最新新闻也更新了,那肯定源站首页的源码也就变了,那TCDN就会拿这次获得的首页源码,跟当前TCDN翻译缓存中首页翻译时的进行特征对比,结果发现,TCDN翻译缓存中,这个首页当时的源码并不是这样的,那么就会认定为首页发生了更新,就需要重新翻译,它就会调用 html翻译API 接口 来进行重新翻译,并将翻译结果进行缓存到当前的 TCDN服务器, 也就产生了 接口调用。 比如你的语种设置了要额外翻译5个其他语种,那这个源站首页就会自动触发五次 html翻译API,来分别将首页生成这五个语种的翻译缓存。 也就会产生5次API的消耗。 #### 日志 ## JS引擎 接口的作用及次数 JS引擎提供对一个 html 源码执行 JavaScript 脚本语言的能力,可以使用js语言对html源码进行各种操作。 它提供了在获取源站html页面源代码时,可以通过js语法书写js代码来做一些你想做的事情。 在获取到源站源码后,在这个源代码上使用JS引擎进行处理执行你针对这个源站设置的js代码,比如 document.getElementById('xxx').innerHTML = '123'; 修改其中某个元素的内容,然后将执行完这个JS之后的网页源码返回来,作为回源后获取源站页面源码的结果。 这里它可以用来操作网页的一些元素、页面改动了等等。 又比如可以对源站页面某些区域删除、追加了等等。 另外页面的超链接跳转,都是会被虚拟化为其相关语言子域名的,也是使用的这个接口提供的能力。 它的使用次数扣除同 html 翻译接口 另外,它具体什么时间调用了接口、以及接口执行情况,这个日志记录在 /mnt/tcdn/jsParse_yyyy-mm-dd.log ,它会每天生成一个日志文件 ## 日志 html翻译接口、及 js解析引擎接口,TCDN在具体什么时间调用了接口、以及接口执行情况,会进行详细的日志记录到 /mnt/tcdn/logs/ 目录下 [具体 **html 接口** 及 **js解析引擎接口** 的日志,可点此查阅](281299.html)
  • 访问一个页面TCDN的生命周期

    TCDN 的运行时,从源站到实际翻译语种访问的生命周期 比如,源站是 http://qiye1.wang.market , 绑定了泛解析域名 zvo.cn , 那么访问 english.zvo.cn 即可显示英文的网页。 这里讲解当浏览器地址栏里输入 english.zvo.cn 进行访问时,它的生命周期流转 : 访问 english.zvo.cn 进入 TCDN 服务器 TCDN 解析域名处理 判断是否有缓存,有的话直接获取到磁盘的html,进行处理。 没有缓存,那么去源站拉取用户当前访问的,对应的源站的这个页面的源代码 拉取到源代码后,进行使用 [JS引擎](255374.html) 处理,将其资源、链接等全部进行重新组织处理。 处理完后交给 [html翻译接口](255374.html) ,进行翻译为相应的语种 翻译成功后,进行磁盘缓存这个html文件,同时将文件的hash码进行redis缓存,以便于TCDN 的缓存体系进行自动化处理。 将 这个html 进行 文本替换 ,将某些文本替换为自己想要的文本 对整个要显示的页面进行预处理,植入切换语言相关的代码 响应给浏览器,进行显示。
  • 私有部署-自定义Redis

    私有部署的TCDN,默认安装及使用的redis是本地的,也就是 host 为 127.0.0.1 的 redis 如果你需要redis 跟 tcdn 分离部署,可以单独设置 TCDN 的 redis 链接参数 ## 设置方式 #### 第一步:先正常部署 [点此查看部署方式,进行部署](236899.html) #### 第二步:配置Redis 编辑文件 ````/mnt/tcdn/config.properties```` 加入几行: ```` # redis 的 host redis.host=127.0.0.1 # redis 的端口号 redis.port=6379 # 如果你的redis没有密码,就不要设置 redis.password ,如果有密码,才设置 #redis.password= ```` #### 第三步,重启TCDN 执行重启命令: ```` /mnt/tcdn/start.sh ```` 如此,就完成了。
  • TCDN服务端开放API接口

    TCDN服务端的管理方式当前是通过API的方式来进行的,并没有可视化的后台界面,目的是将服务器的全部性能都集中在TCDN服务上、降低暴露的服务也能更大程度的提高TCDN服务的安全防御能力。我们优先推荐你采用 [TCDN Admin 可视化管理客户端](https://translate.zvo.cn/267897.html) 来进行管理,这个客户端便是已经接入了当前的API接口,方便你管理。 **[点此查看API接口文档](http://doc.zvo.cn/tcdn/20241107/admin.siteSet.set.json.html)** 这里演示通过API接口添加网站示例: ## 第一步:通过API接口添加一个站点 这里以一个需求示例来进行演示它的使用: 要对原本的网站 ````http://qiye1.wang.market```` 进行翻译 这个网站是简体中文的 要求: 1. 要绑定域名 zvo.cn ,并访问 www.zvo.cn 时显示它翻译为英文后的网站 2. 只显示简体中文、英文 两种语种的切换 那么请求的URL为: ```` http://1.94.217.190/admin/siteSet/get.json?showCopyright=0&supportLanguage=[{"id":"chinese_simplified","name":"简体中文"},{"id":"english","name":"English"}]&mainWildcardDomain=www.&token=123&mainWildcardDomainLanguage=english&sourceDomain=http://qiye1.wang.market&sourceLanguage=chinese_simplified&wildcardDomain=zvo.cn&requestSourceType=1 ```` 注意,如果你的url传递参数特别多,很长,建议用POST方式提交参数,而不是以get方式追加到url中。 ## 第二步:进行域名解析 解析 ```` zvo.cn *.zvo.cn ```` 这两个域名指向到服务器的IP ## 第三步:测试 如此,就已经设置好了,等几分钟,等解析生效后,访问 www.zvo.cn 即可看到效果。
  • TCDN服务端日志说明

    日志文件存储于 TCDN服务端的 /mnt/tcdn/logs/ 路径下 ## 开放API接口 TCDN服务端开放API接口来读取最新日志,可以根据日志文件名及指定最后读取多少行,来读取某个日志文件的最新记录。API文档参考: http://doc.zvo.cn/tcdn/20241107/admin.log.log.json.html 以下是相关日志文件的说明 ## cacheRefresh_yyyy-MM-dd.log /mnt/tcdn/logs/cacheRefresh_yyyy-MM-dd.log 为 TCDN系统自带的缓存刷新能力进行自动化刷新翻译缓存时的执行日志。 这个文件是以天来进行存储的,每天都会创建一个日志文件,比如: ```` cacheRefresh_2024-12-03.log cacheRefresh_2024-12-04.log ```` 这个文件中每行都是以json格式存储的,同时每行也是一个执行动作。 这个文件中的内容如: ```` {"sourceUrl":"http://qiye1.wang.market/1101.html","targetLanguage":"korean","result":"success","thread":"thread 2","index":32,"allNumberUrl":43,"time":"14:59:00"} {"sourceUrl":"http://qiye1.wang.market/1057.html","targetLanguage":"persian","result":"success","thread":"thread 3","index":34,"allNumberUrl":43,"time":"14:59:00"} {"sourceUrl":"http://qiye1.wang.market/1099.html","targetLanguage":"afrikaans","result":"success","thread":"thread 1","index":33,"allNumberUrl":43,"time":"14:59:01"} {"sourceUrl":"http://qiye1.wang.market/1101.html","targetLanguage":"tajik","result":"success","thread":"thread 2","index":32,"allNumberUrl":43,"time":"14:59:03"} {"sourceUrl":"http://qiye1.wang.market/1057.html","targetLanguage":"bhojpuri","result":"success","thread":"thread 3","index":34,"allNumberUrl":43,"time":"14:59:04"} {"sourceUrl":"http://qiye1.wang.market/1099.html","targetLanguage":"indonesian","result":"success","thread":"thread 1","index":33,"allNumberUrl":43,"time":"14:59:05"} ```` 它是按照时间来排序的,执行完一个动作后就会把这个动作追加到这个文件的末尾。 也就是文件的末尾最后一个日志,是最后一次的动作。 有关每行中的字段及内容说明: * **sourceUrl** 当前执行的源站url页面 * **targetLanguage** 翻译为的目标语言 * **result** 翻译结果,如果为 success 则是执行成功; 如果失败或别的情况这里是相关描述 * **thread** 线程的名字,执行这个动作是有哪个线程来执行的 * **allNumberUrl** 共有多少url,也就是TCDN自动刷新功能扫描扫出来的所有url数量,待进行翻译的URL数量 * **index** 执行进度,当前执行到总数 allNumberUrl 中的第几个了,是 allNumberUrl 中顺序执行的第几个。 比如 allNumberUrl 是10 ,这里是1,那么就证明是刚开始执行,刚执行到第一个。当 index 跟 allNumberUrl 相等时,那便是执行到最后了,执行完这个那便是执行结束了。 ## tcdn.log /mnt/tcdn/logs/tcdn.log 为 tcdn 本身运行的日志,一些运行输出都会输出到这里面。 另外每次tcdn启动时,会自动将这个日志文件清空,重新记录。 ## htmlTranslate_yyyy-MM-dd.log 所有调用html翻译接口的日志记录 示例: ```` {"result":1,"serverNode":"loc.7812ec6d28ec","size":72314,"to":"chinese_simplified","time":"2025-04-13 14:15:31","url":"https://xxx.com/","exeTime":10553} {"result":1,"serverNode":"loc.3a03932ce7a9","size":33064,"to":"chinese_simplified","time":"2025-04-13 14:16:11","url":"https://xxx.com/company-introduction","exeTime":5539} {"result":1,"serverNode":"loc.b082ee024591","size":33879,"to":"chinese_simplified","time":"2025-04-13 14:17:04","url":"https://xxx.com/contact-us","exeTime":4905} ```` * **result** 执行结果,1是成功, 不为1或者result不存在则是失败 * **serverNode** 调用html翻译接口进行翻译时,是有哪个具体的集群节点提供的翻译 * **size** 传入的 html 参数内容的字符数,字符长度。注意,这个是传入的html的整个值的内容字符数。 * **to** 当前是翻译为什么语种 * **time** 翻译时间 * **url** 进行翻译的源站页面 url * **exeTime** 如果执行成功(result为1),这里是执行的耗时,单位是毫秒 * **exception** 如果执行失败(result不为1),这里是执行失败的原因 ## jsParse_yyyy-MM-dd.log 所有调用 JS引擎接口执行的日志记录 示例: ```` {"result":1,"serverNode":"loc.a266238cd47c","size":72898,"time":"2025-05-13 14:15:29","url":"https://abc.com/","exeTime":553} {"result":1,"serverNode":"loc.a266238cd47c","size":33019,"time":"2025-05-13 14:16:09","url":"https://abc.com/company-introduction","exeTime":1871} {"result":1,"serverNode":"loc.245978e82ea1","size":33767,"time":"2025-05-13 14:17:02","url":"https://abc.com/contact-us","exeTime":601} ```` * **result** 执行结果,1是成功, 不为1或者result不存在则是失败 * **serverNode** 调用html翻译接口进行翻译时,是有哪个具体的集群节点提供的翻译 * **size** 传入的 html 参数内容的字符数,字符长度。注意,这个是传入的html的整个值的内容字符数。 * **time** 执行的时间 * **url** 进行操作的源站页面 url * **exeTime** 如果执行成功(result为1),这里是执行的耗时,单位是毫秒 * **exception** 如果执行失败(result不为1),这里是执行失败的原因
  • 配置tcdn服务的端口号

    tcdn服务端的默认端口号是80端口,你可以通过设置 ````/mnt/tcdn/config.properties```` 来设置端口号 比如,要设置端口为81端口,那么 ````/mnt/tcdn/config.properties```` 增加一行设置: ```` server.port=81 ```` 设置完成后,重启TCDN: ```` /mnt/tcdn/start.sh ```` 就可以直接访问测试了。 如果测试不通,检查一下你服务器的防火墙、以及云服务器控制台的安全组,是否开放了这个端口。 ## 注意 需要 tcdn v2.20241211 及以上版本才支持此能力
  • 配置 TCDN 回源源站时的请求头

    可以自定义设置TCDN服务端的源站回源源站时的请求头。 这个是指比如源站是 http://qiye1.wang.market ,当回源时,tcdn服务端会自动去这个源站网址上获取其页面的源代码,如果源站服务器对请求头有什么限制,那么回源获取页面源代码时会不成功,这种情况就可以自定义回源请求时的请求头,来使其符合源站服务器的要求,以便能正常回源。 设置方式为: ## 第一步,增加 headers.conf 文件 在 /mnt/tcdn/ 目录下,增加 headers.conf 文件,也就是文件的完整路径为: ```` /mnt/tcdn/headers.conf ```` 然后设置其内容,格式如下: ```` Accept: text/html Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0 ```` ## 第二步,测试 更改后就能直接访问tcdn源站绑定的域名进行访问某个页面测试了。 无需再重启tcdn服务 ## 注意 需要 tcdn v2.20241211 及以上版本才支持此能力
  • 配置TCDN服务全自动刷新翻译缓存的线程数

    tcdn服务端,有一个能力是可以设置每间隔多长时间,自动通过某个源站的URL,根据指定的抓取深度进行抓当前源站的页面,然后将这些源站的页面根据不同的缓存设置(可以设置多种缓存规则,每个页面缓存的时长也可以单独设置) ,将已经过了缓存器的页面进行重新翻译缓存。 同时如果你的源站是第一次创建,那么在自动化翻译时,页面可能会比较多,比如有1000个页面,一个页面翻译执行可能需要消耗20秒,那如果是1个线程进行,那需要消耗 1000 * 20s 这么久,那如果是3个线程进行,需要消耗 1000/3 * 20s 这么就, 如果是15个线程同时进行,那需要消耗 1000/15 * 20s 这么久。 线程越大,同时进行翻译时执行速度也就越快! ## 配置方式 编辑文件 /mnt/tcdn/config.properties 加入一行: ```` translateThreadNumber=3 ```` 设置好后执行重启命令: ```` /mnt/tcdn/start.sh ```` 即可完成设置。 ## 注意 * 需要 tcdn v2.20241211 及以上版本才支持此能力 * 翻译线程数,如果不配置,默认是3,同时非授权的这里就是3, 如果是已授权的情况,这里可以扩展到15 * 如果未授权配置了10,也会自动变成3 * 如果已授权,配置了20, 也会自动变成最大的15
  • 配置TCDN中不同语言分配的子域名

    您可以自己指定TCDN中,不同的语言使用自己定义的子域名来提供访问。 比如: 简体中文访问为 zh-cn.xxxx.com 英语访问为 en.xxxx.com 要做到这样访问,你需要设置设置 源站-子域名 这里为“缩短” ![](https://translate.zvo.cn/fileupload/2024/12/31/168f9e4f677f41dd8f251d872a604bda.png) 也就是 源站-子域名 这里,不设置或者设置为“常规”时,英语访问为 english.xxxx.com, 当设置为“缩短” 后,英语访问为 en.xxxx.com 另外这个缩短的域名,你也可以自行进行改动,比如你的英语访问想改为 yingyu.xxxx.com 步骤为,你需要在你tcdn服务器上,新建一个文件 ,文件为 ```` /mnt/tcdn/language.json ```` 文件内容为: ```` {"zh-cn":"chinese_simplified","zh-tw":"chinese_traditional","co":"corsican","gn":"guarani","rw":"kinyarwanda","ha":"hausa","no":"norwegian","nl":"dutch","yo":"yoruba","en":"english","kok":"gongen","la":"latin","ne":"nepali","fr":"french","cs":"czech","haw":"hawaiian","ka":"georgian","ru":"russian","fa":"persian","bho":"bhojpuri","hi":"hindi","be":"belarusian","sw":"swahili","is":"icelandic","yi":"yiddish","tw":"twi","ga":"irish","gu":"gujarati","km":"khmer","sk":"slovak","he":"hebrew","kn":"kannada","hu":"hungarian","ta":"tamil","ar":"arabic","bn":"bengali","az":"azerbaijani","sm":"samoan","af":"afrikaans","id":"indonesian","da":"danish","sn":"shona","bm":"bambara","lt":"lithuanian","vi":"vietnamese","mt":"maltese","tk":"turkmen","as":"assamese","ca":"catalan","si":"singapore","ceb":"cebuano","gd":"scottish-gaelic","sa":"sanskrit","pl":"polish","gl":"galician","lv":"latvian","uk":"ukrainian","tt":"tatar","cy":"welsh","ja":"japanese","fil":"filipino","ay":"aymara","lo":"lao","te":"telugu","ro":"romanian","ht":"haitian_creole","doi":"dogrid","sv":"swedish","mai":"maithili","th":"thai","hy":"armenian","my":"burmese","ps":"pashto","hmn":"hmong","dv":"dhivehi","lb":"luxembourgish","sd":"sindhi","ku":"kurdish","tr":"turkish","mk":"macedonian","bg":"bulgarian","ms":"malay","lg":"luganda","mr":"marathi","et":"estonian","ml":"malayalam","de":"deutsch","sl":"slovene","ur":"urdu","pt":"portuguese","ig":"igbo","ckb":"kurdish_sorani","om":"oromo","el":"greek","es":"spanish","fy":"frisian","so":"somali","am":"amharic","ny":"nyanja","pa":"punjabi","eu":"basque","it":"italian","sq":"albanian","ko":"korean","tg":"tajik","fi":"finnish","ky":"kyrgyz","ee":"ewe","hr":"croatian","kri":"creole","qu":"quechua","bs":"bosnian","mi":"maori"} ```` 其中的key为要访问的子域名, value为 translate.js 的语言标识。 你可以改动这个文件中key的内容,改为你想要的值。但是一定不能改动value的值,value的值是固定的,要跟 translate.js 的语言标识对应的。
  • 设置TCDN在服务器上的资源占用

    首先,确保tcdn已经正常安装并且已经正常运行了 ```` cd /mnt/tcdn/bin/ wget http://down.zvo.cn/translate/tcdn/linux/tcdn.config -O tcdn.config ```` 然后编辑 tcdn.config 的参数: ```` option -Xms30m option -Xmx200m ```` 其中 -Xms30m 这个不要动,只需修改第二行的 -Xmx200m 即可,200m代表最大给他200MB的内存占用, 比如你想提高tcdn的性能,你可以让tcdn最大占用1500m内存,那就这样设置 -Xmx1500m 就可以了,也就是改动后 tcdn.config 配置文件的内容为: ```` option -Xms30m option -Xmx1500m ```` 注意,如果你服务器只安装了tcdn这一个应用,你服务器的内存是2G,那你可以分给 tcdn内存 1500MB,留下点给系统本身,系统本身也要使用内存的。
  • API Key 管理平台

    如果你是影响广泛的开源项目、云厂商,需要集成我们 HTML翻译接口时, 可以私有部署 [API Key 管理平台](https://github.com/xnx3/ApiKey),自行开通 [HTML翻译接口、JS引擎接口](255374.html) 的key,不需要走华为云。 用户在你平台使用相关服务时,可以直接通过你们自己来进行开通。具体定价标准也都是你们自己来定。 ## 采用 API Key 如何使用 html翻译接口 [html翻译接口本身参考: http://doc.zvo.cn/tcdn/api/doc.html](http://doc.zvo.cn/tcdn/api/doc.html) 除了列出的参数外,你还需要做的: 1. 额外传入一个 key 参数,key的值因为你当前还没部署 API Key,所以 [请跟我要](4030.html),我来全程配合你完美接入到你系统之中,接入完成后,你可以自己弄个2核2G服务器部署 API Key,就可以自己随意开通key了。 2. 请求域名换成 ````http://apikey.zvo.cn/html```` 3. 接口如果正常响应(响应码是200),会在headers响应头中,携带 count、use_count 两个参数的返回,分别代表这个key的总次数、已使用的次数 接口请求如下图所示: ![](https://translate.zvo.cn/fileupload/2025/02/13/d8ac84c04d2e489aa73acd91ebb707e3.png) 另外它的响应头里额外多了这两个参数: ![](https://translate.zvo.cn/fileupload/2025/02/13/6739898802bb48709fe53554e921fafb.png)
  • 版本更新

    ## 独立服务器部署的TCDN更新方式: (注意,宝塔方式安装的不要这样更新。) 登录你部署 tcdn 的服务器,登录后直接运行以下命令即可完成更新 ```` yum -y install wget && wget https://gitee.com/mail_osc/translate/raw/master/deploy/tcdn_upgrade.sh -O ~/upgrade.sh && chmod -R 777 ~/upgrade.sh && sh ~/upgrade.sh ```` 更新完后会自动启动 tcdn 服务
  • 配置采用大模型进行高质量翻译

    html翻译API默认使用的是传统的机器翻译,你可以通过设置 ````/mnt/tcdn/config.properties```` 来自定义设置它的翻译通道 其实这个就是html翻译API本身提供的接口 translateApiUrl ,可以查阅html 翻译API的接口文档: http://doc.zvo.cn/tcdn/api/doc.html 比如,要设置这个翻译源采用智谱AI的大模型翻译,那么 ````/mnt/tcdn/config.properties```` 增加一行设置: ```` translate.tcdn.api.html.translateApiUrl=https://glm-api-translate.zvo.cn/translate.json?key=xxxxx ```` 注意,这个参数的值你可以向我们购买key、也可以自己[私有部署这个翻译通道](https://translate.zvo.cn/391129.html) 设置完成后,重启TCDN: ```` /mnt/tcdn/start.sh ```` 就可以直接访问测试了。 你可能感觉不出太大区别,但是针对一些很不规则语句不通顺的句子,大模型会比传统机器翻译更好。 ## 注意 1. 需要 tcdn v2.20250402 及以上版本才支持此能力
  • 战略合作伙伴接口配置

    ## 说明 我们的战略合作伙伴是可以自行通过授权管理系统自行开通key下放给网络公司及用户进行使用的。 ## key的使用 比如,合作伙伴给到的key相关参数为: 域名: http://abc.zvo.cn key:123456 那么配置 /mnt/tcdn/config.properties ```` translate.tcdn.api.html.url=http://abc.zvo.cn/html translate.tcdn.api.html.key=123456 translate.tcdn.api.jsParser.url=http://abc.zvo.cn/jsParser translate.tcdn.api.jsParser.key=123456 ```` 配置完成后,重新启动 tcdn 即可。重新启动tcdn的命令为: ```` sh /mnt/tcdn/start.sh ```` ## key的开通 只有战略合作伙伴才可以进行key的开通及管理。 ![](https://translate.zvo.cn/fileupload/2025/06/25/b385810cd62e4122a5134b67ee0c0742.png)