Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 한국어를 로마자로 변환해주는 함수와 한국어를 표준 발음법으로 변환해주는 함수를 만들고 문서화를 진행합니다 #115

Merged
merged 87 commits into from
Aug 4, 2024

Conversation

po4tion
Copy link
Collaborator

@po4tion po4tion commented Jun 4, 2024

close #33

Overview

한글을 로마자로 변경하기 위해서는 다음과 같은 프로세스가 필요합니다.

  1. 입력받은 한글을 표준 발음법으로 변경합니다.
  2. 표준 발음법으로 변경된 한글을 로마자로 변경합니다. 단, 로마자 표기법은 된소리되기를 반영하지 않으므로 경음화가 적용되지 않은 표준 발음법을 기준으로 적용합니다.

한국어 어문 규범의 표준 발음법을 지키며 한글을 표준 발음법으로 변환하는 standardizePronunciation 함수를 만들고 문서화를 진행하였습니다. standardPronunciation 함수는 표준어 규정(문화체육관광부 고시 제2017-13호)의 제2부 표준발음법의 4장(받침의 발음), 5장(음의 동화), 6장(경음화)를 기반으로 기능을 구현하였습니다.

standardPronunciation 함수로 반환받은 표준 발음법(단, 경음화 제거)을 로마자로 변경합니다. 한국어 어문 규범의 '국어의 로마자 표기법'을 참고하여 romanize 함수를 만들고 문서화를 진행하였습니다.

테스트 커버리지
image

참고하실 수 있는 자료

  1. https://korean.go.kr/kornorms/main/main.do
  2. https://www.hankookilbo.com/News/Read/201611221071387854
  3. https://www.korean.go.kr/front/page/pageView.do?page_id=P000149&mn_id=99
  4. https://www.youtube.com/watch?v=gKRKVVLaDsM
  5. https://www.youtube.com/watch?v=UVStu0RVlCE
  6. https://www.youtube.com/watch?v=Mm2JX2naqWk
  7. http://contents2.kocw.or.kr/KOCW/data/document/2020/seowon/choiyungon0805/12.pdf
  8. https://www.youtube.com/watch?v=mubHE707Eo4

PR Checklist

  • I read and included theses actions below
  1. I have read the Contributing Guide
  2. I have written documents and tests, if needed.

po4tion added 30 commits June 2, 2024 22:48
@@ -0,0 +1,81 @@
import { romanize } from './romanize';

describe('romanize', () => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트 케이스 it으로 나눠주신것 감탄했습니다..!! 너무 좋네요 👍

src/utils.ts Outdated
Comment on lines 201 to 211
export function isNotUndefined<T>(value: T | undefined): value is T {
return value !== undefined;
}

export function defined<T>(value: T | undefined): T {
assert(value !== undefined);

return value as T;
}

export function arrayIncludes<Type>(array: Type[] | readonly Type[], item: unknown, fromIndex?: number): item is Type {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요 함수들, 혹시 _internal/index.ts 에 구현해주실 수 있나요?
utils.ts파일은 점진적으로 제거해나가고자 합니다!

#158

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@okinawaa
Copy link
Member

conflic도 해결 부탁드립니당! 🙏

@po4tion
Copy link
Collaborator Author

po4tion commented Jul 27, 2024

@okinawaa conflict 해결하였습니다.

@po4tion
Copy link
Collaborator Author

po4tion commented Aug 4, 2024

@okinawaa conflict 해결하였습니다.

Copy link
Member

@okinawaa okinawaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

너무 값진 작업 감사합니다 🙇

@okinawaa okinawaa merged commit 84584d4 into toss:main Aug 4, 2024
8 of 10 checks passed
@github-actions github-actions bot mentioned this pull request Aug 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: 한국어를 입력하면 로마자로 변환해주는 함수
4 participants