사용자:Aspere/한자 독음 소도구
외관
문서 본문에서 한자의 독음을 한글로 바꿔 표시해주는 소도구입니다.
제가 만든 거 아니고 Claude를 사용해 바이브 코딩 했습니다. 예.
적용법
[편집]특:내사용자문서/common.js에 다음 줄을 추가하세요.
importScript("User:Aspere/hanja-reading.js");
사용법
[편집]문서 상단, 일반적으로 "문서"나 "토론"이 있는 줄에 "한자 독음"이라고 써진 란이 표시됩니다. 클릭하면 독음이 표시됩니다.
- 변환된 문자에는 옅은 밑줄이 쳐집니다. 마우스 커서를 대면 원래 한자가 무엇인지 확인할 수 있습니다.
- "한자 독음" 버튼을 다시 누르면 원래대로 돌아갑니다.
주의점
[편집]- 캐시를 받아오는 시스템으로 되어 있습니다. 처음 누를 때 5초~10초 간 딜레이(렉)가 걸릴 수 있습니다.
- 기본적인 두음법칙 규칙은 적용되어 있으나 모든 경우에 적용되지는 않습니다.
- "단어가 한자로 시작하면" 적용하고, 이 중 "단어 바로 앞에 숫자가 있으면" 적용하지 않습니다. 예를 들어, "年月日"은 "연월일"이 되지만 "1972年"은 "1972년"이 됩니다.
- 단어 중간에 두음법칙을 적용해야 하는 경우, 위 규칙으로 잡아낼 수 없어 적용되지 않습니다. 예를 들어, "臨時政府"는 "임시정부"가 되지만 "大韓民國臨時政府"는 "대한민국림시정부"로 표시됩니다.
- 독음을 여럿 가진 한자의 경우 대표음 하나만이 설정되어 있습니다. 예를 들어, "金九"가 "금구"가 됩니다.
독음 수동 설정법
[편집]추후 추가 예정 (틀 사용)
기술적 설명
[편집]데이터베이스
[편집]이 소도구는 한자 데이터베이스 3개에서 데이터를 받아와 이를 바탕으로 한자를 변환합니다.
- hanja-base.js: 유니코드 Unihan의 독음 데이터 (정체)
- hanja-variants.js: 유니코드 Unihan의 이체자 데이터 (주로 중국어 대륙간체)
- hanja-variants-cjkvi.js: cjkvi-variants 데이터 (기타)
이 셋에 모두 없는 한자를 추가하기 위한 별도의 파일도 존재합니다.
- hanja-overrides.js: 독음이 없는 한자를 추가할 때는 반드시 여기에 해야 합니다. 오류가 생기거나 그런 건 아니고 관리의 편의를 위해.
네 파일에 실린 한자 데이터는 서로 겹치지 않게 설계되어 있습니다. 이론적으로 중복이 없어야 합니다. (중복될 경우, 아마 base→variants→variants-cjkvi→overrides 순으로 읽어 문제는 없겠으나 혹시모름)