精华内容
下载资源
问答
  • 北大学软件学院分布式组件与Web服务中文翻译课件,总结版
  • 此为老师作业,翻译2013年一篇英文论文,纯个人一段一段翻译的,校对过,适合研究生的课后作业使用
  • 本文章对SIPp web frontend1.2进行翻译并增加了安装脚本部分,有兴趣的朋友可以研究下,SIPp的功能通过web页面就可以进行操作,及管理脚本的功能。非常方便
  • zh-TW translation of 's web course 翻译 目录 HTML Basics 1-9课程间的短暂休息 1-10你要去的地方 1-11新增图片 1-12按那个图片 1-13图片与连结 1-14恭喜! CSS: An Overview 7-1眼见为凭 7-2 CSS是什么? 7-...
  • 使用python编写的爬虫工具,从web2py官网爬下来并自动生成的的教程文档,各个章节带详细书签。由于官网只翻译了前面几部分的中文,因此后面有些是英文的内容。
  • 文档原始链接为:https://web3.learnblockchain.cn/0.2x.x/,欢迎大家前往查阅,本文只是节选开头部分的介绍及API列表索引,以下为翻译正文: 为了开发一个基于以太坊的去中心化应用程序,可以使用web3.js库提供的...

    最新内容会更新在主站深入浅出区块链社区
    原文链接:Web3.js 0.20.x API 中文版翻译

    文档原始链接为:https://learnblockchain.cn/docs/web3js-0.2x/,欢迎大家前往查阅,本文只是节选开头部分的介绍及API列表索引,以下为翻译正文:

    为了开发一个基于以太坊的去中心化应用程序,可以使用web3.js库提供的web3对象, 在底层实现上,web3通过RPC调用与本地节点通信, web3.js可以与任何暴露了RPC接口的以太坊节点连接。

    web3 包含下面几个对象:

    • web3.eth 用来与以太坊区块链及合约的交互
    • web3.shh 用来与Whisper协议相关交互
    • web3.net 用来获取网络相关信息
    • web3 包含一些工具

    web3使用示例:

    想要学习去中心化应用(DAPP)开发,这门课程不容错过区块链全栈-以太坊DAPP开发实战

    引入web3

    首先你需要将web3引入到应用工程中,可以通过如下几个方法:

    • npm: npm install web3
    • bower: bower install web3
    • meteor: meteor add ethereum:web3
    • vanilla: link the dist./web3.min.js

    然后你需要创建一个web3的实例,设置一个provider。为了保证你不会覆盖一个已有的provider(Mist浏览器或安装了MetaMak的浏览器会提供Provider),需要先检查是否web3实例已存在,示例代码如下:

    if (typeof web3 !== 'undefined') {
      web3 = new Web3(web3.currentProvider);
    } else {
      // set the provider you want from Web3.providers
      web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
    }
    

    成功引入后,你现在可以使用web3对象的API了。

    使用回调

    由于这套API被设计来与本地的RPC结点交互,所有函数默认使用同步的HTTP的请求。

    如果你想发起一个异步的请求。大多数函数允许传一个跟在参数列表后的可选的回调函数来支持异步,回调函数支持Error-first回调的风格。

    web3.eth.getBlock(48, function(error, result){
        if(!error)
            console.log(JSON.stringify(result));
        else
            console.error(error);
    })
    

    批量请求

    可以允许将多个请求放入队列,并一次执行。

    注意:批量请求并不会更快,在某些情况下,同时发起多个异步请求,也许更快。这里的批量请求主要目的是用来保证请求的串行执行。

    var batch = web3.createBatch();
    batch.add(https://web3.learnblockchain.cn/0.2x.x/web3.eth.getBalance.request('0x0000000000000000000000000000000000000000', 'latest', callback));
    batch.add(https://web3.learnblockchain.cn/0.2x.x/web3.eth.contract(abi).at(address).balance.request(address, callback2));
    batch.execute();
    

    web3.js中的大数处理

    如果是一个数据类型的返回结果,通常会得到一个BigNumber对象,因为Javascript不能正确的处理BigNumber,看看下面的例子:

    "101010100324325345346456456456456456456"
    // "101010100324325345346456456456456456456"
    101010100324325345346456456456456456456
    // 1.0101010032432535e+38
    

    所以web3.js依赖BigNumber Library,且已经自动引入。

    var balance = new BigNumber('131242344353464564564574574567456');
    // or var balance = web3.eth.getBalance(someAddress);
    
    balance.plus(21).toString(10); // toString(10) converts it to a number string
    // "131242344353464564564574574567477"
    

    下一个例子中,我们会看到,如果有20位以上的浮点值,仍会导致出错。所以推荐尽量让帐户余额以wei为单位,仅仅在需要向用户展示时,才转换为其它单位。

    var balance = new BigNumber('13124.234435346456466666457455567456');
    
    balance.plus(21).toString(10); // toString(10) converts it to a number string, but can only show upto 20 digits
    // "13145.23443534645646666646" // your number will be truncated after the 20th digit
    

    Web3.js API列表

    web3

    web3.net

    web3.eth

    web3.db

    web3.shh

    本教程由**登链学院翻译,由深入浅出区块链**发布。

    展开全文
  • 中文_-_英文双向翻译WEB服务 .NET实例
  • 原文地址:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web 这里写目录标题 一级目录 二级目录 三级目录 1.1.11. Multipart Resolver 1.3.2. Request Mapping 一级目录 ...

    原文地址:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web

    1.1.11. Multipart Resolver

    来自 org.springframework.web.multipart 包的 MultipartResolver 是一种用于解析包括文件上传在内的多部分请求的策略。有一种是基于 Commons FileUpload 的实现,另一种是基于Servlet 3.0多部分请求解析的实现。

    要启用 multipart 处理,您需要在 DispatcherServlet Spring配置中声明一个名为 multipartResolverMultipartResolver bean。DispatcherServlet 检测到它并将其应用到传入请求。 当接收到 content-type 为 multipart/form-data 的 POST 时,解析器解析内容并将当前 HttpServletRequest 包装为 MultipartHttpServletRequest,以提供对解析部分的访问,此外还将它们作为请求参数公开。

    Apache Commons FileUpload

    要使用 Apache Commons FileUpload,可以配置 CommonsMultipartResolver 类型的bean,名称为 multipartResolver。您还需要将 commons-fileupload 作为 classpath 的依赖项。

    1.3.2. 请求映射

    您可以使用 @RequestMapping 注解将请求映射到控制器方法。它有各种属性来匹配URL、HTTP方法、请求参数、头和媒体类型。您可以在类级别使用它来表示共享映射,也可以在方法级别使用它来缩小到特定的端点映射。

    也有HTTP方法特有的快捷方式 @RequestMapping:

    @GetMapping
    
    @PostMapping
    
    @PutMapping
    
    @DeleteMapping
    
    @PatchMapping
    

    快捷方式是 定制注解,因为与使用 @RequestMapping 相比,大多数控制器方法都应该映射到特定的HTTP方法,而 @RequestMapping 在默认情况下与所有HTTP方法匹配。同时,在类级别上仍然需要 @RequestMapping 来表示共享映射。

    下面的示例具有类型级和方法级映射:

    @RestController
    @RequestMapping("/persons")
    class PersonController {
    
        @GetMapping("/{id}")
        public Person getPerson(@PathVariable Long id) {
            // ...
        }
    
        @PostMapping
        @ResponseStatus(HttpStatus.CREATED)
        public void add(@RequestBody Person person) {
            // ...
        }
    }
    

    方法参数

    下一个表描述了受支持的控制器方法参数。任何参数都不支持响应型类型。

    JDK 8 的 java.util.Optional 作为一种方法参数被支持与具有 required 属性的注解(例如,@RequestParam@RequestHeader等)相结合,并且等价于 required=false

    控制器方法参数 描述
    WebRequest, NativeWebRequest 对请求参数和请求和会话属性的通用访问,而不直接使用Servlet API。
    javax.servlet.ServletRequest, javax.servlet.ServletResponse 选择任何特定的请求或响应类型-例如,ServletRequest, HttpServletRequest,或Spring的MultipartRequest, MultipartHttpServletRequest

    1.3.3. 处理方法

    Multipart

    启用MultipartResolver 之后,使用multipart/form-data 的 POST 请求的内容将被解析并作为常规请求参数进行访问。下面的例子访问一个常规的表单字段和一个上传的文件:

    @Controller
    public class FileUploadController {
    
        @PostMapping("/form")
        public String handleFormUpload(@RequestParam("name") String name,
                @RequestParam("file") MultipartFile file) {
    
            if (!file.isEmpty()) {
                byte[] bytes = file.getBytes();
                // store the bytes somewhere
                return "redirect:uploadSuccess";
            }
            return "redirect:uploadFailure";
        }
    }
    

    将参数类型声明为 List<MultipartFile> 允许为相同的参数名解析多个文件。

    @RequestParam注解被声明为 Map<String, MultipartFile>MultiValueMap<String, MultipartFile>,而没有在注释中指定参数名时,那么映射将为每个给定参数名填充多部分文件。

    使用Servlet 3.0多部分解析,您还可以声明 javax.servlet.http.Part 代替 Spring 的MultipartFile,作为方法参数或集合值类型。

    您还可以使用多部分内容作为到命令对象的数据绑定的一部分。例如,前面例子中的表单字段和文件可以是表单对象上的字段,如下面的例子所示:

    class MyForm {
    
        private String name;
    
        private MultipartFile file;
    
        // ...
    }
    
    @Controller
    public class FileUploadController {
    
        @PostMapping("/form")
        public String handleFormUpload(MyForm form, BindingResult errors) {
            if (!form.getFile().isEmpty()) {
                byte[] bytes = form.getFile().getBytes();
                // store the bytes somewhere
                return "redirect:uploadSuccess";
            }
            return "redirect:uploadFailure";
        }
    }
    
    展开全文
  • Web Client Software Factory(WCSF)示例HOL CS(翻译)中文
  • 有多个java web系统,想提供给港澳台地区使用,不知道怎么把他们都翻译成繁体,或者有什么收费系统能实现?
  • 应用yii1.1和php5进行敏捷web开发.rar 大小: 2470166 字节 修改时间: 2011年5月3日, 13:48:55 MD5: 7771228042DA5355D8AAD9AA0E30D948 SHA1: 4791F21E99605974EC623DA40E48FB08BA753324 CRC32: 938083FB 应用yii1.1...
  • google翻译 中文文本大量翻译成英文

    千次阅读 2018-11-13 05:53:22
    如题,我遇到了一下情况,需要将大量wiki百科的中文文本翻译成英文 面对这个问题,有以下几点困难 google 翻译的API 已经开始收费了。不在提供免费的API服务。 纯手工在google翻译的网页上翻译,对程序猿来说,你是...

    如题,我遇到了一下情况,需要将大量wiki百科的中文文本翻译成英文

    面对这个问题,有以下几点困难

    • google 翻译的API 已经开始收费了。不在提供免费的API服务。
    • 纯手工在google翻译的网页上翻译,对程序猿来说,你是认真的吗?
    • 在使用github上的开源项目时,发现即使通过web脚本调用google网页翻译的免费服务时,依然存在着字符串长度限制,已经会发生长度超出,翻译失败。

    在我解决了这个问题之后,我想还是在这里和大家分享一下吧。

    首先,先介绍下使用的开源项目:googletrans
    具体如下下载就请参考项目的介绍文档。

    假如你就是简单翻译几句短文本,
    查看 样例 就完全可以了。

    >>> from googletrans import Translator
    >>> translator = Translator()
    >>> translator.translate('안녕하세요.')
    # <Translated src=ko dest=en text=Good evening. pronunciation=Good evening.>
    >>> translator.translate('안녕하세요.', dest='ja')
    # <Translated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.>
    >>> translator.translate('veritas lux mea', src='la')
    # <Translated src=la dest=en text=The truth is my light pronunciation=The truth is my light>
    

    如果你和我一样需要翻译大量的文本,那么请看下面?

    (以下代码处理几百个文件依然没有被禁IP,请自己酌情改小sleep时间,以加快翻译速度)

    #首先导入需要的包
    from googletrans import Translator
    from tqdm import tqdm
    import os
    import random
    import time
    import re
    
    #声明源文件目录 和 生成文件的放置目录
    home = os.environ['HOME']
    path = home + "/study/project/chineseSegment/artifical/test"
    dest = home + "/study/project/chineseSegment/artifical/en"
    files = os.listdir(path)
    s = []
    
    # 把长文本切分成短文本,当时google担心会检查文本长度,所以随机了长度,应该没这么严格,想写成固定的也可以
    def getText(string):
        list = []
        randline = random.random() * 500 
        while len(string) > 1500:
            index = string.find("\n",int(randline)+1000)
            if index is not None:
                list.append(string[0:index])
                string = string[index:]
        list.append(string)
        return list
    #保存翻译完后的文件
    def save2file(title,result):
        with open(dest+"/"+title,'w') as d:
            for en in result:
                d.write(en)
            d.close
    # 在文本中无法识别的表情包会使得翻译产生错误,对文本过滤
    emoji_pattern = re.compile(
        u"(\ud83d[\ude00-\ude4f])|"  # emoticons
        u"(\ud83c[\udf00-\uffff])|"  # symbols & pictographs (1 of 2)
        u"(\ud83d[\u0000-\uddff])|"  # symbols & pictographs (2 of 2)
        u"(\ud83d[\ude80-\udeff])|"  # transport & map symbols
        u"(\ud83c[\udde0-\uddff])|"  # flags (iOS)
        u"((-{0,1}[{}]-{0,1}))|"     # 我的项目逻辑需要,可删除
        u"([R efn]|)"				 # 我的项目逻辑需要,可删除
        "+", flags=re.UNICODE)
    
    def remove_emoji(text):
        return emoji_pattern.sub(r'', text)
    
    # 打印单个文本分段后的翻译进度
    def printProcess(cnt,txt_len,tatal_size,error):
        content = "file completed "+str(cnt)+"/"+str(txt_len)
        print(content,end="\r")
    
    # 在短文本翻译出错后,用二分法找到错误地方,并舍去无法翻译的句子
    def binarySearch(text):
        mid = (int) (len(text) *1.0/2)
        result = []
        splitIndex = text.find("。",mid)
        if splitIndex == -1 or splitIndex == 0:
            return result
        
        pre = text[0:splitIndex]
        after = text[splitIndex+1:]
        try:
            result = result+append(pre)
        except:
            result = result+binarySearch(pre)
        
        try:
            result = result+append(after)
        except:
            result = result+binarySearch(after)
            
        return result 
    
    # 翻译文本
    def getTranslateTextList(txt):
        result = []
        time.sleep(1)
        cnt = 0
        txtsize = 0
      
        for text in txt:
            try:
                cnt += 1
                text = remove_emoji(text)
                txtsize += len(text)
                translate = Translator()
                en = translate.translate(text=text, dest='en').text 
                result.append(en)
                printProcess(cnt,len(txt),txtsize,error)
                slptimes = random.random()  #我可能想太多,怕固定的sleep还是会被google检查出来,所以随机了一个时间
                time.sleep(1.2 + slptimes) 
            except Exception as e:
                result = result + binarySearch(text)
        return result
    
    ## 正式开始 mian()
    for file in tqdm(files):
        if not os.path.isdir(file):
            title = Translator().translate(text=file, dest='en').text 
            try:
                with open(path+"/"+file,'r') as f:
                    string = f.read()
                    f.close()
                txt = getText(string)
                print("analysis:"+title)
                result = getTranslateTextList(txt)
                save2file(title,result)
            except Exception as e:
                    print(str(e))
                    continue
        time.sleep(30) #为了保证不被google屏蔽IP,不得已设置了一个超长时间的sleep,可以按情况改小
    

    如果 在这过程中遇到问题,可以去github的项目issue中找一下,我记得我当时运行这个项目的时候遇到了问题,通过issue的方法解决了,但是这会儿想不起来当时的问题是什么了。

    展开全文
  • Progressive Web Apps中文

    千次阅读 2018-05-17 18:28:34
    随着大前端的持续演进,客户端与web前端开发的区别越来越小,而如何让原生移动开发者转到前端开发获取跨平台开发,除了React Native...Progressive Web Apps (PWA) 中文版 本书目录 第1部分 | 定义 PWA 第1章 | ...
  • 前言 本文翻译自MDN上的《Web Audio APIの利用》,...我更熟悉日文,所以主要根据日文版翻译成简体中文,也会对照英文版的。 Web Audio API的使用 Web Audio API提供给你一个简单却强大的机制,你可以利用它去实现与...
  •  这篇文章是FastCgi的白皮书,在前言部分介绍CGI和服务器接口的优缺点,算是CGI/FastCGI中比较好的文章。所以就转过来。目的不是为了翻译,而是为了以后看起来比较清晰一点,http://home.educities.edu
  • web3j是一个轻量级、高度模块化、响应式、类型安全的Java和...本文是对web3j官网的完整翻译,大家可以参考。当然如果希望有一个快速入门的web3j内容,并且最好是边练习实例边学习的实操教程的话。 web3j的特点 ...
  • 本文为《Introduction to Tornado》中文翻译,将在https://github.com/alioth310/itt2zh上面持续更新,本文内容可能不是最新状态,请在GitHub上获得最新版本。 本文也可在http://demo.pythoner.com/itt2zh上进行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,492
精华内容 996
关键字:

web翻译中文