附加功能--双击或者划选,获得翻译

CopyTranslator-复制即翻译 文献翻译神器 支持多接口翻译 由于我无法自己维护所有界面语言文件,因此最新版本的最新的界面语言文件可能不会和一同发布(除了en和zh-cn现在,您可以下载dist_locales语言文件,并将其放在配置目录下的locales文件夹下面,将在启动时检测它们,然后您可以在设置面板上选择它们。对于大多数动作,您可以通过修改配置目录的来绑定全局快捷键。警告当快捷键已被其他应用程序占用时,绑定将失败。。以下为一个例子它将切换监听剪贴板的动作绑定到快捷键。并将切换为Google翻译器的操作绑定到快捷键。 阅读详情

//这个功能充分检验了英语六级是多么菜,如果你去听美国总统的演讲,基本是听不懂的,因为太多单词不懂。 这个模块的功能主要是,可以阅读美国历届总统的演讲,在遇到不懂的单词时,可以双加单词,或者划选单词,然后,,然后,对应的翻译就出来了,而且是秒速度。。。。


//这个英语6级的单词词库是网上找的,就是sql语句组成的,所以省了不少事,需要的可以留言

封装了一些对数据库的操作,虽然对于1万多条单词,MySQL满足查询可以毫无压力,不过我还是添加了划词分类和索引以及唯一的ID形成一个item存到对应的redis哈希表中,这样从原理上说,速度肯定是更快的,但是单词不算多,这样也无伤大雅


<?php
require_once 'redis.class.php';
require_once 'format.class.php';
class Sql
{
    private $host="localhost";
    private $username="root";
    private $passwd="cai123";
    private $db="words";
    private $conn=null;

    private $errMsg=0;
    private $id;

    private $redis=null;

    public function __construct()
    {
         $this->conn=new mysqli($this->host, $this->username, $this->passwd) ;
            if(!$this->conn)
            {
                $this->errMsg = '连接数据库失败'.__LINE__;
                exit();
            }
            $this->conn->select_db($this->db);
            $this->conn->query("set names utf8");
            $this->redis = new RedisServer();
    }
    //根据单词去redis中寻找ID
    public function getId($word)
    {
        $temp = $this->redis->getIndex($word);
        if($temp ==="none")
        {
            die( "没有对应的翻译");
        }
        else
        {

            $this->id = intval($temp, 10);
        }
    }
    //根据ID获取简明翻译
    public function getMeaning()
    {
        $sql = "SELECT meaning FROM cetsix WHERE id = ".$this->id;
        $result = $this->conn->query($sql);
        if($this->conn->affected_rows > 0)
        {
            $word = $result->fetch_row()[0];
            $result->free();
            return $word;
        }
        else
        {
            return "没有对应的翻译";
        }

    }
    //根据id获取例句
    public function getExt()
    {
        $sql = "SELECT lx FROM cetsix WHERE id = ".$this->id;
        $result = $this->conn->query($sql);
         if($this->conn->affected_rows > 0)
         {
             $lx = $result->fetch_row()[0];
            $result->free();
            return $lx;
         }
         else
         {
             return "没有对应的翻译";
         }

    }
    //获取简明翻译和例句,以字符串的形式返回
    public function getAllWithString()
    {
        $sql = "SELECT meaning, lx FROM cetsix WHERE id = ".$this->id;
        $result = $this->conn->query( $sql);
         if($this->conn->affected_rows > 0)
         {
             $items = $result->fetch_assoc();
             $meaning = $items['meaning'];
            $lx = $items['lx'];
            $result->free();
            return $meaning."---".$lx;
         }
         else
         {
             return "没有对应的翻译";
         }

    }
    //返回翻译和例句,以数组的形式返回
    public function getAllWithArray()
    {
        $sql = "SELECT meaning, lx FROM cetsix WHERE id = ".$this->id;
        $result = $this->conn->query( $sql);
        if($this->conn->affected_rows > 0)
         {
            $items = $result->fetch_assoc();
             $meaning = $items['meaning'];
            $lx = $items['lx'];
            $result->free();
            return array($meaning, $lx);
         }
         else
         {
             return "没有对应的翻译";
         }
    }
    public function __destruct()
    {
        $this->conn->close();
    }
}

//$sql = new Sql();
//$sql -> getId("able");
//$format = new Format();
//var_dump( $format->stripBreak($sql->getAllWithArray()));

?>
//下面这个类比较纯洁.......构建索引,查询索引


<?php
class RedisServer
{
    private $redis=null;
    private $prefix="index::";

    public function __construct()
    {
            $this->redis=new Redis();
            $this->redis->connect('127.0.0.1', 6379);
            $this->redis->auth('caifangjie');
    }
    //设置索引,索引的形式是 (前缀+单词首字母, 单词,数字索引【对应数据库】)
    public function setIndex(&$index)
    {
        foreach($index as $item)
        {
            $this->redis->hSet($this->prefix.$item[0], $item[1], $item[2]);
        }
    }
    //返回单词对应的数字索引
    public function getIndex($word)
    {
        $zone = substr(strtolower(trim($word)), 0,1);
        if($this->redis->hExists($this->prefix.$zone, $word))
        {
            return $this->redis->hGet($this->prefix.$zone, $word);
        }
        else
        {
            return "none";
        }
    }
}

?>

//这个类更加纯洁,划词,构建索引


<?php
/*
    本类的工作主要是负责根据id和单词(id, word)建立索引,
    索引的形式是(前缀,单词,id)
*/
require_once "redis.class.php";
class BuildIndex
{
    private $host="localhost";
    private $username="root";
    private $passwd="cai123";
    private $db="words";
    private $conn=null;

    private $wordsNum;
    private $errMsg=0;

    private $redis=null;

    public function __construct()
    {
            $this->conn=new mysqli($this->host, $this->username, $this->passwd) ;
            if(!$this->conn)
            {
                $this->errMsg = '连接数据库失败'.__LINE__;
                exit();
            }
            $this->conn->select_db($this->db);
            $this->conn->query("set names utf8");

            $sql = "SELECT COUNT(*) FROM cetsix";
            $result = $this->conn->query($sql);
            if($this->conn->affected_rows > 0)
            {
                $this->wordsNum = $result->fetch_row()[0];
                $result->free();
            }
            else
            {
                $this->errMsg="查询词条总数失败".__LINE__;
                exit();
            }
            $this->redis = new RedisServer();
            $this->buildIndex();


    }
    private function buildIndex()
    {
        $onceReadSize  = 500;
        $loop= ceil($this->wordsNum/500);

        for($i=1; $i<=$loop; $i++)
        {
            $sql = "SELECT id, word FROM cetsix LIMIT  ".($i-1)*$onceReadSize." , ".$onceReadSize;
            $result = $this->conn->query($sql);
            $index = array();
            while($row = $result->fetch_assoc())
            {
                 $word = strtolower(trim($row['word']));
                $index[] = array(substr($word, 0, 1), $word,$row['id']);
            }
            $this->redis->setIndex($index);
            unset($index);
            $result->free();
            echo str_repeat("   ", 2048);
            echo "创建索引".$i*$onceReadSize."条,Ok..<br />";
            sleep(2);
        }
        echo "索引创建完毕";
    }

    public function __destruct()
    {
        $this->conn->close();
    }
}

set_time_limit(1000);
ob_implicit_flush(true);
$index  = new BuildIndex();

?>

//下面这个更简单,启动后台服务。。。。

<?php
require_once 'readSpeech.class.php';
require_once 'readDir.class.php';

class ServerForSpeech
{
    static public function  init()
    {
        $dir = new Dir('E:\CodeEdit\php\ciba\niujin-alpha\paragraph\data');
        $list = $dir->getFileList();
        $readSpeech = new ReadSpeech();
        foreach($list as $name => $path)
        {
            $readSpeech->setSpech($name, $path);
            if($readSpeech->errMsg !=0) die("导入失败");
        }
        echo "导入OK";
    }
}
ServerForSpeech::init();
?>

//这个类也比较纯洁,迭代出总统演讲那个目录下的文件

<?php
class Dir
{
private $fileList=array();

public function __construct($path)
{
        $this->readFileList($path);
}

function readFileList($path)
{
    $path=$this->transPathSep($path);
    $encode=mb_detect_encoding($path, array('GB2312','GBK','UTF-8','BIG5','LATIN1'));
    $path=mb_convert_encoding($path, 'GB2312', $encode);
    //用于路径读取时用UTF编码会失败,所以先转成GB2312
    if ($fd=opendir($path))
    {
            while($fileName=readdir($fd))
            {
                    //如果不是当前目录和上级目录
                    if($fileName !="." && $fileName !="..")
                    {
                            //如果是一个文件
                            if(is_file($path.'/'.$fileName))
                            {
                                    $extName=pathinfo($path."/".$fileName)["extension"];
                                    if(strtolower($extName)=='txt')
                                    {
                                            //上面把路径转成了GB2312,这里再转换会UTF-8编码
                                            $temp=mb_convert_encoding($path.'/'.$fileName, 'UTF-8', $encode);
                                            $groupName=$this->groupFile($temp);
                                            $this->fileList[$groupName]=$temp;
                                    }
                            }
                            //如果是一个目录,则继续递归读取
                            else if(is_dir($path.'/'.$fileName))
                            {
                                    $this->readFileList($path.'/'.$fileName);
                            }
                    }

            }

    }
        @closedir($fd);

}

public function getFileList()
{
        return $this->fileList;
}
//提取单词分类,比如从A-Z
private function groupFile($filename)
{
        $pos=strtolower(strripos($filename, '/'));
        $word=trim(basename(substr($filename, $pos+1),'.txt'));
        return $word;
}
	//转换window环境下路径的默认分隔符\为PHP识别更好的/
	//因为路径名中包含汉字时,必须转换为gb2312时,php才能识别
	//而在转换为gb2312后,如果路径名是以windows下的\分隔的,则被转换为gb2312的中文会被转义
	//最后就会导致读取对应的路径失败
	//******所以在{路径名}中包含中文时,一定要先转换路径分隔符,然后转换为gb2312编码
	private function transPathSep($path)
	{
		$system=$_SERVER["SERVER_SOFTWARE"];
		$pat="#\((.*?)\)#";
		$sysVer=null;
		if(preg_match($pat,$system,$match))
		{
			$sysVer=$match[1];
		}
		else
		{
			die("匹配系统类型失败<br />");
		}
		if(strtolower($sysVer)=="win32")
		{
			$realPath=str_replace("\\","/",$path);
			return $realPath;
		}
	}

}

/* $dir=new Dir('E:\CodeEdit\php\ciba\niujin-alpha\paragraph\data');
$list=$dir->getFileList();
echo "<pre>";
foreach ($list as $name => $path)
{
	echo $name.'-----'.mb_strlen($name).'------'.$path.'------'.mb_strlen($path)."<br />";
}
echo "</pre>";  */

?>

//这个类也比较纯洁,封装了对总统演讲对应的文件的名字和路径到数据库,并提供查询功能


<?php
class ReadSpeech
{
    private $host="localhost";
    private $username="root";
    private $passwd="cai123";
    private $db="words";
    private $conn=null;

    public $errMsg=0;

    public function __construct()
    {
         $this->conn=new mysqli($this->host, $this->username, $this->passwd) ;
            if(!$this->conn)
            {
                $this->errMsg = '连接数据库失败'.__LINE__;
                exit();
            }
            $this->conn->select_db($this->db);
            $this->conn->query("set names utf8");
    }

    public function setSpech($name, $path)
    {
        $sql = "INSERT INTO presidentSpeech(name, path) VALUES('$name' , '$path')";

        $this->conn->query($sql);
        if(!($this->conn->affected_rows > 0))
        {
            $this->errMsg="写入名字和路径失败".__LINE__;
            exit();
        }
    }
    public function getSpeechById($id)
    {
        $sql = "SELECT name,path FROM presidentSpeech WHERE id = ".$id;
        $result = $this->conn->query($sql);
        if($this->conn->affected_rows > 0)
        {
            $items = $result->fetch_row();
            $name = $items[0];
            $path = $items[1];
            $result->free();
            return array($name,$path);
        }
        else
        {
            $this->errMsg="获取路径失败".__LINE__;
            exit();
        }
    }
    public function getAllSpeech()
    {
        $sql = "SELECT id , name  FROM presidentSpeech ";
        $result = $this->conn->query($sql);
        $res=array();
        if($this->conn->affected_rows > 0)
        {
            while($rows = $result->fetch_assoc())
            {
                $id = $rows['id'];
                $name = $rows['name'];
                $res[] = array($id, $name);
            }
            $result->free();
            return $res;
        }
        else
        {
            $this->errMsg="总统演讲信息失败".__LINE__;
            exit();
        }
    }
    public function __destruct()
    {
        $this->conn->close();
    }
}


?>

下面的事就比较简单了

首先肯定要生成总统演讲的界面:

<html>
    <head>
        <style text="text/css">
            *{margin:0px; padding:0px;}
            div#link{margin-left:510px; margin-top:50px; width:700px;}
            a#speech{
                              font-family: arial;  font-size:22px; color: #888888;
                              margin-bottom: 15px;
                             }
            </style>
        </head>
        <body bgcolor="#RGB(67,65,65)">
            <img src="../image/speech.jpg" style="margin-left:410px; margin-top:2px;" /><br />
    <div id="link">

