用小牛翻译API让ChatGPT给我做个在线翻译网站

一、引言

随着ChatGPT的持续火爆,各种像ChatGPT人工智能聊天机器人,如Claude,通义千问,文心一言不断涌现。这些新兴的人工智能产物在智能问答、语法纠错、信息抽取、代码撰写、译文评估、文章润色方面都发挥着重要作用,已经逐渐成为人生工作和生活中不可或缺的一部分,帮助我们解决实际问题,实现好的想法。

ChatGPT

如果说翻译界早就进入到了译后编辑(MPTE)时代,那么在ChatGPT的助推下,文本生成、代码编程等领域已经进入到:人工选题+ChatGPT生成+人工编辑,即所谓的Choice+ChatGPT+Edit(CCE)阶段。因为,ChatGPT助推人机的交流、对话、协作,大大提升人工编程、项目开发的速度和质量。

今天,我们就采用EEC的方法,借助于ChatGPT和小牛机器翻译的API,快速开发一个不限字符的网页在线翻译工具,解决传统机器翻译术语不准确、翻译界面无法自定义、翻译质量不高的难题。

二、前期准备

1. 获取小牛翻译API

由于我们要用到小牛机器翻译API,所以我们要登录小牛的官方网站 niutrans.com 进行注册,

注册小牛翻译

​注册完之后,我们就可以登录小牛翻译的后台,

登陆小牛后台

查看我们的免费翻译额度,新用户默认会给予100万字符的使用额度,有效期是一年。如果认证成为企业用户,将免费得到500万的免费额度,不得不说,这个额度还是不错的。

API接口

在小牛翻译官网后台,我们可以添加翻译记忆库、术语库,也可以下载Trados, Memq和Zotero插件,用于不同场景下的辅助翻译。在这里,我们只需要点击【API接口】,进入到下一个页面,然后再点击【复制APIKey】,可以得到小牛翻译的API。

先获取APIKey,再复制APIKey

接着我们还在这个页面点击上方的【开发文档】,找到php代码的demo即代码样码。

进入到文本翻译选项,向下拉,找到php的样例代码,进行复制:

小牛翻译的php样例代码

2. 上传记忆库和术语库

我们可以点击右上角的【控制台】,点击左侧的【资源管理】,进入到术语词典和翻译记忆模块。

通过【创建词库】,再通过【添加术语】或者【添加记忆库】,可以添加单个或多个术语,也可以批量添加记忆库,经常使用的记忆库或者术语库可以设置为默认句库或者术语库。小牛翻译的术语词典、翻译记忆已上线分库功能,批量上传的记忆库支持tmx, txt 等格式。

其中txt格式的术语或者记忆库,平台都提供了模板,我们只用照着模板进行修改就可以了。

二、开发过程

1. 语言的选择

由于我们设想自己的在线翻译程序,可以在手机、电脑端使用,同时又支持Windows, 苹果等系统,于时我们就考虑用php来进行开发,这样只要电脑或者手机能访问网页,就能利用上我们的在线翻译工具。

而本人懂一点儿Python和VBA的编程知识,对php并不熟悉,那么作为一个php编程的门外汉,如何来开放出一个在线的翻译工具呢?下面就看看我们如何ChatGPT来辅助我们编程开发的吧。

2. 编程的过程

这时,我们要请出ChatGPT,设计好我们想要的网页呈现形式,同时还要把我们在小牛翻译上面得到的代码样例,同时在开发过程中,还要在我们的网站上进行测试效果,以期达到我们想到的目标。

于时,我向ChatGPT咨询如下:

请利用以下php代码编写一个网页翻译器,要求php代码。 有两个文本输入框,一个翻译按钮,把文本输入上方的文本框,点击翻译,翻译结果出现在下方文本框,要求写两个php文件,一个是index.php,展示界面,调用机器翻译引擎的网页response.php里放置我们这个代码:

编辑切换为居中

给ChatGPT发送指令

但是经过测试发现一个网页就够了,于时我让ChatGPT进行修改:

编辑切换为居中

修改指令

这一次我们得到了以下代码:

<!DOCTYPE html>
<html>
<head>
	<title>网页翻译器</title>
	<meta charset="utf-8">
</head>
<body>
	<h1>网页翻译器</h1>
	<?php
		if(isset($_POST['submit'])) {
			$host = "http://api.niutrans.com";
			$path = "/NiuTransServer/translation";
			$apikey = "您的apikey";
			$src_text = $_POST['src_text'];
			$to = $_POST['to'];
			$durl = $host.$path."?from=zh&src_text=".urlencode($src_text)."&to=".$to."&apikey=".$apikey;
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $durl);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
			curl_setopt($ch, CURLOPT_TIMEOUT, 30);
			$data = curl_exec($ch);
			curl_close($ch);
			echo "<p>翻译结果:</p>";
			echo "<textarea name='result_text' rows='5' cols='50'>".$data."</textarea>";
		}
	?>
	<form method="post" action="">
		<p>请输入需要翻译的文本:</p>
		<textarea name="src_text" rows="5" cols="50"></textarea>
		<br>
		<p>请选择翻译语言:</p>
		<select name="to">
			<option value="en">英语</option>
			<option value="fr">法语</option>
			<option value="es">西班牙语</option>
			<option value="ru">俄语</option>
			<option value="ja">日语</option>
			<option value="ko">韩语</option>
		</select>
		<br>
		<input type="submit" name="submit" value="翻译">
		<br>
		<p>翻译结果:</p>
		<textarea name='result_text' rows='5' cols='50'></textarea>
	</form>
