Skip to content
패키지 목록

i18n 포맷터 패키지

통화, 날짜, 숫자를 현재 언어에 맞게 자동 포맷팅하는 i18n 포맷터 모음. Intl API 기반으로 서버/클라이언트 모두 지원합니다.

Currency
Date
Number
Intl API

@hua-labs/i18n-currency

v1.0.0

현재 언어 설정에 맞는 통화 형식으로 금액을 포맷팅합니다. useCurrencyFormatter 훅과 formatCurrency 함수를 제공합니다.

$npm install @hua-labs/i18n-currency

제공 API

useCurrencyFormatter
hook
formatCurrency
function
getDefaultCurrency
function
getCurrencyDecimals
function

사용 예시

tsx
import { useCurrencyFormatter } from '@hua-labs/i18n-currency';

function PriceDisplay({ amount }: { amount: number }) {
  const { format } = useCurrencyFormatter();

  return <span>{format(amount)}</span>;
  // ko: ₩10,000
  // en: $10,000.00
}

@hua-labs/i18n-date

v1.0.0

현재 언어 설정에 맞는 날짜 형식으로 날짜를 포맷팅합니다. 상대 시간(3일 전 등) 표시도 지원합니다.

$npm install @hua-labs/i18n-date

제공 API

useDateFormatter
hook
formatDate
function
formatDateTime
function
formatRelativeTime
function
getKoreanDate
function
convertToTimezone
function

사용 예시

tsx
import { useDateFormatter } from '@hua-labs/i18n-date';

function DateDisplay({ date }: { date: Date }) {
  const { format, formatRelative } = useDateFormatter();

  return (
    <div>
      <span>{format(date)}</span>
      {/* ko: 2026년 1월 12일 */}
      {/* en: January 12, 2026 */}

      <span>{formatRelative(date)}</span>
      {/* ko: 3일 전 */}
      {/* en: 3 days ago */}
    </div>
  );
}

@hua-labs/i18n-number

v1.0.0

현재 언어 설정에 맞는 숫자 형식으로 숫자를 포맷팅합니다. 컴팩트 형식(123만, 1.2M)과 퍼센트 표시도 지원합니다.

$npm install @hua-labs/i18n-number

제공 API

useNumberFormatter
hook
formatNumber
function
formatCompact
function
formatPercent
function

사용 예시

tsx
import { useNumberFormatter } from '@hua-labs/i18n-number';

function StatsDisplay({ value }: { value: number }) {
  const { format, formatCompact, formatPercent } = useNumberFormatter();

  return (
    <div>
      <span>{format(1234567)}</span>
      {/* ko: 1,234,567 */}

      <span>{formatCompact(1234567)}</span>
      {/* ko: 123만 */}
      {/* en: 1.2M */}

      <span>{formatPercent(0.1234)}</span>
      {/* 12.34% */}
    </div>
  );
}

공통 특징

Intl API 기반

Web 표준 Intl API를 사용하여 외부 라이브러리 없이 정확한 다국어 포맷팅을 제공합니다.

i18n-core 통합

i18n-core의 현재 언어 설정을 자동으로 감지하여 별도 설정 없이 포맷팅 언어를 동기화합니다.

타입 안전

TypeScript 기반의 완전한 타입 안전성을 보장합니다. 잘못된 포맷 옵션은 컴파일 타임에 감지됩니다.

서버/클라이언트

서버 컴포넌트와 클라이언트 컴포넌트 모두에서 사용 가능합니다. SSR 환경에서도 정확한 포맷팅을 보장합니다.