Skip to content

Latest commit

 

History

History
126 lines (90 loc) · 4.25 KB

README.md

File metadata and controls

126 lines (90 loc) · 4.25 KB

KoreanFormatter

travis GitHub license nuget

C#용 SmartFormat.NET에서 사용할 수 있는 한국어 조사 포매터입니다. python용 구현체는 smartformat-korean을 사용해주세요.

설치

Nuget 관리자 콘솔을 이용해서 설치:

PM> Install-Package SmartFormat.NET-Korean

혹은 Nuget 페이지에서 다운로드

사용법

namespace SmartFormatKoreanDemo
{
	class Program
	{
		static void Main(string[] args)
		{
			Smart.Default.AddExtensions(new KoreanFormatter(Smart.Default));

			Console.WriteLine(Smart.Format("{0:은} {1:을} 먹었다.", "나오", "부엉이"));
			Console.WriteLine(Smart.Format("{0:이} 갖고 싶어요.", "나오 피규어"));
			Console.WriteLine(Smart.Format("{0:이} {1:을} 춘다.", "티라노", "콩댄스"));
			Console.WriteLine(Smart.Format("{0:의} {1:이에요}", "넥슨 왓! 스튜디오", "듀랑고"));
			Console.ReadKey();
		}
	}
}

demo-image

자연스러운 조사 선택

, , , 보다, 부터, 까지, 마저, 조차, 에~, 께~, 하~에는 어떤 단어가 앞서도 형태가 변하지 않습니다:

나오, 모리안, 키홀, 나오, 모리안, 키홀

반면 은(는), 이(가), 을(를), 과(와)는 앞선 단어의 마지막 음절의 받침 유무에 따라 형태가 달라집니다:

나오, 모리안, 키홀

(으)로~도 비슷한 규칙을 따르지만 앞선 받침이 일 경우엔 받침이 없는 것과 같게 취급합니다:

나오, 모리안으로, 키홀

서술격 조사 (이)다는 어미가 활용되어 다양한 형태로 변형될 수 있습니다:

나오지만, 모리안이지만, 키홀이에요, 나오예요

SmartFormat 한국어 확장은 자동으로 가장 자연스러운 조사 형태를 선택합니다. 만약 어떤 형태가 자연스러운지 알 수 없을 때에는 은(는), (으)로처럼 모든 형태를 병기합니다.

// "대한민국은 민주공화국이다."
Smart.Format("{0:는} {1:다}.", "대한민국", "민주공화국");

// "나오는 검은사신으로 불린다.
Smart.Format("{0:은} {1:로} 불린다.", "나오", "검은사신");

단어가 숫자로 끝나더라도 자연스러운 조사 형태가 선택됩니다:

// "레벨 10이"
Smart.Format("레벨 {0:이}", 10);
// "레벨 999가"
Smart.Format("레벨 {0:이}", 999);

괄호 속 단어나 구두점은 조사 형태를 선택할 때 참고하지 않습니다:

// "모리안,,,이?"
Smart.Format("{0:가}?", "모리안,,,");
// "<듀랑고>를 샀다."
Smart.Format("{0:을} 샀다.", "<듀랑고>");

조사 분리

문자열에 꾸밈 태그 등을 사용하는 경우에는 조사만 분리해서 표기할 수 있습니다:

// "<i>돌날</i>로"
Smart.Format("<i>{0}</i>{0:-으로}", "돌날");
// "으로"
Smart.Format("{0:-으로}", "마법");

만든이와 사용권

넥슨 왓 스튜디오김찬웅이흥섭이 만들었고 제3조항을 포함하는 BSD 허가서를 채택했습니다.