Thêm sudo ngay từ đầu nếu bạn gặp vấn đề.
Kết quả là dịch, và nó thường là một chuỗi unicode.
| #!/usr/bin/env Python
|
| # ----------------------------------------------------- -------------------------------
|
| # "Giấy phép Bia-Ware" (Sửa đổi 42):
|
| # đã viết tập tin này. Miễn là bạn giữ lại thông báo này, bạn
|
| # có thể làm bất cứ điều gì bạn muốn với những thứ này. Nếu chúng ta gặp một ngày nào đó, và bạn nghĩ
|
| # Những thứ này là giá trị nó, bạn có thể mua cho tôi một ly bia để đổi lại Terry Yin.
|
| #
|
| # Ý tưởng về điều này được mượn từ công việc tuyệt vời
|
| # https://github.com/soimort/google-translate-cli
|
| # Anh ấy sử dụng "Giấy phép Bia-Ware". Đó là lý do tại sao tôi cũng sử dụng nó. Vì vậy, bạn có thể mua cho anh ấy một
|
| # Bia quá.
|
| # ----------------------------------------------------- -------------------------------
|
| # "Giấy phép Bia-Ware" (Sửa đổi 42):
|
| # đã viết tập tin này. Miễn là bạn giữ lại thông báo này, bạn
|
| # có thể làm bất cứ điều gì bạn muốn với những thứ này. Nếu chúng ta gặp một ngày nào đó, và bạn nghĩ
|
| # "Giấy phép Bia-Ware" (Sửa đổi 42):
|
| # đã viết tập tin này. Miễn là bạn giữ lại thông báo này, bạn re
|
| # có thể làm bất cứ điều gì bạn muốn với những thứ này. Nếu chúng ta gặp một ngày nào đó, và bạn nghĩ:
|
| importurllib2asrequest urllib2 as request
|
| # Những thứ này là giá trị nó, bạn có thể mua cho tôi một ly bia để đổi lại Terry Yin. urllib import quote
|
| #:
|
| # Ý tưởng về điều này được mượn từ công việc tuyệt vời urllib import request
|
| fromurllib.parseimportquote urllib.parse import quote
|
|
|
| # https://github.com/soimort/google-translate-cli Translator:
|
| # Anh ấy sử dụng "Giấy phép Bia-Ware". Đó là lý do tại sao tôi cũng sử dụng nó. Vì vậy, bạn có thể mua cho anh ấy một = r"\"(([^\"\\]|\\.)*)\""
|
| # Bia quá. =re.compile(
|
| '' '
|
| Đây là một trình dịch dòng lệnh đơn giản nhưng mạnh mẽ với Google Dịch string_pattern + r"\,"
|
| Đây là một trình dịch dòng lệnh đơn giản nhưng mạnh mẽ với Google Dịch string_pattern + r"\,"
|
| Đây là một trình dịch dòng lệnh đơn giản nhưng mạnh mẽ với Google Dịch string_pattern + r"\,"
|
| +string_pattern string_pattern
|
| đằng sau nó. Bạn cũng có thể sử dụng nó như một mô -đun Python trong mã của bạn.r"\]")
|
|
|
| Ngăn chặn __init__(self, to_lang, from_lang='en'):
|
| self.from_lang=from_lang.from_lang = from_lang
|
| self.to_lang=to_lang.to_lang = to_lang
|
|
|
| thử: translate(self, source):
|
| Fromurllibimportquote = self._get_json5_from_google(source)
|
| ngoại trừ: self._unescape(self._get_translation_from_json5(json5))
|
|
|
| FromurllibimportRequest _get_translation_from_json5(self, content):
|
| result="" = ""
|
| pos=2 = 2
|
| ClassTranslator: True:
|
| String_Potyern = r "\" (([^\ "\\] | \\.)*) \" " = self.match_string.match(content, pos)
|
| match_string = re.compile ( not m:
|
| break
|
| r "\,? \ [" += m.group(1)
|
| +String_Potype+r "\," = m.end()
|
| +r "\]") result
|
|
|
| def__init __ (self, to_lang, from_lang = 'en'): _get_json5_from_google(self, source):
|
| DEFTRANSLATE (tự, nguồn): = quote(source, '')
|
| json5 = self._get_json5_from_google (nguồn) = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19'}
|
| return tự._unescape (self._get_translation_from_json5 (json5))) = request.Request(
|
| url="http://translate.google.com/translate_a/t?client=t&ie=UTF-8&oe=UTF-8"="http://translate.google.com/translate_a/t?client=t&ie=UTF-8&oe=UTF-8"
|
| def_get_translation_from_json5 (tự, nội dung):"&sl=%s&tl=%s&text=%s" % (self.from_lang, self.to_lang, escaped_source)
|
| Whiletrue:headers = headers)
|
| m = self.match_string.match (nội dung, pos) = request.urlopen(req)
|
| ifnotm: r.read().decode('utf-8')
|
|
|
| Kết quả+= M.group (1) _unescape(self, text):
|
| pos = m.end () re.sub(r"\\.?", lambda x:eval('"%s"'%x.group(0)), text)
|
|
|
| Trả lại main():
|
| def_get_json5_from_google (self, nguồn): argparse
|
| escaped_source = quote (nguồn, '') sys
|
| tiêu đề = {'người dùng-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (Khtml, như Gecko) Chrome/18.0.1025.168 Safari/535.19'} locale
|
| req = request.request ( = argparse.ArgumentParser(description=__doc__)
|
| +"& SL =%s & tl =%s & text =%s"%(self.from_lang, self.to_lang, escaped_source).add_argument('texts', metavar='text', nargs='+',
|
| Trợ giúp = 'một chuỗi để dịch (sử dụng "" khi nó là một câu)')='a string to translate(use "" when it\'s a sentence)')
|
| Parser.add_argument ('-t', '--to', dest = 'to_lang', type = str, mặc định = 'zh',.add_argument('-t', '--to', dest='to_lang', type=str, default='zh',
|
| Trợ giúp = 'với ngôn ngữ (ví dụ: ZH, ZH-TW, EN, JA, KO). Mặc định là ZH. ')='To language (e.g. zh, zh-TW, en, ja, ko). Default is zh.')
|
| Parser.add_argument ('-f', '-from', dest = 'from_lang', type = str, mặc định = 'tự động',.add_argument('-f', '--from', dest='from_lang', type=str, default='auto',
|
| Trợ giúp = 'từ ngôn ngữ (ví dụ: ZH, ZH-TW, EN, JA, KO). Mặc định là tự động. ')='From language (e.g. zh, zh-TW, en, ja, ko). Default is auto.')
|
| args = Parser.parse_args () = parser.parse_args()
|
| Translator = Translator (from_lang = args.from_lang, to_lang = args.to_lang)= Translator(from_lang=args.from_lang, to_lang=args.to_lang)
|
| fortextinargs.texts: text in args.texts:
|
| dịch = dịch.translate (văn bản) = translator.translate(text)
|
| ifsys.version_info.major == 2: sys.version_info.major == 2:
|
| dịch = dịch.encode (locale.getpreferredencoding ()) =translation.encode(locale.getpreferredencoding())
|
| sys.stdout.write (bản dịch).stdout.write(translation)
|
| sys.stdout.write ("\ n").stdout.write("\n")
|
|
|
| if__name __ == "__ main__": __name__ == "__main__":
|
| chính()()
|