<?php
require_once 'readSpeech.class.php';
$readSpeech = new ReadSpeech();
$items = $readSpeech->getAllSpeech();
foreach ($items as $item)
{
    echo "<a id='speech' href='speechContent.php?id={$item[0]}' target='_blank'>{$item[1]} </a><br /><br />";
}
?>
        </div>
</body>
</html>

<html>
    <head>
        <style text="text/css">
            *{margin:0px; padding: 0px;}

div#layout{margin-left: 410px; width:700px;}

span#title{font-family: arial;
                    font-size: 18px;
                    color:#eebb00;
                    margin-top: 20px;
                    margin-left: 200px; }

span#trans{position:fixed;
                    margin-left: 410px;
                    margin-top:0px;
                    font-family: arial;
                    font-size: 16px;
                    color:#ee00ab;
                    background-color: #666;
                    border:1px solid #eebcbc;
                    width:700px;
                    display:none;}

#content{width:720px;height:100%; border:0px ; overflow-y:scroll;margin-top:1px;
               font-family: arial; font-size: 18px; color:#666;
                line-height: 25px;padding:10px;}

            </style>

            <script type="text/javascript">
function getXMLHttpRequest()
{
    var xmlhttp=null;
    if(window.ActiveXObject)
    {
            xmlhttp = new ActiveXObject("Microsoft.XMLHttp");
    }
    else
    {
            xmlhttp=new XMLHttpRequest();
    }
    return xmlhttp;
}

