也寫了一個給通訊錄添加注音的工具,支援中日韓語言選擇,支援多音字選擇,提供兩種格式設定

2016-02-02 22:22:10 +08:00
 Elethom

在 GitHub 上查看

嘛。懶得寫介紹,直接把 readme 拖過來了。目前 Homebrew 還沒 merge ,請自行編譯安裝。在 Mac 上運行完了就可以直接通過 iCloud 同步到所有設備上去了。

E 一個畫圖喵一年多沒寫代碼了,就這些,將就著用吧。

很慚愧,做了一點微小的貢獻,謝謝大家。


功能:

建議運行的時候加上 -i 參數把所有的注音都重新設定,如果聯繫人只有中國人的話,可以加上 -j-k 忽略掉日本語和韓語。

關於實現方式:


ContactsUtil-PhoneticName

General

Add phonetic names to contacts. Supports all CJK characters and multiple formats.

Install

With Homebrew:

$ brew install contacts-phonetic

Compile on your own:

$ git clone https://github.com/Elethom/ContactsUtil-PhoneticName.git
$ cd ContactsUtil-PhoneticName
$ make install

Usage

-i, --ignore-existing
    Ignore existing phonetic names. Use of this option will update all person entries in the address book.

-m, --keep-marks
    Keep accents and diacritcs.

-s, --keep-spaces
    Keep spaces between characters.

-c, --ignore-chinese
    Ignore Chinese. (Will use Japanese Romaji if both are possible.)

-j, --ignore-japanese
    Ignore Japanese. (Will use Chinese Pinyin if both are possible.)

-k, --ignore-korean
    Ignore Korean.

Example:

$ contacts-phonetic
--------------------
Alice Alstromeria
--------------------
Dieter Rams
--------------------
Elethom Alstromeria
--------------------
ことり 椎名
椎名 1. Japanese (shiina); 2. Chinese (chuí míng). Select: Select: 1
Kotori Shiina
--------------------
直人 深澤
直人 1. Japanese (naoto); 2. Chinese (zhí rén). Select: Select: 1
深澤 1. Japanese (fukazawa); 2. Chinese (shēn zé). Select: Select: 1
Naoto Fukazawa
--------------------
研哉 原
研哉 1. Japanese (ken'ya); 2. Chinese (yán zāi). Select: Select: 1
原 1. Japanese (hara); 2. Chinese (yuán). Select: Select: 1
Ken'ya Hara
--------------------

License

This code is distributed under the terms and conditions of the MIT license.

Donate

You can support me by:

:-)

Contact

2908 次点击
所在节点    分享创造
26 条回复
wbsdty331
2016-02-02 22:38:47 +08:00
强行膜
jjgod
2016-02-02 22:42:10 +08:00
Elethom
2016-02-02 22:49:22 +08:00
@jjgod
Fixed.
49
2016-02-02 22:52:58 +08:00
一个人的命运啊,当然要靠自我奋斗。但也要考虑历史的进程。
你写的这个工具啊, excited !刚好要用到!
xhacker
2016-02-03 00:56:53 +08:00
`--ignore-existing` 和 `--ignore-(chinese|japanese|korean)` 似乎语义是反的?
xhacker
2016-02-03 00:59:48 +08:00
另外:

潇袆 李
Xiāohuī Lǐ

这是个 bug 么……
Elethom
2016-02-03 01:05:57 +08:00
@xhacker

--ignore-existing 是不再對已經標註過的聯繫人重新注音。

查了一下這個條目,讀音並沒有標註錯。中文讀音來自 ICU ,多音字抓取自漢語字典。應該不會有錯。
xhacker
2016-02-03 07:55:14 +08:00
@Elethom: 呃居然是我写错字了……了解了。
xhacker
2016-02-03 08:03:50 +08:00
加 -k 参数就不干活了。似乎 https://github.com/Elethom/ContactsUtil-PhoneticName/blob/master/src/main.m#L107-L109 这里有点问题?
ppwangs
2016-02-03 08:35:24 +08:00
现在的孩子们连汉字都不认得了,需要注音了吗?
Elethom
2016-02-03 08:51:35 +08:00
@xhacker
暈。對不起,那一段應該向下移動一行。稍後起來改。 _(:з」∠)_
imn1
2016-02-03 09:09:39 +08:00
注音还是拼音?大陆这边懂注音的恐怕不多
Elethom
2016-02-03 09:10:46 +08:00
@imn1
這個也支援其它語言所以用「拼音」似乎不太合適。
Elethom
2016-02-03 10:55:54 +08:00
@xhacker
Repo 更新了。 Homebrew 待 merge 。
https://github.com/Homebrew/homebrew/pull/48749
Elethom
2016-02-03 11:41:43 +08:00
@xhacker

$ brew audit contacts-phonetic --online
contacts-phonetic:
* GitHub repository not notable enough (<10 forks, <10 watchers and <20 stars)
* GitHub repository too new (<30 days old)

Error: 2 problems in 1 formula

CI 失敗。 😭
xhacker
2016-02-03 11:51:13 +08:00
@xhacker: 「 Ignore existing phonetic names. Use of this option will update all person entries in the address book.」你这两句话似乎是自相矛盾的?
Elethom
2016-02-03 13:10:09 +08:00
@xhacker
並沒有呀。忽略掉已經存在的 phonetic names 不就是不管原來有沒有全部都更新嗎。默認的話是會檢查是否存在的,存在即跳過。
zander
2016-02-03 13:33:59 +08:00
Absolutely great job.
几天前我还在那个帖子里提到日文名字的发音问题, LZ 行动力挺高的。

不过 CFStringTokenizer 对日文支持不是很好,例如 相哲 soutetsu 就会认成 aiakira 。不过我也没找到更好的方法,就把项目搁置了。反正我添加联系人的机会也不多。
won
2016-02-03 13:49:12 +08:00
小爱桑好厉害哦
Elethom
2016-02-03 13:50:22 +08:00
@zander
嗯。 Core Foundation 的 tokenizer 也不能處理帶音調的日文,會直接展開。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255088

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX