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();
}
}
}μ, λ, λ§, 보λ€, λΆν°, κΉμ§, λ§μ , μ‘°μ°¨, μ~,
κ»~, ν~μλ μ΄λ€ λ¨μ΄κ° μμλ ννκ° λ³νμ§ μμ΅λλ€:
λμ€μ, λͺ¨λ¦¬μμ, ν€νμ, λμ€λ, λͺ¨λ¦¬μλ, ν€νλ
λ°λ©΄ μ(λ), μ΄(κ°), μ(λ₯Ό), κ³Ό(μ)λ μμ λ¨μ΄μ λ§μ§λ§ μμ μ λ°μΉ¨
μ 무μ λ°λΌ ννκ° λ¬λΌμ§λλ€:
λμ€λ, λͺ¨λ¦¬μμ, ν€νμ
(μΌ)λ‘~λ λΉμ·ν κ·μΉμ λ°λ₯΄μ§λ§ μμ λ°μΉ¨μ΄ γΉμΌ κ²½μ°μ λ°μΉ¨μ΄ μλ κ²κ³Ό
κ°κ² μ·¨κΈν©λλ€:
λμ€λ‘, λͺ¨λ¦¬μμΌλ‘, ν€νλ‘
μμ 격 μ‘°μ¬ (μ΄)λ€λ μ΄λ―Έκ° νμ©λμ΄ λ€μν ννλ‘ λ³νλ μ μμ΅λλ€:
λμ€μ§λ§, λͺ¨λ¦¬μμ΄μ§λ§, ν€νμ΄μμ, λμ€μμ
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 νκ°μλ₯Ό μ±ννμ΅λλ€.