function query(word)
{
    var url="./trans.process.php?word="+word;
    var xhr = getXMLHttpRequest();
     if(xhr)
    {
        xhr.open("get", url ,true);
        xhr.onreadystatechange = function()
        {
            if(xhr.readyState ==4 && xhr.status==200)
                {
                    var trans = xhr.responseText;
                   showTrans();
                 $("trans").innerHTML =word+":  "+ trans;
                 setTimeout("hiddenTrans()",5000);
                }
        }
        xhr.send(null);
    }
}

function getSelectText(event){
    //捕捉选取的文本
    var txt = $("content").value.substring($("content").selectionStart, $("content").selectionEnd);
    var regx = /[a-z]+/i;
    //截取首个单词
    var word = txt.match(regx);
   query(word);
}

function $(id)
{
        return document.getElementById(id);
}
function showTrans()
{
    var trans = $("trans");
    trans.style.display="block";
}
function hiddenTrans()
{
    var trans = $("trans");
    trans.style.display="none";
}

</script>
        </head>
        <body bgcolor="#RGB(67,65,65)">
            <img src="../image/speech.jpg" style="margin-left:410px; margin-top:2px;" /><br />
 <span id='trans'>hello</span>;
<div id="layout">
<?php
require_once 'readSpeech.class.php';
        if(!empty($_GET['id']))
        {
            $id = $_GET['id'];
            $readSpeech = new ReadSpeech();
            $result = $readSpeech->getSpeechById($id);

            $content = file_get_contents($result[1]);
            echo "<span id='title'>{$result[0]}</span><br />";

            echo "<textarea id='content' onselect='getSelectText();'>{$content}</textarea>";

        }
