<<< 읽기 전에 >>>
가장 간편한 방법은 iOS 기본 사전인 뉴옥스포드 사전의 사전 본체 파일을 영한사전으로 대치하는 것입니다. 이 방법은 구글링으로 쉽게 찾을 수 있으니 참고하시고요. 저는 뉴옥스포드도 함께 이용하기 때문에, 영한 사전을 추가로 넣는 방법만 설명합니다.
애플에서 왜 iBooks 와 시스템 사전의 설정 방법을 따로 뒀는지는 미스터리입니다. 게다가 이전에도 iBooks 가 버전업하면서 설정법이 한 번 바뀌었기 때문에, 향후 또 바뀔 수도 있습니다.
시스템 사전 수정법은 http://clien.career.co.kr/cs2/bbs/board.php?bo_table=cm_iphonien&wr_id=481096 에 있습니다.
<<< 주의사항 >>>
0. iBooks 가 버전업하면 작업을 다시 해주셔야 합니다. (설정법이 바뀌지 않는다면 파일 카피만으로 금세 됩니다. 맨 밑에 다시 설명해뒀습니다)
1. 탈옥 후 가능합니다.
2. 파일명, 폴더명에서 대소문자 구분이 있으니 편집시 주의를 요합니다.
3. 아래의 방법이 도대체 뭐하는 얘긴지 파악이 가능한 분만 따라하시기 바랍니다.
4. 이 방법을 따라하다가 생기는 문제에 대해서 저는 전혀 책임지지 않습니다. 본인 책임하에 이용하시기 바랍니다.
5. 설명에 미흡한 부분이 있다면 내용 수정은 할 수 있으나, 질문에는 대답하지 않습니다. 전 이 방법으로 됐다는 걸 알려드릴 뿐입니다.
6. 사전 파일은 제공하지 않습니다. 문의도 받지 않습니다.
7. iOS 5.01, 앱생트 탈옥 하에서 이용한 방법입니다. 향후 iOS 및 iBooks가 버전업되면서 안 될 수 있습니다.
8. 본인이 구한 사전을 넣을 경우 용량이 너무 크면 안 됩니다. 프로그래머가 아니라 확실치는 않지만 사전 파일은 시스템 파티션에 들어있는데, 이 파티션의 여유 용량이 그리 크지 않은 걸로 보입니니다. 따라서, 원래 애플이 제공하는 사전파일을 지우고 대치하는 방법도 있습니다만, 저는 새 사전을 넣고 적용하는 방법만 설명합니다. 결국 plist파일을 편집하는 것이 중요하기 때문에 응용도 가능할 겁니다.
<<< 방법 >>>
1. 사전 파일 준비에 대해서는 http://clien.career.co.kr/cs2/bbs/board.php?bo_table=cm_iphonien&wr_id=481096 의 글을 참조. iBooks에만 사용하려면 해당 링크에서 설명하고 있는 딕셔너리랭귀지 항목은 없어도 됩니다만, 해두는 게 여러모로 좋겠지요.
2. 새로 삽입하는 사전의 info.plist 를 열어서
<key>CFBundleIdentifier</key>
<string>com.apple.dictionary.AAAA</string>
항목에서 AAAA 를 기억해둡니다.
3. ifunbox등의 유틸로 /User/Applications/ 를 열어봅니다. 처음에는 숫자와 부호로 된 리스트만 나오는데, ifunbox에서는 이걸 앱 이름으로 바꿔줍니다. iBooks 를 찾아 더블클릭합니다. (각자의 시스템 상황에 따라 구버전 iBooks가 남아서 iBooks가 둘인 경우가 있습니다. 당연히 최신 버전을 찾아 적용하세요!) 그럼 내부가 나오는데, 그 안에 iBooks가 또 있습니다. 다시 더블클릭합니다. 그러면
BKDictionaryManager_LanguageToOrder.plist
라는 파일이 있습니다. 편집해야 하므로 데스크탑으로 카피. plist 에디터로 엽니다.
4. 우리의 목표는 해당 파일을 아래처럼 편집하는 겁니다.
<dict>
<key>en</key>
<array>
<string>com.apple.dictionary.AAAA</string>
<string>com.apple.dictionary.OAWT</string>
<string>com.apple.dictionary.AppleDictionary</string>
</array>
<key>ja</key>
<array>
<string>com.apple.dictionary.Daijisen</string>
<string>com.apple.dictionary.ruig</string>
<string>com.apple.dictionary.PEJ-PJE</string>
</array>
<key>ko</key>
<array>
<string>com.apple.dictionary.AAAA</string>
<string>com.apple.dictionary.NOAD</string>
<string>com.apple.dictionary.OAWT</string>
<string>com.apple.dictionary.AppleDictionary</string>
</array>
</dict>
아시겠죠? 아까 2. 과정에서 기억해뒀던 사전의 Identifier를 언어별 각 키값의 맨 위에 추가하는 겁니다. 저장하고, 폰/패드에 덮어씌웁니다. 만약 이 파일 안에 en은 없고 ko만 있다면 (또는 그 반대라면), 위 예시를 참고해서 추가해주시면 됩니다.
5. BKDictionaryManager_LanguageToOrder.plist 파일이 있던 폴더에 ko.lproj 폴더가 있습니다. 그 안에는 DefaultDictionaries.plist 파일이 있습니다. 사전 폴더의 우선 순위를 지정해주는 키값이 넷 보일 겁니다. 이 중 세 번째것까지를 수정해야 합니다.
1)
<key>DCSDefaultActiveDictionaries</key>
<array>
<string>/Library/Dictionaries/AAAA.dictionary</string>
처럼 폴더 목록의 맨 위에 우리가 넣은 사전의 폴더명을 넣습니다. 이하
2) 두 번째 것도 마찬가지로 맨 윗줄에 추가하고
<key>DCSDefaultActiveDictionariesForiOS</key>
<array>
<string>/Library/Dictionaries/AAAA.dictionary</string>
3) 세 번째는 폴더경로가 하나만 있을 겁니다. 기존 폴더명을 '지우고' 우리 것을 대신 넣습니다.
<key>DCSDefaultDictionaryPath</key>
<string>/Library/Dictionaries/AAAA.dictionary</string>
위처럼 세 번째 키값까지 변경합니다. 정리하면, 1,2번째 키값에는 맨 윗줄에 원하는 폴더경로를 추가하고, 3번째 키값은 하나뿐인 폴더경로를 우리 것으로 '대치'합니다.
4) 주의할 점. 5번 과정을 생략해도 영한사전이 정상적으로 작동할 수 있지만, 유비무환으로 해두는 편을 권합니다. 또한 epub 파일의 언어 인코딩에 따라서 작동이 안 될 수도 있으므로 en.lproj 폴더에도 파일을 덮어씌우는 편이 좋겠습니다.
5) 에또..... 끝났습니다. 폰/패드를 리붓하면 아이북스에서 우리가 추가한 사전이 작동할 겁니다.
<<< 기타 >>>
짐작하시겠지만, 애플에서 아이북스의 사전 세팅법을 바꾸지 않는한, iBooks 앱이 업그레이드 되더라도 BKDictionaryManager_LanguageToOrder.plist
와 DefaultDictionaries.plist 파일을 보관해뒀다가 덮어씌우면 잘 작동합니다.
혼동하지 말아야 할 것 한 가지. 본 글에서는 설명의 편의를 위해 Identifier와 사전폴더명을 AAAA 로 해뒀지만, 이 둘은 엄연히 별개입니다. 사전 파일에 따라 다를 수 있습니다.
링크 거시는 건 무방한데 퍼가지는 말아주세요 ㅎㅎ.
헌데 시스템 사전을 변경해서 사용하는게 사파리 경우에는 '정의' 라고 나오고 영한사전 적용 잘 되는데요. 굿리더 외 펄스 등 다른 앱들은 'define'이라고 나오고 영영사전으로 나옵니다.
글 몇번 정독하고 따라해도 계속. ㅜㅜ
어떤 부분이 문제일까요?
from ClienPad
새해 복많이 받으세요~