近日有道詞典停止了iPad HD版本的維護,只能使用放大版的手機版,本人對此非常不滿,于是又在群友的推薦下檩淋,選擇了歐路詞典
但是最大的問題是如何轉(zhuǎn)移單詞本牵咙,畢竟是競爭產(chǎn)品派近,直接轉(zhuǎn)移是不可能的,只能通過“導(dǎo)出”“導(dǎo)入”的方式轉(zhuǎn)移洁桌,但是操作起來又不是很簡單渴丸,這里就記一下具體的過程
首先要用電腦版的有道詞典導(dǎo)出單詞本,本人主要使用 macOS 另凌,但是 macOS 版的有道詞典沒有導(dǎo)出功能谱轨,所以我選擇使用 Windows 版本(作為備用系統(tǒng)追求穩(wěn)定使用的是老舊的 Windows 7,請勿介意)的有道詞典吠谢。
-
在這個位置土童,就可以找到導(dǎo)出選項
有道詞典 由于歐路詞典僅支持導(dǎo)入xml格式的文件,并且名字必須是StudyList工坊,所以我們這里選擇xml格式献汗,名字改為StudyList
-
為了對比文件內(nèi)容,還需要導(dǎo)出歐路詞典的單詞本(如果是第一次用請先查一個單詞并加入單詞本中)王污。導(dǎo)入方法就是在app中點 工具-軟件設(shè)置-頭像-導(dǎo)入導(dǎo)出生詞本-導(dǎo)出生詞本罢吃,iOS的話就可以在 iTunes 中獲取這個文件
iTunes 之后我使用 Visual Studio Code 打開該文件,這里使用什么編輯器無所謂昭齐,只要后面的替換你能查到你所有的編輯器的正則表達式就可以刃麸。如果是新手那就下一個 Visual Studio Code 好了
-
打開兩個xml文件,接下來進行對比司浪。對比后發(fā)現(xiàn),歐路詞典的文件中把沼,單詞保存在CustomizeListItem 這個標簽中啊易,并且不像有道,保存了注釋饮睬、音標等內(nèi)容租谈。不過歐路詞典中還包括保存時間等變量,經(jīng)過測試捆愁,即使后面所有變量都一樣也不影響導(dǎo)入割去,比如所有單詞后面都是itemType="-9999" addTimeP="20180730T013426" rating="1" categoryTag="@0" fakeRecordId="-1" fakeLibId="0" searchCount="0" deleted="0" serverTimestamp="20180730T015428" localTimestamp="19700101T000000" str1="" meta="",是沒問題的昼丑。
對比文件 那么思路有了呻逆,對于有道詞典導(dǎo)出的文件,除了第一項菩帝,只要把“<_item><item> <word>”替換成“<CustomizeListItem word="”咖城;再將“<_word>
<trans><![CDATA[adj. 產(chǎn)前的茬腿;胎兒期的; 出生以前的]]></trans>
<phonetic><![CDATA[[pri?'ne?t(?)l]]]></phonetic>
<tags></tags>
<progress>-1</progress>”替換為“" itemType="-9999" addTimeP="20180730T013426" rating="1" categoryTag="@0" fakeRecordId="-1" fakeLibId="0" searchCount="0" deleted="0" serverTimestamp="20180730T015428" localTimestamp="19700101T000000" str1="" meta="" />”即可宜雀,其中的注釋雖然不盡相同切平,但是可以用正則表達式替換。我們可以輕松的使用替換功能(Ctrl+F)將</item><item> <word>替換成<CustomizeListItem word="辐董。
對于后面悴品,在 https://msdn.microsoft.com/zh-cn/library/2k3te2cs.aspx 查閱正則表達式的用法后,準備用<_word>.*<_progress>替換成" itemType="-9999" addTimeP="20180730T013426" rating="1" categoryTag="@0" fakeRecordId="-1" fakeLibId="0" searchCount="0" deleted="0" serverTimestamp="20180730T015428" localTimestamp="19700101T000000" str1="" meta="" />简烘,發(fā)現(xiàn)該方法對于原文有多行則無法查找到苔严。之后我試了很多方法,包括替換換行等夸研,都無效邦蜜。于是我使用了一種傳統(tǒng)方法,使用Word替換亥至。
-
將所有內(nèi)容復(fù)制到Word中悼沈,打開“查找和替換”,將<_word>*<_progress>(注意這里的尖括號一定要加轉(zhuǎn)義字符)姐扮,替換為abcd絮供,這里你不能替換為上述的那一長串,因為會出現(xiàn)如下提示:
錯誤
替換結(jié)果如圖:
替換結(jié)果 -
之后再把這些復(fù)制回 Visual Studio Code 覆蓋茶敏,把 abcd 替換為 " itemType="-9999" addTimeP="20180730T013426" rating="1" categoryTag="@0" fakeRecordId="-1" fakeLibId="0" searchCount="0" deleted="0" serverTimestamp="20180730T015428" localTimestamp="19700101T000000" str1="" meta="" />壤靶,替換結(jié)果如圖
替換結(jié)果 -
修改一下第一項的格式,刪除結(jié)尾的<_item><_wordbook>惊搏,然后復(fù)制到歐路詞典導(dǎo)出文件的<StudyLists>里面即可贮乳。最終結(jié)果如圖
最終結(jié)果 之后將文件放回手機/平板里,iOS 的話就在剛才 iTunes 界面直接拖回去就行了恬惯。
進入軟件向拆,進行導(dǎo)入,即可看到導(dǎo)入成功酪耳。單詞也都一個不少浓恳。
本文同步發(fā)布于:
博客:https://www.flinty.moe/youdaodic-migrate/
Medium:https://medium.com/@muchenran2/將有道詞典的單詞本導(dǎo)入到歐路詞典中-82580138ea42