?>
</div>
</body>
</html>
<!--阅读界面,可以单击或者划选不认识的单词,然后翻译揪出来了-->

/////这个事控制器,回显翻译,简单吧

<?php
require_once 'format.class.php';
require_once 'sql.class.php';

if(!empty($_GET['word']))
{
    $word = strtolower(trim($_GET['word']));
    $sql = new Sql();
    $sql->getId($word);
    $trans = $sql->getMeaning();
    echo $trans;
}

?>


虽然我的英语没有过6级,,不过这里充分的检验了英语6级不过如此,对于每一个没有查询到对应翻译的单词,我都反复确认过,保证不存在遗漏的问题,所以虽然1万多个单词,还是太弱了,,也难怪牛津词典会世界闻名,,也就不会觉得奇怪了
如何用zotero安装翻译插件并实现自动翻译 or Zotero PDF translate翻译报错 点击 工具→附加组件→设置(一个齿轮符号)→点击Install Add-on From File并选择刚才存储zotero-pdf-translate.xpi的文件夹并双击zotero-pdf-translate.xpi进行安装。deepl(pro订阅)和deepl(免费订阅)两个选项都可以试一下,看看哪个选项能成功翻译就选择哪个。编辑→首选项→翻译插件→选择deepl(pro订阅)或者deepl(免费订阅)并将API复制到图中位置。此翻译引擎不可用,可能是密钥错误,也可能是请求过快。 阅读详情

