foxnail

다국어 지원 · OPEN GRID 1.2.0

2026. 07. 05  ·  OPEN GRID

OPEN GRID 1.2.0 을 공개합니다. 이번 릴리스의 주인공은 다국어(i18n) 지원입니다.
그리드가 화면에 그리는 모든 문자열 — 메뉴 라벨, 페이지네이션, 필터, 그리고 스크린리더가 읽는
접근성 문구까지 — 를 코어에서 분리해 언어 리소스(로케일 카탈로그)로 관리하도록 바꿨습니다.
한국어와 영어를 기본으로 담았고, 원하는 언어를 직접 등록할 수 있습니다.

기존 코드는 그대로 둬도 됩니다. 기본 로케일은 여전히 한국어(ko)이고,
아무 옵션도 주지 않으면 화면은 이전과 한 글자도 다르지 않습니다. 다국어는 필요할 때만 켜는 기능입니다.

이번에 달라진 것

🌐 다국어(i18n) — 언어 리소스 분리

  • 내장 로케일 2종 — 한국어(ko, 기본) · 영어(en).
  • 인스턴스별 언어 선택new OpenGrid(el, { locale: 'en' }).
  • 런타임 전환grid.setLocale('ko') 한 줄로 페이지네이션·메뉴·필터·lang 속성이 즉시 바뀝니다(데이터는 건드리지 않습니다).
  • 커스텀 로케일 등록localeRegistry.register('ja', { … }). 사전 일부만 채워도 되고, 빠진 키는 자동으로 기본 로케일로 폴백합니다.
  • 부분 오버라이드messages 옵션으로 특정 문구만 골라 바꿀 수 있습니다.
  • 접근성 우선 — 눈에 보이는 라벨뿐 아니라 aria-label·라이브리전 안내까지 리소스화했습니다. “화면은 영어, 스크린리더는 한국어” 같은 반쪽 번역을 만들지 않습니다.
import { OpenGrid, localeRegistry } from 'open-grid';

// 1) 인스턴스 언어 지정
const grid = new OpenGrid(el, { columns, locale: 'en' });

// 2) 런타임 전환 (크롬 재라벨 + lang 속성 갱신 + localeChange 이벤트)
grid.setLocale('ko');

// 3) 문구 일부만 교체
new OpenGrid(el, { locale: 'en', messages: { contextMenu: { sortAsc: 'Sort A to Z' } } });

// 4) 커스텀 로케일 등록 (부분 사전 OK — 빠진 키는 폴백)
localeRegistry.register('ja', { pagination: { rowsPerPage: '1ページの行数:' } });
new OpenGrid(el, { locale: 'ja' });

폴백 순서는 인스턴스 오버라이드 → 활성 로케일 → 한국어(기본) → 키 원문 입니다.
숫자·날짜 포맷은 표준 Intl 에 맡기고, 개발자용 오류 메시지는 로그 안정성을 위해 다국어 범위에서 의도적으로 제외했습니다 —
넣을 것과 넣지 않을 것을 분명히 나눴습니다.

📖 개발자 문서 — 공개 API 한·영 병행 주석

  • 공개 API(옵션·메서드·타입)에 한국어 / English 병행 JSDoc 을 달았습니다. 에디터 자동완성 툴팁에서 바로 설명이 보입니다.
  • TypeDoc 기반 API 문서 생성 파이프라인(npm run docs)을 붙였습니다.

직접 보기

  • 🔤 다국어 라이브 데모 — 데모의 “특수 기능 › 다국어” 에서 한국어·English·日本語 버튼으로 그 자리에서 언어를 바꿔볼 수 있습니다: 라이브 데모
  • 📘 다국어 가이드 — 사용법·커스텀 로케일·키 레퍼런스: 개발 가이드

설치

npm install open-grid
# 또는 빌드 없이 CDN
# https://unpkg.com/open-grid@1.2.0/dist/open-grid.js

npmjs.com/package/open-grid
에서 받을 수 있습니다. 코어는 여전히 의존성 0, MIT 라이선스로 상용에도 자유롭게 쓰실 수 있습니다.

OPEN GRID 는 순수 JavaScript 데이터 그리드입니다. React·Vue·Angular·jQuery·Vanilla 어디서든 동작합니다. · MIT License

공유하기