过去写的那个调用google翻译的翻译脚本,一直在用。那个版本只能处理单个单词,如果要翻译一行或者一段语句,尽管稍微修改下就可以,但失去了我想要 的便利性。今天看了看TK,顺手写了个GUI版本的,采用一次请求一个线程,倒是便捷不少。在windows上,你需要到
这里下载安装ActiveTcl才可以运行。
代码如下:
ruby 代码
- require 'net/http'
- require 'tk'
- require 'logger'
-
- $proxy_addr='x.xx.x'
- $proxy_port='80'
- class GoogleTranslate
- def initialize(url)
- @log = Logger.new("translate.log")
- @log.level = Logger::WARN
- @url=url
- ph={'padx'=>50,'pady'=>10}
- root=TkRoot.new{ title 'google 翻译程序'}
- top=TkFrame.new(root) {background "white"}
-
-
- checked=TkVariable.new
- TkCheckButton.new(top) do
- text 'cn-en'
- variable checked
- pack({'padx'=>8,'pady'=>10})
- end
- TkLabel.new(top){ text 'Enter text:';pack(ph)}
-
- @text=TkVariable.new
- @result=TkVariable.new
- TkEntry.new(top,'textvariable'=>@text,'width'=>40).pack(ph)
- pig_b=TkButton.new(top){text '翻译';pack ph}
-
- pig_b.command{ translate(checked.value) }
-
- TkLabel.new(top){ text 'Translate Result:';pack(ph)}
- TkEntry.new(top,'textvariable'=>@result,'width'=>40).pack(ph)
- pig_a=TkButton.new(top) do
- text 'Exit'
- pack ph
- command {exit}
- end
- top.pack('fill'=>'both','side'=>'top')
- end
- def translate(checked)
- langpair='en|zh-CN'
- langpair='zh-CN|en' if checked=='1'
-
- Thread.new do
- begin
-
-
- response.body =~ /
- @result.value=$1
- rescue Exception=>e
- @log.error(e)
- end
- end
-
- end
- end
- GoogleTranslate.new("http://translate.google.com/translate_t")
- Tk.mainloop
分享到:
相关推荐
### Ruby/tk 学习资料知识点详述 #### 核心概念:Ruby/tk简介与基本操作 **标题**:“Ruby/tk学习资料” **描述**:“自己整理的Ruby/tk学习资料!” **标签**:“Ruby” **部分内容**:RUBY/tk学习文档 在本...
在Ruby 1.9版本中,安装这个gem可能会遇到一些特定的挑战,因此我们将详细讨论如何在Ruby 1.9环境下正确安装`tk-win` gem。 首先,`tk-win` gem 是专门为Windows操作系统设计的,因为它包含了与Windows系统兼容的Tk...
在IT行业中,管理和切换Ruby版本是一项常见的任务,特别是在开发环境中,不同的项目可能依赖于不同版本的Ruby。`RVM`(Ruby Version Manager)是解决这一问题的利器,它允许开发者在多个Ruby版本之间轻松切换。本文...
本指南将详细讲解如何在Ubuntu系统上安装Ruby 2.1.5这一特定版本。 首先,确保你的Ubuntu系统是最新的。打开终端并运行以下命令来更新系统软件包: ```shell sudo apt-get update sudo apt-get upgrade ``` 接...
在IT行业中,尤其是在Web开发领域,Ruby是Rails框架的基础,因此掌握Ruby的安装和管理多版本是非常重要的。 标题“ruby多版本安装包rar”暗示我们将讨论如何在Windows系统上安装和管理多个Ruby版本。RubyInstaller...
这款工具的实现主要依赖于调用第三方翻译API,例如Google Translate或Bing Translator,将翻译服务的接口与Ruby代码相结合,实现文本的自动翻译。 在使用blade-translate时,用户首先需要安装必要的依赖库,这通常...
Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro Matsumoto...
sencha cmd 需要的第三方包,是一个完全面向对象的语言哟,堪比perl
Ruby是一种精心平衡设计的编程语言,由Yukihiro“matz”Matsumoto于1995年创建。它的设计理念是结合了Perl、Smalltalk、Eiffel、Ada和Lisp等语言的优点,旨在实现函数式编程与命令式编程的和谐共存。Matsumoto的目标...
基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby...
Ruby-Mobility是一款强大的、可拔插的Ruby翻译框架,专为解决多语言支持而设计。这个框架的主要目标是提供一种灵活、高效且易于集成的方式来处理应用中的国际化(i18n)问题。Ruby-Mobility的核心设计理念在于解耦...
ruby-build 是一个 rbenv 插件,它提供了一个 rbenv install 命令来在类 UNIX 系统上编译和安装不同版本的 Ruby。你还可以在需要精确控制 Ruby 版本安装的环境中使用不带 rbenv 的 ruby-build。用法在开始之前,...
在Ruby开发中,为了管理不同版本的Ruby环境,我们常常会使用到`rbenv`和`ruby-build`这两个工具。本文将详细介绍如何使用`ruby-build`来编译和安装Ruby。 `rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它...
执行命令`ruby -v`检查Ruby版本,应显示为`ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]`,表明安装成功。 #### 自定义升级策略 **优势分析** 手动编译安装的最大优势在于提供了极高的灵活性。当新的...
Ruby 1.8.6 是一个古老的 Ruby 语言版本,发布于2009年,是许多开发者早期学习和构建应用程序的重要版本。Ruby 是一种面向对象的、动态类型的编程语言,以其简洁、清晰的语法和强大的元编程能力而受到欢迎。在 Ruby ...
Ruby Ruby Ruby Ruby Ruby Ruby
Ruby 1.9.3 p484 是一个重要的编程语言版本,专为Windows平台设计,提供了稳定且高效的运行环境。Ruby是一种动态、面向对象的脚本语言,因其简洁、优雅的语法和强大的元编程能力而深受开发者喜爱。在1.9.3这个版本中...
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、...
标题 "Ruby-fryfish" 提供的信息表明,这是一个与 Ruby 语言相关的项目,具体来说,它是一个用于管理 Ruby 版本的工具。在 IT 领域,版本管理器允许开发者在不同的项目之间轻松切换所需的 Ruby 版本,确保每个项目都...
标题中的“贝岭的matlab的代码-google_translate:Ruby中的Google翻译API-gem”表明这是一个MATLAB项目,其中包含了利用Ruby语言编写的Google翻译API接口。这个项目可能旨在为MATLAB环境提供一个桥梁,以便在处理自然...