相关推荐

CopyTranslator——复制即翻译的外文辅助阅读翻译解决方案

CopyTranslator官网:https://copytranslator.github.io/ 有道翻译VIP+CopyTranslator9链接:https://pan.baidu.com/s/1-Gg39WFS-P3LWKjw-59Inw提取码:qa3i 复制翻译 CopyTranslator监听到剪贴板变化,会将剪贴板内容进行处理(如去除多余换行等),并显示翻译结果,翻译效果相...

Hern(宋兆恒) 1万+

%3c php $this-%3e,ctfshow之php代码审计

web301用 seay 啥也没审到。直接手工来。checklogin.php:

weixin_30600615的博客 761

Zotero翻译插件全攻略:打造你的学术利器!

本文介绍了Zotero文献管理软件的三款实用翻译插件:Zotero PDF Translate、PDF Translator和Zotero Translation Assistant,详细讲解了它们的安装方法和功能特点。文章重点推荐Zotero PDF Translate插件,提供划词翻译、批量翻译等功能,并支持多种翻译引擎。作者还分享了插件使用技巧、常见问题解决方案和进阶应用建议,帮助学术工作者提高外文文献阅读效率。文章最后展望了翻译插件的未来发展趋势,强调这些工具对学术研究的重要辅助作用。

xiaoningaijishu的博客 8273

