├── .gitignore
├── docs
├── screenshot.gif
├── screen_bettertranslate1.png
├── screen_bettertranslate2.png
└── screen_bettertranslate3.png
├── source
├── BetterTranslate
│ ├── icon.png
│ ├── translate.py
│ ├── bettertranslate.py
│ └── Config.plist
└── PureNumber
│ ├── purenumber.png
│ ├── purenumber.py
│ ├── Config.plist
│ └── pinyin.dat
├── extensions
├── PureNumber.popclipextz
└── BetterTranslate.popclipextz
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | *.pyc
3 | .DS_Store
4 |
--------------------------------------------------------------------------------
/docs/screenshot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/docs/screenshot.gif
--------------------------------------------------------------------------------
/source/BetterTranslate/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/source/BetterTranslate/icon.png
--------------------------------------------------------------------------------
/docs/screen_bettertranslate1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/docs/screen_bettertranslate1.png
--------------------------------------------------------------------------------
/docs/screen_bettertranslate2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/docs/screen_bettertranslate2.png
--------------------------------------------------------------------------------
/docs/screen_bettertranslate3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/docs/screen_bettertranslate3.png
--------------------------------------------------------------------------------
/extensions/PureNumber.popclipextz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/extensions/PureNumber.popclipextz
--------------------------------------------------------------------------------
/source/PureNumber/purenumber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/source/PureNumber/purenumber.png
--------------------------------------------------------------------------------
/extensions/BetterTranslate.popclipextz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harmy/PopClip-Extensions/HEAD/extensions/BetterTranslate.popclipextz
--------------------------------------------------------------------------------
/source/PureNumber/purenumber.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | import os
3 |
4 | CHINESE_NUMBERS = ['ling', 'yi', 'er', 'san', 'si', 'wu', 'liu', 'qi', 'ba', 'jiu']
5 |
6 | selected_text = os.environ.get('POPCLIP_TEXT', '幺两三四五六拐八狗洞')
7 | selected_text = unicode(selected_text, 'utf-8')
8 |
9 | pinyin_data = {}
10 | with open('pinyin.dat') as f:
11 | for line in f:
12 | key, value = line.strip().split(' ', 1)
13 | value = value.split(' ', 1)[0][:-1]
14 | if value in CHINESE_NUMBERS:
15 | pinyin_data[unicode(key, 'utf-8')] = str(CHINESE_NUMBERS.index(value))
16 |
17 | translated_text = [pinyin_data.get(char, char) for char in selected_text]
18 | result = ''.join([char for char in translated_text if char.isdigit()])
19 |
20 | print result if result != '' else '抱歉,从您选择的文本中找不到任何数字!'
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PopClip-Extensions
2 |
3 | these are my collections of [PopClip][popclip] extension.
4 |
5 | ## Better Translate
6 |
7 | Translate selected text instantly using google translate.
8 |
9 | * instantly translate selected text without opening dictionary app or browser.
10 | * lovely powered by google translate and support up to 81 languages by now.
11 | * using google tts service to convert text to speech.
12 |
13 | 
14 | 
15 | 
16 |
17 | download: [bettertranslate.popclipextz][bettertranslate]
18 |
19 |
20 | ## Pure Number
21 |
22 | Converts any Chinese numbers into pure Arabic figures.
23 |
24 | 
25 |
26 | download:[purenumber.popclipextz][purenumber]
27 |
28 | after install, try this text: 幺两三四五六拐八狗洞.
29 |
30 | [popclip]: http://pilotmoon.com/popclip/
31 | [purenumber]: https://github.com/harmy/PopClip-Extensions/raw/master/extensions/PureNumber.popclipextz
32 | [bettertranslate]: https://github.com/harmy/PopClip-Extensions/raw/master/extensions/BetterTranslate.popclipextz
--------------------------------------------------------------------------------
/source/PureNumber/Config.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Actions
6 |
7 |
8 | After
9 | preview-result
10 | Image File
11 | purenumber.png
12 | Script Interpreter
13 | /usr/bin/python
14 | Shell Script File
15 | purenumber.py
16 | Title
17 | PureNumber
18 | Regular Expression
19 | (?s)^.*[\p{Han}\p{N}].*$
20 |
21 |
22 | Credits
23 |
24 |
25 | Link
26 | http://harmy.github.io
27 | Name
28 | harmy
29 |
30 |
31 | Extension Description
32 | convert any Chinese number into digit number
33 | Extension Identifier
34 | com.popclip.extension.purenumber
35 | Extension Name
36 | PureNumber
37 | Version
38 | 3
39 |
40 |
41 |
--------------------------------------------------------------------------------
/source/BetterTranslate/translate.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # ----------------------------------------------------------------------------
3 | # "THE BEER-WARE LICENSE" (Revision 42):
4 | # wrote this file. As long as you retain this notice you
5 | # can do whatever you want with this stuff. If we meet some day, and you think
6 | # this stuff is worth it, you can buy me a beer in return to Terry Yin.
7 | #
8 | # The idea of this is borrowed from 's brilliant work
9 | # https://github.com/soimort/google-translate-cli
10 | # He uses "THE BEER-WARE LICENSE". That's why I use it too. So you can buy him a
11 | # beer too.
12 | # ----------------------------------------------------------------------------
13 | '''
14 | This is a simple, yet powerful command line translator with google translate
15 | behind it. You can also use it as a Python module in your code.
16 | '''
17 | import re
18 | try:
19 | import urllib2 as request
20 | from urllib import quote
21 | except:
22 | from urllib import request
23 | from urllib.parse import quote
24 |
25 | class Translator:
26 | string_pattern = r"\"(([^\"\\]|\\.)*)\""
27 | match_string =re.compile(
28 | r"\,?\["
29 | + string_pattern + r"\,"
30 | + string_pattern + r"\,"
31 | + string_pattern + r"\,"
32 | + string_pattern
33 | +r"\]")
34 |
35 | def __init__(self, to_lang, from_lang='auto'):
36 | self.from_lang = from_lang
37 | self.to_lang = to_lang
38 |
39 | def translate(self, source):
40 | json5 = self._get_json5_from_google(source)
41 | return self._unescape(self._get_translation_from_json5(json5))
42 |
43 | def _get_translation_from_json5(self, content):
44 | result = ""
45 | pos = 2
46 | while True:
47 | m = self.match_string.match(content, pos)
48 | if not m:
49 | break
50 | result += m.group(1)
51 | pos = m.end()
52 | return result
53 |
54 | def _get_json5_from_google(self, source):
55 | escaped_source = quote(source, '')
56 | headers = {'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'}
57 | req = request.Request(
58 | url="http://translate.google.com/translate_a/t?client=t&ie=UTF-8&oe=UTF-8"
59 | +"&sl=%s&tl=%s&text=%s" % (self.from_lang, self.to_lang, escaped_source)
60 | , headers = headers)
61 | r = request.urlopen(req)
62 | return r.read().decode('utf-8')
63 |
64 | def _unescape(self, text):
65 | return re.sub(r"\\.?", lambda x:eval('"%s"'%x.group(0)), text)
66 |
67 | def main():
68 | import argparse
69 | import sys
70 | import locale
71 | parser = argparse.ArgumentParser(description=__doc__)
72 | parser.add_argument('texts', metavar='text', nargs='+',
73 | help='a string to translate(use "" when it\'s a sentence)')
74 | parser.add_argument('-t', '--to', dest='to_lang', type=str, default='zh',
75 | help='To language (e.g. zh, zh-TW, en, ja, ko). Default is zh.')
76 | parser.add_argument('-f', '--from', dest='from_lang', type=str, default='auto',
77 | help='From language (e.g. zh, zh-TW, en, ja, ko). Default is auto.')
78 | args = parser.parse_args()
79 | translator= Translator(from_lang=args.from_lang, to_lang=args.to_lang)
80 | for text in args.texts:
81 | translation = translator.translate(text)
82 | if sys.version_info.major == 2:
83 | translation =translation.encode(locale.getpreferredencoding())
84 | sys.stdout.write(translation)
85 | sys.stdout.write("\n")
86 |
87 | if __name__ == "__main__":
88 | main()
89 |
--------------------------------------------------------------------------------
/source/BetterTranslate/bettertranslate.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | import os
3 | import re
4 | import time
5 | import urllib, urllib2
6 | from tempfile import NamedTemporaryFile
7 | from translate import Translator
8 |
9 | LANG_CODES = {
10 | "Afrikaans":"af",
11 | "Albanian":"sq",
12 | "Arabic":"ar",
13 | "Armenian":"hy",
14 | "Azerbaijani":"az",
15 | "Basque":"eu",
16 | "Belarusian":"be",
17 | "Bengali":"bn",
18 | "Bosnian":"bs",
19 | "Bulgarian":"bg",
20 | "Catalan":"ca",
21 | "Cebuano":"ceb",
22 | "Chinese (Simplified)":"zh-CN",
23 | "Chinese (Traditional)":"zh-TW",
24 | "Croatian":"hr",
25 | "Czech":"cs",
26 | "Danish":"da",
27 | "Dutch":"nl",
28 | "English":"en",
29 | "Esperanto":"eo",
30 | "Estonian":"et",
31 | "Filipino":"tl",
32 | "Finnish":"fi",
33 | "French":"fr",
34 | "Galician":"gl",
35 | "Georgian":"ka",
36 | "German":"de",
37 | "Greek":"el",
38 | "Gujarati":"gu",
39 | "Haitian Creole":"ht",
40 | "Hausa":"ha",
41 | "Hebrew":"iw",
42 | "Hindi":"hi",
43 | "Hmong":"hmn",
44 | "Hungarian":"hu",
45 | "Icelandic":"is",
46 | "Igbo":"ig",
47 | "Indonesian":"id",
48 | "Irish":"ga",
49 | "Italian":"it",
50 | "Japanese":"ja",
51 | "Javanese":"jw",
52 | "Kannada":"kn",
53 | "Khmer":"km",
54 | "Korean":"ko",
55 | "Lao":"lo",
56 | "Latin":"la",
57 | "Latvian":"lv",
58 | "Lithuanian":"lt",
59 | "Macedonian":"mk",
60 | "Malay":"ms",
61 | "Maltese":"mt",
62 | "Maori":"mi",
63 | "Marathi":"mr",
64 | "Mongolian":"mn",
65 | "Nepali":"ne",
66 | "Norwegian":"no",
67 | "Persian":"fa",
68 | "Polish":"pl",
69 | "Portuguese":"pt",
70 | "Punjabi":"pa",
71 | "Romanian":"ro",
72 | "Russian":"ru",
73 | "Serbian":"sr",
74 | "Slovak":"sk",
75 | "Slovenian":"sl",
76 | "Somali":"so",
77 | "Spanish":"es",
78 | "Swahili":"sw",
79 | "Swedish":"sv",
80 | "Tamil":"ta",
81 | "Telugu":"te",
82 | "Thai":"th",
83 | "Turkish":"tr",
84 | "Ukrainian":"uk",
85 | "Urdu":"ur",
86 | "Vietnamese":"vi",
87 | "Welsh":"cy",
88 | "Yiddish":"yi",
89 | "Yoruba":"yo",
90 | "Zulu":"zu"
91 | }
92 |
93 | def google_tts(text, tl='en'):
94 | """
95 | this function is adapted from https://github.com/hungtruong/Google-Translate-TTS, thanks @hungtruong.
96 | """
97 | #process text into chunks
98 | text = text.replace('\n','')
99 | text_list = re.split('(\,|\.)', text)
100 | combined_text = []
101 | for idx, val in enumerate(text_list):
102 | if idx % 2 == 0:
103 | combined_text.append(val)
104 | else:
105 | joined_text = ''.join((combined_text.pop(),val))
106 | if len(joined_text) < 100:
107 | combined_text.append(joined_text)
108 | else:
109 | subparts = re.split('( )', joined_text)
110 | temp_string = ""
111 | temp_array = []
112 | for part in subparts:
113 | temp_string = temp_string + part
114 | if len(temp_string) > 80:
115 | temp_array.append(temp_string)
116 | temp_string = ""
117 | #append final part
118 | temp_array.append(temp_string)
119 | combined_text.extend(temp_array)
120 | #download chunks and write them to the output file
121 | f = NamedTemporaryFile(delete=False)
122 | for idx, val in enumerate(combined_text):
123 | mp3url = "http://translate.google.com/translate_tts?tl=%s&q=%s&total=%s&idx=%s" % (tl, urllib.quote(val), len(combined_text), idx)
124 | headers = {"Host":"translate.google.com",
125 | "Referer":"http://www.gstatic.com/translate/sound_player2.swf",
126 | "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.163 Safari/535.19"}
127 | req = urllib2.Request(mp3url, '', headers)
128 | if len(val) > 0:
129 | try:
130 | response = urllib2.urlopen(req)
131 | f.write(response.read())
132 | time.sleep(.5)
133 | except urllib2.HTTPError as e:
134 | print ('%s' % e)
135 | f.close()
136 | os.system('afplay {0}'.format(f.name))
137 | os.unlink(f.name)
138 |
139 |
140 | selectedText= os.environ['POPCLIP_TEXT']
141 | destLang = os.environ['POPCLIP_OPTION_DESTLANG']
142 | ttsLang = os.environ['POPCLIP_OPTION_TTSLANG']
143 |
144 | from translate import Translator
145 | translator= Translator(to_lang=LANG_CODES[destLang])
146 | translation = translator.translate(selectedText)
147 |
148 | if ttsLang != 'Disabled':
149 | google_tts(selectedText, LANG_CODES[ttsLang])
150 |
151 | result = translation.encode('utf-8')
152 |
153 | print result
--------------------------------------------------------------------------------
/source/PureNumber/pinyin.dat:
--------------------------------------------------------------------------------
1 | 㡵 ling2
2 | 㥄 ling2
3 | 㦭 ling2
4 | 㪮 ling2
5 | 㬡 ling2
6 | 㯪 ling2
7 | 㖫 ling2
8 | 㱥 ling2
9 | 㲆 ling2
10 | 㸳 ling2
11 | 㻏 ling2 ling3
12 | 㾉 ling2
13 | 䄥 ling2
14 | 䈊 ling2
15 | 䉁 ling2
16 | 䉖 ling2
17 | 䉹 ling2 liu3
18 | 䌢 ling2
19 | 䍅 ling2
20 | 䔖 ling2
21 | 䕘 ling2
22 | 䖅 ling2
23 | 䙥 ling2
24 | 䚖 ling2
25 | 䠲 ling2
26 | 䡼 ling2
27 | 䡿 ling2
28 | 䧙 ling2
29 | 䨩 ling2
30 | 䯍 ling2
31 | 䰱 ling2
32 | 䴇 ling2
33 | 䴒 ling2
34 | 䴫 ling2
35 | 令 ling4 ling2 ling3
36 | 伶 ling2
37 | 倰 ling2
38 | 凌 ling2
39 | 刢 ling2
40 | 呤 ling2 ling4 ling3
41 | 囹 ling2
42 | 坽 ling2
43 | 夌 ling2
44 | 姈 ling2
45 | 孁 ling2
46 | 岭 ling2 ling3
47 | 岺 ling2
48 | 崚 ling2
49 | 朎 ling2
50 | 柃 ling2
51 | 棂 ling2
52 | 櫺 ling2
53 | 欞 ling2
54 | 泠 ling2 ling3
55 | 淩 ling2
56 | 澪 ling2
57 | 灵 ling2 ling4
58 | 燯 ling2
59 | 爧 ling2
60 | 狑 ling2
61 | 玲 ling2
62 | 琌 ling2
63 | 瓴 ling2
64 | 皊 ling2
65 | 睖 ling2 leng4
66 | 砱 ling2
67 | 碐 ling2 leng2
68 | 磷 lin2 lin4 lin3 ling2
69 | 祾 ling2
70 | 秢 ling2
71 | 稜 ling2
72 | 竛 ling2
73 | 笭 ling2
74 | 紷 ling2
75 | 綾 ling2
76 | 绫 ling2
77 | 羚 ling2
78 | 翎 ling2
79 | 聆 ling2
80 | 舲 ling2
81 | 苓 ling2 lian2
82 | 菱 ling2
83 | 蔆 ling2
84 | 蕶 ling2
85 | 蘦 ling2
86 | 蛉 ling2
87 | 衑 ling2
88 | 裬 ling2
89 | 詅 ling2
90 | 跉 ling2
91 | 軨 ling2
92 | 輘 ling2 leng2
93 | 酃 ling2
94 | 醽 ling2
95 | 鈴 ling2
96 | 錂 ling2
97 | 铃 ling2
98 | 閝 ling2
99 | 陵 ling2
100 | 零 ling2 lian2
101 | 霊 ling2
102 | 霛 ling2
103 | 霝 ling2 ling4
104 | 靈 ling2 ling4
105 | 駖 ling2
106 | 魿 ling2
107 | 鯪 ling2
108 | 鲮 ling2
109 | 鴒 ling2
110 | 鸰 ling2
111 | 鹷 ling2
112 | 麢 ling2
113 | 齡 ling2
114 | 齢 ling2
115 | 龄 ling2
116 | 龗 ling2
117 | 㘈 yi1
118 | 一 yi1
119 | 伊 yi1
120 | 依 yi1 yi3
121 | 医 yi4 yi1
122 | 吚 yi1
123 | 咿 yi1
124 | 噫 yi1
125 | 壱 yi1
126 | 壹 yi1 yi4
127 | 夁 yi1 yin1
128 | 嫛 yi1
129 | 弌 yi1
130 | 悘 yi1
131 | 悥 yi4 yi1
132 | 揖 yi1 ji2
133 | 椅 yi3 yi1
134 | 檹 yi1
135 | 欹 yi1 qi1
136 | 毉 yi1
137 | 泆 yi1 yi4
138 | 洢 yi1
139 | 溰 yi1
140 | 漪 yi1
141 | 燚 yi1
142 | 猗 yi1 e1 wei1 yi3 ji4
143 | 瑿 yi1
144 | 祎 yi1
145 | 禕 yi1
146 | 稦 yi1
147 | 繄 yi1
148 | 蛜 yi1
149 | 衣 yi1 yi4
150 | 譩 yi1
151 | 郼 yi1
152 | 醫 yi1
153 | 銥 yi1 yi3
154 | 铱 yi3 yi1
155 | 陭 yi1 qi1 yi4
156 | 餏 yi1
157 | 饻 yi1
158 | 鷖 yi1
159 | 鹥 yi1
160 | 黟 yi1
161 | 黳 yi1
162 | 㒃 er4
163 | 㛅 er4
164 | 䎶 er4
165 | 䏪 er4
166 | 䣵 er4
167 | 二 er4
168 | 佴 er4 nai4 mi3
169 | 刵 er4
170 | 咡 er4
171 | 弍 er4
172 | 弐 er4
173 | 樲 er4
174 | 毦 er4 er3
175 | 眲 er4 ne4
176 | 衈 er4 er3
177 | 誀 er4
178 | 貮 er4
179 | 貳 er4
180 | 贰 er4
181 | 鉺 er3 er4 keng1
182 | 铒 er4
183 | 三 san1 san4
184 | 叁 san1
185 | 参 san1 shen1 den1 cen1 san3
186 | 參 san1 shen1 den1 cen1
187 | 叄 san1 san3
188 | 嘇 san1
189 | 弎 san1 san4
190 | 攕 san1 xian1
191 | 毵 san1
192 | 毿 san1
193 | 犙 san1
194 | 糁 san1 san3
195 | 糝 san3 san1
196 | 糣 san3 san1
197 | 蔘 sen1 san1 shen1
198 | 鬖 san1
199 | 㐌 si4 yi2
200 | 㕽 si4
201 | 㚶 si4
202 | 㣈 si4
203 | 㭒 si4
204 | 㸻 si4
205 | 㹑 si4 yi2
206 | 㾅 si4 zhi4 zi3
207 | 䇃 si4 xiao4
208 | 䎣 si4 xin4
209 | 䏤 si4
210 | 䦙 si4
211 | 亖 si4
212 | 伺 si4 ci4
213 | 似 si4 shi4
214 | 佀 si4 shi4
215 | 価 si4
216 | 俟 si4 qi2
217 | 儩 si4
218 | 兕 si4
219 | 嗣 si4
220 | 四 si4
221 | 姒 si4
222 | 娰 si4
223 | 孠 si4
224 | 寺 si4
225 | 巳 si4
226 | 思 si1 si4 sai1
227 | 杫 si4
228 | 柶 si4
229 | 汜 si4
230 | 泗 si4
231 | 泤 si4
232 | 洍 si4
233 | 涘 si4
234 | 瀃 si4
235 | 牭 si4
236 | 祀 si4
237 | 祠 si4
238 | 禩 si4
239 | 竢 si4
240 | 笥 si4
241 | 耜 si4
242 | 肂 si4
243 | 肄 si4
244 | 肆 si4 ti4
245 | 苡 si4
246 | 蕼 si4
247 | 覗 si1 si4
248 | 貄 si4
249 | 釲 si4
250 | 鈻 si4
251 | 飤 si4
252 | 飼 si4
253 | 饲 si4
254 | 駟 si4
255 | 驷 si4
256 | 飼 si4
257 | 㐅 wu3
258 | 㑄 wu3
259 | 㬳 wu3
260 | 㵲 wu3
261 | 䍢 wu2 wu3
262 | 䒉 wu3
263 | 䟼 wu3
264 | 䡧 wu3
265 | 䳇 wu3
266 | 五 wu3
267 | 仵 wu3
268 | 伍 wu3
269 | 侮 wu3
270 | 倵 wu3
271 | 儛 wu3
272 | 午 wu3
273 | 啎 wu3
274 | 墲 wu3
275 | 妩 wu3
276 | 娒 wu3
277 | 娬 wu3
278 | 嫵 wu3
279 | 嵨 wu3
280 | 庑 wu3 wu2
281 | 廡 wu3 wu2
282 | 忤 wu3
283 | 怃 wu3
284 | 憮 wu3
285 | 捂 wu3
286 | 摀 wu3
287 | 旿 wu3
288 | 橆 wu3
289 | 武 wu3
290 | 潕 wu3
291 | 熓 wu3 wen4
292 | 牾 wu2 wu3
293 | 玝 wu3
294 | 珷 wu3
295 | 甒 wu3
296 | 碔 wu3
297 | 舞 wu3
298 | 蕪 wu2 wu3
299 | 躌 wu3
300 | 迕 wu4 wu3
301 | 鵡 wu3
302 | 鹉 wu3
303 | 㙀 liu4
304 | 㨨 liu4
305 | 㶯 liu4
306 | 㽌 liu4
307 | 䄂 liu4
308 | 六 liu4 lu4
309 | 坴 liu4
310 | 塯 liu4
311 | 廇 liu4
312 | 溜 liu1 liu4 liu2
313 | 澑 liu4 liu1 liu2
314 | 熘 liu1 liu4
315 | 畂 liu4 jiu4 mu3
316 | 磂 liu4
317 | 翏 liu4 liao4 liu2
318 | 蹓 liu1 liu4
319 | 遛 liu2 liu4
320 | 鎦 liu2 liu4
321 | 鐂 liu4 liu2
322 | 镏 liu2 liu4
323 | 陆 liu4
324 | 陸 liu4
325 | 雡 liu4
326 | 霤 liu4
327 | 餾 liu4 liu2
328 | 馏 liu4 liu2
329 | 鬸 liu4
330 | 七 qi1
331 | 倛 qi1
332 | 僛 qi1
333 | 凄 qi1
334 | 唭 qi1
335 | 嘁 qi1
336 | 墄 qi1
337 | 妻 qi1 qi4
338 | 娸 qi1
339 | 悽 qi1
340 | 慼 qi1
341 | 慽 qi1
342 | 戚 qi1
343 | 攲 qi1 ji1 yi1
344 | 期 qi1 qi2 ji1
345 | 柒 qi1
346 | 栖 qi1 xi1
347 | 桤 qi1
348 | 桼 qi1
349 | 棲 qi1 xi1
350 | 榿 qi1
351 | 欺 qi1
352 | 沏 qi1 qie1 qie4
353 | 淒 qi1
354 | 漆 qi1
355 | 磎 qi1 xi1
356 | 磩 qi1 qi4
357 | 緀 qi1
358 | 萋 qi1
359 | 諆 qi1 ji1
360 | 郪 qi1 ci1
361 | 鏚 qi4 qi1
362 | 霋 qi1
363 | 顣 qi1 cu4
364 | 魌 qi1
365 | 鶈 qi1
366 | 鸂 qi1 xi1
367 | 仈 ba1
368 | 八 ba1
369 | 叭 ba1 ba5
370 | 吧 ba5 ba1
371 | 哵 ba1
372 | 岜 ba1
373 | 巴 ba1
374 | 扒 ba1 pa1 pa2
375 | 捌 ba1
376 | 朳 ba1
377 | 玐 ba1
378 | 疤 ba1
379 | 笆 ba1
380 | 粑 ba1
381 | 羓 ba1
382 | 芭 ba1 pa1
383 | 豝 ba1
384 | 釟 ba1
385 | 鈀 ba3 pa2 ba1
386 | 鲃 ba1 ba4
387 | 㡱 jiu3
388 | 久 jiu3
389 | 乆 jiu3
390 | 九 jiu3
391 | 乣 jiu3
392 | 奺 jiu3
393 | 灸 jiu3
394 | 玖 jiu3
395 | 糺 jiu1 jiu3 jiao3
396 | 糾 jiu1 jiu3
397 | 紤 jiu3
398 | 纠 jiu1 jiu3 jiao3
399 | 舏 jiu3
400 | 艽 jiu3 jiao1
401 | 酒 jiu3
402 | 镹 jiu3
403 | 韭 jiu3
404 | 韮 jiu3
405 | o ling2
406 | O ling2
407 | 〇 ling2
408 | 洞 ling5
409 | 幺 yi5
410 | 妖 yi5
411 | 吆 yi5
412 | 腰 yi5
413 | 邀 yi5
414 | 夭 yi5
415 | 訞 yi5
416 | 两 er5
417 | 俩 er5
418 | 仨 san1
419 | 拐 qi5
420 | 狗 jiu5
421 | Ⅰ yi1
422 | Ⅱ er2
423 | Ⅲ san1
424 | Ⅳ si4
425 | Ⅴ wu3
426 | Ⅵ liu4
427 | Ⅶ qi1
428 | Ⅷ ba1
429 | Ⅸ jiu3
430 | ① yi1
431 | ② er4
432 | ③ san1
433 | ④ si4
434 | ⑤ wu3
435 | ⑥ liu4
436 | ⑦ qi1
437 | ⑧ ba1
438 | ⑨ jiu3
--------------------------------------------------------------------------------
/source/BetterTranslate/Config.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Actions
6 |
7 |
8 | After
9 | preview-result
10 | Image File
11 | icon.png
12 | Script Interpreter
13 | /usr/bin/python
14 | Shell Script File
15 | bettertranslate.py
16 | Title
17 | Better Tranlate
18 | Regular Expression
19 | (?s)^.{1,200}$
20 |
21 |
22 | Credits
23 |
24 |
25 | Link
26 | http://harmy.github.io
27 | Name
28 | harmy
29 |
30 |
31 | Extension Description
32 | Translate selected text instantly using google translate.
33 | Extension Identifier
34 | com.popclip.extension.bettertranslate
35 | Extension Name
36 | Better Translate
37 | Options
38 |
39 |
40 | Option Identifier
41 | destlang
42 | Option Label
43 |
44 | en
45 | Destination Language
46 | zh-Hans
47 | 翻译为
48 | zh-Hant
49 | 轉換為
50 |
51 | Option Type
52 | multiple
53 | Option Values
54 |
55 | Afrikaans
56 | Albanian
57 | Arabic
58 | Armenian
59 | Azerbaijani
60 | Basque
61 | Belarusian
62 | Bengali
63 | Bosnian
64 | Bulgarian
65 | Catalan
66 | Cebuano
67 | Chinese (Simplified)
68 | Chinese (Traditional)
69 | Croatian
70 | Czech
71 | Danish
72 | Dutch
73 | English
74 | Esperanto
75 | Estonian
76 | Filipino
77 | Finnish
78 | French
79 | Galician
80 | Georgian
81 | German
82 | Greek
83 | Gujarati
84 | Haitian Creole
85 | Hausa
86 | Hebrew
87 | Hindi
88 | Hmong
89 | Hungarian
90 | Icelandic
91 | Igbo
92 | Indonesian
93 | Irish
94 | Italian
95 | Japanese
96 | Javanese
97 | Kannada
98 | Khmer
99 | Korean
100 | Lao
101 | Latin
102 | Latvian
103 | Lithuanian
104 | Macedonian
105 | Malay
106 | Maltese
107 | Maori
108 | Marathi
109 | Mongolian
110 | Nepali
111 | Norwegian
112 | Persian
113 | Polish
114 | Portuguese
115 | Punjabi
116 | Romanian
117 | Russian
118 | Serbian
119 | Slovak
120 | Slovenian
121 | Somali
122 | Spanish
123 | Swahili
124 | Swedish
125 | Tamil
126 | Telugu
127 | Thai
128 | Turkish
129 | Ukrainian
130 | Urdu
131 | Vietnamese
132 | Welsh
133 | Yiddish
134 | Yoruba
135 | Zulu
136 |
137 | Option Default Value
138 | Chinese (Simplified)
139 |
140 |
141 | Option Identifier
142 | ttslang
143 | Option Label
144 |
145 | en
146 | Text To Speech
147 | zh-Hans
148 | 发音
149 | zh-Hant
150 | 發音
151 |
152 | Option Type
153 | multiple
154 | Option Values
155 |
156 | Disabled
157 | Afrikaans
158 | Albanian
159 | Arabic
160 | Armenian
161 | Azerbaijani
162 | Basque
163 | Belarusian
164 | Bengali
165 | Bosnian
166 | Bulgarian
167 | Catalan
168 | Cebuano
169 | Chinese (Simplified)
170 | Chinese (Traditional)
171 | Croatian
172 | Czech
173 | Danish
174 | Dutch
175 | English
176 | Esperanto
177 | Estonian
178 | Filipino
179 | Finnish
180 | French
181 | Galician
182 | Georgian
183 | German
184 | Greek
185 | Gujarati
186 | Haitian Creole
187 | Hausa
188 | Hebrew
189 | Hindi
190 | Hmong
191 | Hungarian
192 | Icelandic
193 | Igbo
194 | Indonesian
195 | Irish
196 | Italian
197 | Japanese
198 | Javanese
199 | Kannada
200 | Khmer
201 | Korean
202 | Lao
203 | Latin
204 | Latvian
205 | Lithuanian
206 | Macedonian
207 | Malay
208 | Maltese
209 | Maori
210 | Marathi
211 | Mongolian
212 | Nepali
213 | Norwegian
214 | Persian
215 | Polish
216 | Portuguese
217 | Punjabi
218 | Romanian
219 | Russian
220 | Serbian
221 | Slovak
222 | Slovenian
223 | Somali
224 | Spanish
225 | Swahili
226 | Swedish
227 | Tamil
228 | Telugu
229 | Thai
230 | Turkish
231 | Ukrainian
232 | Urdu
233 | Vietnamese
234 | Welsh
235 | Yiddish
236 | Yoruba
237 | Zulu
238 |
239 | Option Default Value
240 | Disabled
241 |
242 |
243 | Version
244 | 1
245 |
246 |
247 |
--------------------------------------------------------------------------------