FreeGridv0.7.0한국어

7 languages

Switch the grid UI between English, Korean, Chinese, Japanese, Spanish, French and German.

Code for this demo

import { createGrid, type LocalePack } from '@freegridjs/core';
import de from '@freegridjs/core/locales/de';
import en from '@freegridjs/core/locales/en';
import es from '@freegridjs/core/locales/es';
import fr from '@freegridjs/core/locales/fr';
import ja from '@freegridjs/core/locales/ja';
import ko from '@freegridjs/core/locales/ko';
import zhCN from '@freegridjs/core/locales/zh-CN';
import { demoColumns, makeRows } from '../data';
import { select, text, tr, type DemoContext } from '../ui';

const PACKS: Record<string, LocalePack> = { en, ko, 'zh-CN': zhCN, ja, es, fr, de };

export default function mount(ctx: DemoContext) {
  const { lang } = ctx;
  const grid = createGrid(ctx.host, {
    columns: demoColumns(lang),
    data: [], // empty on purpose: the "no rows" message is translated too
    rowSelection: 'multiple',
    locale: PACKS[lang],
    sideBar: true,
  });

  select(ctx, tr(lang, { en: 'Grid language', ko: '그리드 언어' }), [
    ['en', 'English'], ['ko', '한국어'], ['zh-CN', '简体中文'], ['ja', '日本語'], ['es', 'Español'], ['fr', 'Français'], ['de', 'Deutsch'],
  ], lang, code => {
    grid.setLocale(PACKS[code]);
    ctx.log(`setLocale('${code}') → ${PACKS[code].noRows}`);
  });
  select(ctx, tr(lang, { en: 'Rows', ko: '데이터' }), [['0', tr(lang, { en: 'Empty', ko: '비어 있음' })], ['1000', '1,000']], '0',
    v => grid.setData(v === '0' ? [] : makeRows(1000)));
  text(ctx, tr(lang, { en: 'Open a column menu (⋮) or the Columns panel to see the translations.', ko: '컬럼 메뉴(⋮)나 컬럼 패널을 열어 번역을 확인하세요.' }));
  return grid;
}