mysqli扩展是mysql扩展的增强版_PHP使用mysqli扩展库实现增删改查

长沙达内PHP培训的老师知道,mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli。操作方式大体和mysql扩展库大体一致,这次还是先抽取出来一个操作mysql的工具类,和调用的类。1.mysqli扩展库操作数据库工具类//数据库操作类class DBUtil{pri...

weixin_33831334的博客 206

Zotero PDF Translate插件:解锁高效文献翻译的终极指南

本文详细介绍了Zotero PDF Translate插件的安装、配置与使用全流程。这款插件能将专业翻译功能深度集成至Zotero内置PDF阅读器,支持划词翻译、多引擎切换及笔记整合,极大提升科研人员阅读英文文献的效率。文章重点讲解了如何配置翻译引擎,并分享了高阶使用技巧与故障排除方法。

weixin_29224309的博客 327

TT电机、310电机、370电机在智能小车与机器人中的性能对比与选型指南

本文深入对比了TT电机、310电机和370电机在智能小车与机器人项目中的核心性能差异。文章从尺寸、扭矩、转速、电压电流等关键参数入手,结合不同应用场景(如入门小车、竞技机器人、机械臂),提供了清晰的选型指南和驱动控制建议,帮助开发者根据项目需求选择最合适的电机方案。

weixin_29065015的博客 409

php7 fetch assoc,PHP使用fetch_assoc()获取查询结果时数据类型都变了

$res=$this->conn->query($sql) or die('execute sql error:'.$this->conn->error);$arr=array();$i=0;while ($row=$res->fetch_assoc()){$arr[$i]=$row;$i++;}$res->free();$this->conn->c...

weixin_42361764的博客 672

避坑指南:STM32定时器测PWM频率占空比时,那些CubeMX没告诉你的细节(蓝桥杯真题衍生)

本文深入解析STM32定时器测量PWM频率和占空比时的关键细节,揭示CubeMX配置中未明确的时钟树原理和输入捕获机制。针对蓝桥杯嵌入式赛题中的常见问题,提供动态调整预分频器、多采样数字滤波等实战解决方案,帮助开发者避免测量误差,提升PWM测量精度和稳定性。

weixin_28692153的博客 339

大数据正式18

大数据正式18 验证码校验 1. regist.jsp中提交的有验证码信息 2. RegistServlet中,验证用户提交的信息和验证码生成时的信息是否一致,并进行相应的处理 验证流程 EasyMall代码改造 ValiImageServlet【把验证码的数据存储到session中】 package com.easymall.ser;

菜鸟零号 kungfu~peng 610

ThingsBoard - 设备接入

设备接入笔记

qq_53839898的博客 1454

【芯片设计- RTL 数字逻辑设计入门 番外篇6 -- 术语 Tile 介绍】

在系统级芯片(System on Chip, SoC)设计中,“tile” 是一个可以指代不同概念的术语,但通常它指的是芯片上的一个独立的功能单元或核心。一个 tile 可以包含一个或多个处理器核心、缓存、内存控制器、输入输出设备、外设接口或其他功能模块。在 SoC 上,多个 tile 可以被组合和连接起来,以形成一个完整的系统。

CodingCos的博客 3070

用Python实现的中英文互译的小脚本

用Python实现的中英文互译的小脚本 刚开始学Python,觉得无聊,就想找个小程序练练手,那么问题来了,写什么呢? 想到本人英语撇,每次遇到单词都到有道词典网站上去翻译或者打开手机app翻译,觉得这样很麻烦,而且花费的时间又长,所以。。。 首先打开有道翻译的网站,然后审查元素,找到network,然后随便提交一个翻译信息,然后就瞪大眼珠子看着network,突然,

