“Word of the Day”화면 보호기와 함께 사용하기 위해 OS X에 새 사전을 설치하려면 어떻게해야합니까?


24

그 이유는 간단합니다. 저는 "오늘의 단어"화면 보호기의 팬이며 영어와 일본어 이외의 언어에 대한 사전을 추가하고 싶습니다 (이는 화면 보호기 옵션에서 선택할 수있는 두 가지입니다).

내가 어떻게 해?


1
운? 영어와 일본어 사전 만 선택할 수는 있지만 전혀 그 방법을 찾지 못했습니다.
xji

1
OS X 10.8 이후에 반쯤 자란 프로젝트 / 부활절 달걀이 버린 것 같습니다.
xji

답변:


16

다소 모호한 주석 스레드에서 누군가 화면 보호기를 강화하기 위해 Apple이 사용하는 단어 목록을 어디에서 찾을 수 있는지 설명했습니다. 에 /System/Library/Graphics/Quartz\ Composer\ Plug-Ins/WOTD.plugin/Contents/Resources/NOAD_wotd_list.txt있습니다. 파일은 다음과 같습니다 :

m_en_us1282510  quinsy
m_en_us1273791  orbicular
m_en_us1220945  alimony
m_en_us1250517  genome

탭으로 구분 된 항목의 목록입니다. 오른쪽에는 단어가 있고 왼쪽에는 ID처럼 보입니다. 그러나 ID는 무엇이며 아직 목록에없는 다른 단어에 대해서는 어떻게 찾을 수 있습니까?

예상대로 ID는 Apple의 기본 사전 인 "New Oxford American Dictionary"의 항목을 나타냅니다. 위의 단어 목록 경로에서 "NOAD"가 의미하는 바입니다.

다른 말로 ID를 찾는 방법은 무엇입니까?

일련의 블로그 게시물에서 Joseph Gentle이라는 동료는 Apple 사전의 데이터를 얻는 방법을 보여줍니다. 자신의에서 "애플의 사전, 2 부" 후, 그는 (에 저장된 관련 이진 파일의 압축을 풉니 코드를 가리키는 /Library/DictionariesXML로)을. 사용 dedict.cstrip.c파일을 찾을 여기 젠틀의 예를 다음, 그리고, 나는 다음과 같은 배쉬는 (당신이 다운로드 한 곳이 명령은 디렉토리에서 실행되는 NOAD의 XML 얻을 명령을 사용 dedict.c하고 strip.c파일) :

clang dedict.c -Wall -lz -o dedict
clang strip.c -Wall -lz -o strip
./dedict "New Oxford American Dictionary" | ./strip > dict.xml

나는이 때 head의 처음 몇 줄 -ed dict.xml파일을,이처럼 보였다 항목이 유망 무언가를 보았다 :

<d:entry xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng" id="m_en_us1219333" d:title="abode" class="entry">

그주의 idPARAM을 ... 정확히 화면 보호기 단어 목록에서 하나처럼 보이는 식별자입니다!

XML을 구문 분석하기 위해 다음 Ruby 스크립트를 작성한 다음 내 자신의 단어 목록을 사용하여 내 자신 의 단어를 사전의 ID에 매핑 하는 화면 보호기 파일을 만듭니다 .

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

원래 스크린 세이버 파일을이 새 파일로 교체했을 때 효과가있었습니다. 이제 선택한 단어에 대한 정의를 제공하는 "오늘의 단어"화면 보호기를 사용할 수 있습니다.


9

10.8 인 경우 Dictionary.app의 환경 설정에서 프랑스어, 독일어, 중국어 간체 및 스페인어 사전을 사용할 수 있습니다.

그들은 오늘의 말씀 스크린 세이버에 대한 선택으로 보이지 않는 것 같습니다 :

사전을 활성화 한 후 다시 시작해 보았습니다.


2
예, 스크린 세이버에 정확하게 나타나지 않습니다.
scrrr 2016 년

7
이 게시물이 왜 그렇게 많은지지를 받았는지 전혀 모르겠습니다. 전혀 문제를 해결하지 못했습니다 :(
xji

1

2018 년에도 여전히 이것에 관심이 있고 이것을 만나는 경우 ..

방금 OS X Mojave로 업데이트하고에서 Word of the Day.saver파일을 찾았 습니다 /System/Library/Screen Savers/. 이 패키지에서로 이동 Contents/Resources/WordLists/하면 Mojave WotD에 사용 된 5 개의 .plist 파일 (3 개의 북경어 / 광동어 사전 추가)이 있습니다. 거기에서 위의 jsomers 방법을 사용할 수 있습니다.

또한 Apple이 시스템 무결성 보호 기능을 OS X에 추가 한 지 얼마되지 않아서 .plist 파일에 쓰기 전에 비활성화해야 합니다.

나는 애플이 좋은 오래된 WotD를 포기하지 않고 Mojave에서 조금 업데이트 한 것이 매우 기쁩니다. 앞으로 더 많은 사전을 선택할 수 있기를 바랍니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.