Alasannya sepele: Saya penggemar screen saver "Word of the Day" dan saya ingin menambahkan kamus untuk bahasa selain bahasa Inggris dan Jepang (ini adalah dua yang dapat saya pilih sekarang dalam opsi screen saver).
Bagaimana saya bisa melakukannya?
Alasannya sepele: Saya penggemar screen saver "Word of the Day" dan saya ingin menambahkan kamus untuk bahasa selain bahasa Inggris dan Jepang (ini adalah dua yang dapat saya pilih sekarang dalam opsi screen saver).
Bagaimana saya bisa melakukannya?
Jawaban:
Pada utas komentar yang agak tidak jelas, seseorang menjelaskan di mana Anda mungkin menemukan daftar kata yang digunakan Apple untuk menyalakan screensaver. Itu di /System/Library/Graphics/Quartz\ Composer\ Plug-Ins/WOTD.plugin/Contents/Resources/NOAD_wotd_list.txt. File terlihat seperti ini:
m_en_us1282510 quinsy
m_en_us1273791 orbicular
m_en_us1220945 alimony
m_en_us1250517 genome
Ini adalah daftar entri yang dipisahkan oleh tab. Di sebelah kanan Anda memiliki kata, dan di sebelah kiri, apa yang tampak seperti ID. Tapi untuk apa ID itu, dan bagaimana Anda bisa menemukannya untuk kata lain yang belum ada dalam daftar?
Seperti yang Anda duga, ID merujuk pada entri dalam kamus default Apple, "New Oxford American Dictionary". (Itulah yang dimaksud "NOAD" dalam jalur daftar kata di atas.)
Bagaimana menemukan ID untuk kata lain ?
Seorang pria bernama Joseph Gentle, dalam serangkaian posting blog, menunjukkan cara mendapatkan data yang mendasari kamus Apple. Dalam tulisannya "Kamus Apple, bagian 2" , dia menunjuk ke kode yang membongkar file biner yang relevan (disimpan di /Library/Dictionaries) ke dalam XML. Menggunakan dedict.cdan strip.cfile yang ditemukan di sini , dan mengikuti contoh Gentle, saya menggunakan perintah bash berikut untuk mendapatkan XML milik NOAD (perintah ini dijalankan dari direktori tempat Anda mengunduh dedict.cdan strip.cfile):
clang dedict.c -Wall -lz -o dedict
clang strip.c -Wall -lz -o strip
./dedict "New Oxford American Dictionary" | ./strip > dict.xml
Ketika saya headmembuka beberapa baris pertama dict.xmlfile, saya melihat sesuatu yang menjanjikan, dengan entri yang terlihat seperti ini:
<d:entry xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng" id="m_en_us1219333" d:title="abode" class="entry">
Perhatikan bahwa idparam ... ini adalah pengidentifikasi yang persis sama dengan yang ada di daftar kata screensaver!
Saya menulis skrip Ruby berikut untuk mem-parsing XML, dan kemudian, menggunakan daftar kata saya sendiri, membuat file screensaver baru yang memetakan kata-kata saya sendiri ke ID mereka di kamus:
raw = File.open("./dict.xml").read
my_words = File.open("./word_list.csv").readlines.map { |line| line.split(',')[1] }
word_id_map = {}
raw.scan(/<d:entry .*? id="(.*?)" d:title="(.*?)" class="entry">/).each do |entry|
word_id_map[entry[1]] = entry[0]
end
my_words.each do |word|
if id = word_id_map[word]
puts [id, word].join(' ')
end
end
Ketika saya mengganti file screensaver asli dengan yang baru ini, itu berhasil. Sekarang Anda dapat memiliki screensaver "Word of the Day" yang memberikan definisi untuk kata-kata yang Anda pilih.
Jika Anda memiliki 10.8, Anda dapat mengaktifkan kamus Prancis, Jerman, Cina Sederhana, dan Spanyol dari preferensi Dictionary.app:

Mereka tampaknya tidak ditampilkan sebagai pilihan untuk screensaver Word of the Day:

Saya juga mencoba memulai kembali setelah mengaktifkan kamus.
Jika ada yang masih tertarik dengan hal ini pada tahun 2018 dan menemukan ini ..
Saya baru saja memperbarui ke OS X Mojave, dan menemukan Word of the Day.saverfile di /System/Library/Screen Savers/. Dalam paket ini, buka Contents/Resources/WordLists/, dan Anda dapat menemukan 5 file .plist yang digunakan di Mojave WotD (mereka menambahkan tiga kamus Mandarin / Kanton Cina). Di sana Anda dapat menggunakan metode jsomers di atas.
Juga sudah lama sejak Apple menambahkan Perlindungan Integritas Sistem ke OS X, jadi Anda harus menonaktifkannya sebelum menulis ke file .plist.
Saya cukup senang bahwa Apple tidak menyerah pada WotD tua yang baik, dan memperbaruinya sedikit di Mojave. Semoga mereka dapat menyediakan lebih banyak pilihan kamus di masa mendatang.
Ini seharusnya bisa menyelesaikan masalah Anda: http://www.makeuseof.com/tag/easily-expanding-apple-dictionary-–-mac-only/