wuhui2356的博客 1万+

【华为OD技术面-手撕算法代码真题】- 最长公共前缀

🌟 强烈推荐:华为OD技术面试手撕算法代码真题 🌟大家好!今天我给大家推荐一份备受赞誉的华为OD技术面试手撕算法代码真题。所有题目均为华为od实际面试过程中出现的算法代码真题。

算法大师! 4884

ubuntu20.04中安装划词翻译_大神3分钟看懂一篇外文文献?拥有这些翻译神器你也可以!...

看文献真真是件令人十分头疼的事情,特别是当你需要流畅地阅读 PDF 外文文献,必要情况下还得逐字逐句地翻译出来,那简直令人抓狂!本次给大家推荐2款超级实用的翻译神器,帮助你分分钟提升阅读英文文献的能力。CopyTranslator这款软件的名称叫做CopyTranslator,顾名思义,“复制”即可“翻译”,就是这么高效!而且这个软件最大的好处就是MAC版本也有,使用方式也完全相似!(软件免费领取...

weixin_39572316的博客 1902

全面解读 SAP Business Data Cloud

SAP 在 2025 年初正式推出(简称BDC),它把、以及全新的统一封装为一项完全托管的 SaaS 服务,配套交付“语义层 + 数据产品 + 智能应用”三层能力,为企业构建真正贴近业务语境的 “Business Data Fabric”。这一方案不仅解决了跨系统数据碎片化、治理难及 AI 训练数据可信度低的问题,还为现有 BW 客户、S/4HANA以及第三方工作负载提供云上现代化路径和零拷贝数据共享机制。本文将围绕技术架构、核心组件、业务场景、迁移路线及未来展望展开,以 Henkel 等真实案例佐证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 909

AgentScope 实战训练营-构建元规划智能体(Meta Planner Agent)—— 从 0 到 1 完整实现

本文介绍了基于AgentScope框架开发的元规划智能体(Meta Planner Agent)系统。该系统通过任务拆解和子代理编排机制,实现复杂任务的自动化处理。核心架构分为用户层、规划器层和子代理层,其中规划器作为"项目经理"负责任务分解、创建子代理并协调执行流程。关键技术包括AgentScope多智能体框架、DashScope大语言模型、PlanNotebook计划管理工具等。

program哲学 359

跨平台翻译软件终极指南:5分钟解决90%翻译难题

pot是一款功能强大的跨平台划词翻译和OCR软件,支持Windows、macOS和Linux系统。它集成了多种翻译接口和OCR功能,能够满足用户在不同场景下的翻译需求,让跨语言沟通变得简单高效。 ## 核心功能亮点 ✨ pot提供了丰富的功能,无论是日常的文本翻译还是复杂的图片识别,都能轻松应对。以下是其主要特色功能: ### 多场景翻译模式 pot支持多种翻译模式,包括划词翻译、输入翻译和

gitblog_00976的博客 934

AutoJs调用DeepSeek大模型接口实战教程 AutoJs接入DeepSeek、 DeepSeek API调用 、 手机脚本接入大模型

通过这篇文章,我们用 AutoJs 成功接入了 DeepSeek Chat API。使用发送请求在 Header 里正确携带 API Key从里拿到最终返回结果这样一来,你就可以在 AutoJs 里实现一个智能助手脚本,甚至做更复杂的 AI 自动化工具。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 468

jquery双击修改_jQuery双击

jquery双击修改jQuery dblclick() function fires when an HTML element is double clicked. This method will attach an event handler to the double click event. We can do desired manipulations on the selected H...

从零开始的教程世界 951

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

FluentRead:5分钟打造你的智能翻译工作站

你是否曾为阅读英文技术文档而苦恼?面对复杂的API文档和学术论文,传统的翻译工具往往无法提供流畅的阅读体验。今天,我要向你介绍一款革命性的开源浏览器翻译插件——FluentRead,它能让你的外文阅读体验提升到全新高度。 ## 🎯 为什么你需要这款智能翻译工具? 在信息爆炸的时代,我们每天都要处理大量外文资料。传统翻译工具存在三大痛点:翻译生硬缺乏上下文、破坏网页原有布局、隐私安全难以保障。

gitblog_01019的博客 835

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

FluentRead完整指南:5分钟掌握智能浏览器翻译插件的终极使用技巧

FluentRead是一款革命性的开源浏览器翻译插件,它通过人工智能翻译引擎提供上下文感知的智能翻译,让所有人都能拥有母语般的阅读体验。作为一款功能强大的智能翻译工具,FluentRead能够显著提升您的外文阅读效率,无论是技术文档、学术论文还是日常网页浏览,都能获得流畅自然的翻译效果。🎯 ## 🚀 快速入门:5分钟完成安装与配置 ### 一键安装方法:多种浏览器兼容方案 FluentR

gitblog_00075的博客 440

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

跨平台翻译工具Pot完全手册:从零基础到高效使用的终极指南

Pot是一款功能强大的跨平台划词翻译和OCR软件,支持Windows、macOS和Linux系统,提供多接口并行翻译、文字识别、语音合成等丰富功能。无论是阅读外文文献、浏览国际网站还是处理多语言内容,Pot都能成为你高效的语言助手。 ## 一、Pot翻译工具核心功能一览 ✨ Pot作为一款现代化翻译工具,集成了多种实用功能,满足不同场景下的翻译需求: [![Pot翻译工具界面展示](http

gitblog_00121的博客 503

FluentRead终极指南:5分钟开启智能翻译新体验

FluentRead是一款革命性的开源浏览器翻译插件,致力于为所有用户提供母语般的沉浸式阅读体验。这款智能翻译工具通过AI驱动的翻译引擎,让外文阅读变得轻松自然。 ## 一、项目价值主张:为什么需要智能翻译插件? 在信息爆炸的时代,我们每天都要面对大量外文资料——技术文档、学术论文、国际新闻、产品手册等。传统翻译工具往往生硬机械,缺乏上下文理解,导致翻译结果晦涩难懂。 FluentRead正

gitblog_00583的博客 409

这3款免费最佳Google翻译替代品,完美解决谷歌翻译国内用不了的尴尬

这3款免费最佳Google翻译替代品,完美解决谷歌翻译国内用不了的尴尬

m0_49771921的博客 5964

如何快速掌握translate-man:免费谷歌翻译浏览器插件的终极使用指南

translate-man是一款基于JavaScript和Vue.js开发的免费谷歌翻译浏览器插件,支持Chrome和Firefox浏览器,通过调用Google翻译接口实现多语言实时翻译,帮助用户轻松突破语言障碍,提升跨国信息获取效率。 ## ???? 核心功能:6大亮点让翻译更高效 ### 1. 100+种语言无缝切换 支持全球100多种语言的互译,无论是热门的英语、日语、韩语,还是小语种如俄语...

gitblog_00375的博客 710

firefox移动版实现自由安装插件的方法,tampermonkey统统都能安装。

firefox移动版实现自由安装插件的方法,tampermonkey统统都能安装。 需求 因为firefox移动版浏览器上面一直没有适配好的翻译插件,所以今天心血来潮想自己找一些翻译插件来看看能不能安装上去。 解决 firefox nightly目前支持获取用户的自定义收藏集在移动端使用,不过因为自定义的都是用户自己添加的收藏,他们并没有经过firefox的稳定性测试。所以因为风险的存在,这个功能要在设置里面开启,开启方法就是点如图中的logo图标,点到调试菜单开启。 然后回到设置页面,就会看到多了一个自

深夜听表 4万+
上一篇: 附加功能--添加词条,并作为查询结果显示
下一篇: 附加功能-----发布交友信息
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值