둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
모듈:@ko/Hangul 문서 원본 보기
이름공간
모듈
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
모듈:@ko/Hangul
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
--[[ This module was originally on https://ko.wikipedia.org/wiki/Module:Hangul and forked by Legunto (https://github.com/femiwiki/legunto). ]] --[[ 한글 처리 관련 함수 모듈 josa: 자동 조사 처리 함수 this function is inspired by hanp extension: bugzilla:13712 korean library: http://pythonhosted.org/korean/ --]] local func = {} local ustring = mw.ustring local handata = mw.loadData('Module:@ko/Hangul/data') -- load to local variables local final_map = handata.final_map local final_vowel = handata.final_vowel local final_consonant = handata.final_consonant local final_rieul = handata.final_rieul local final_unknown = handata.final_unknown local finalform_basic = handata.finalform_basic local finalform_vowel = handata.finalform_vowel local finalform_consonant = handata.finalform_consonant local finalform_rieul = handata.finalform_rieul -- Helper Functions --[[ Helper Function to interpret boolean strings. From Module:String --]] local function getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' or boolean_str == '아니오' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end local function finalclass(str) local lastchar = ustring.match(str, '.*([%w])') if lastchar == nil then return final_unknown end if lastchar >= '가' and lastchar <= '힣' then local codepoint = ustring.codepoint(lastchar) local final = (codepoint - 0xAC00) % 0x1C if final == 0 then return final_vowel elseif final == 8 then return final_rieul else return final_consonant end end return final_map[lastchar] or final_unknown end --[[ 사용법: {{#invoke:Hangul|josa|str= |josa = | defaultjosa = | override = | josaonly= }} str = 체언 josa = 조사 defaultjosa = 체언의 마지막 받침을 알 수 없는 경우에 defaultjosa 값을 쓴다. override = True/False : True이면 체언의 어미에 상관없이 defaultjosa (없다면 josa) 값을 쓴다. josaonly = True/False: True이면 체언 부분은 생략한다. (복잡한 틀 설계용) ]] function func.josa(frame) local input_string = frame.args.str or frame.args[1] or '' local input_josa = frame.args.josa or frame.args[2] or '' local input_defaultjosa = frame.args.defaultjosa local override = getBoolean(frame.args.override or false) local josaonly = getBoolean(frame.args.josaonly or false) return func._josa(input_string, input_josa, input_defaultjosa, override, josaonly) end function func._josa(input_string, input_josa, input_defaultjosa, override, josaonly) local output_josa if override then output_josa = input_defaultjosa or input_josa else local char_class = finalclass(input_string) if char_class == final_vowel then output_josa = finalform_vowel[input_josa] or input_josa elseif char_class == final_consonant then output_josa = finalform_consonant[input_josa] or input_josa elseif char_class == final_rieul then output_josa = finalform_rieul[input_josa] or input_josa else -- final_unknown output_josa = input_defaultjosa or finalform_basic[input_josa] or input_josa end -- mw.log (input_string .. '[' .. char_class .. ']' .. output_josa) end if josaonly then return output_josa else return input_string .. output_josa end end return func
이 문서에서 사용한 틀:
모듈:@ko/Hangul/설명문서
(
원본 보기
)
모듈:@ko/Hangul
문서로 돌아갑니다.
다른 언어