</body>
</html>

经过测试,上面这段代码有两个问题,一是返回的翻译结果是json格式,不是我们想要的译文,二是打开网页时,这个翻译结果框不显示,显得不是特别好看。于时,我请我一位精通php的好友Jeff帮我修改这个代码,同时我也把我的想法告诉了ChatGPT,让它帮我对代码进下完善和修改。首先,我们要它修改的是,让它获取json返回值中的"tgt_text. ",很快ChatGPT就给出了我们想要的结果。

编辑切换为居中

获取Json文件

进一步完善代码,我们给了ChatGPT以下指令:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

最后,我们将最终得到的代码进行了三个地方的修改: 1. 添加我自己的小牛翻译API; 2. 把【中文】添加目标翻译语种,实现中文和其它语中之间的互译; 2. 把默认翻译的语言改成auto,这样无论输入什么语言,小牛翻译强大的自动翻译功能就会准确地识别出它的语种,并按照要求翻译成我们想要的语言,这样我们这个网页翻译器的功能就大大提升了。

以下是我们最终完成的代码,全部完成不到半个小时:

<!DOCTYPE html>
<html>
<head>
	<title>简易在线翻译器|Gordon制作</title>
	<meta charset="utf-8">
</head>
<body>
	<h1>网页翻译器</h1>
	<?php
		if(isset($_POST['submit'])) {
			$host = "http://api.niutrans.com";
			$path = "/NiuTransServer/translation";
			$apikey = "0e8f5df5b778ec4ef9f1796fe75c409f";
			$src_text = $_POST['src_text'];
			$to = $_POST['to'];
			$durl = $host.$path."?from=auto&src_text=".urlencode($src_text)."&to=".$to."&apikey=".$apikey;
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $durl);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
			curl_setopt($ch, CURLOPT_TIMEOUT, 30);
			$data = curl_exec($ch);
			curl_close($ch);
			$result = json_decode($data, true);
			echo "<p>翻译结果:</p>";
			echo "<textarea name='result_text' rows='5' cols='100'>".$result['tgt_text']."</textarea>";
		}else{
			echo "<p>翻译结果:</p>";
			echo "<textarea name='result_text' rows='5' cols='100'></textarea>";
		}
	?>
	<form method="post" action="">
		<p>请输入需要翻译的文本:</p>
		<textarea name="src_text" rows="5" cols="100"></textarea>
		<br>
		<p>请选择翻译语言:</p>
		<select name="to">
			<option value="zh">中文</option>
			<option value="en">英语</option>
			<option value="fr">法语</option>
			<option value="es">西班牙语</option>
			<option value="ru">俄语</option>
			<option value="ja">日语</option>
			<option value="ko">韩语</option>
		</select>
		<input type="submit" name="submit" rows="5" cols="50" value="翻译" id="myButton">
	</form>
</body>
</html>

三、在线翻译器展示

1. 界面效果展示:

最终我们在虚拟主机上测试成功,得到以下界面:

编辑切换为居中

网页在线翻译器

当然以上只是一个具有基本功能的在线翻译器,虽然具备多语种翻译,但是由于没有设置css样式,看起来还是有点儿不上档次,下一步我们可以对其进行进一步修改和完善,使之更加美观、大方。

2. 翻译器的优势

尽管如此,我们还是用了不到一个小时就开发出了这样一个功能强大的翻译器,它有以下几大特色:

  1. 可以根据自己的需求进行个性化的设置。

  2. 可以实现语种在线即时快速检测,多语言之间的互译。

  3. 支持Windows, 苹果,手机安卓等客户端的访问,你可以随时随地使用它。

  4. 由于我们在小牛机器翻译后台设置默认的翻译忘记库和术语库,所以我们在查询术语和句子翻译时,机器翻译API会优先提供给我们库里的内容,使得我们得到的翻译结果更加精准。

四、启示

  1. 小牛翻译API免费,100万的免费额度不够用的话,还可以通过关注小牛的公众号签到领流量。如果文档较大的话可以用小牛的文档翻译,或者直接安装小牛的翻译插件,对文档进行快速翻译。

  2. 本项目开发过程证明了ChatGPT在项目开发、程序编写、代码调试等方面的优势,可以将其它作为自己工作流中的一部分,充分发挥它的"超级智慧",提升我们的工作效率和工作质量。

  3. 在上面例子中,我对于生成的译文可以进行译后编辑,也可以再喂给ChatGPT,让它指出我们的语法错误,润色我们的文字,提出进一步修改的意见,这样我们的译文质量就又可以更上一层楼了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值