Skip to content

Internationalization (i18n) Demo

SciChart Engine supports multiple locales for number formatting, date/time display, and UI labels. Select a language to see how formatting changes across all elements.

Number Formatting

Large Number:1,234,567.89
Scientific:1.23E-6
Percentage:75.3%

Date/Time Formatting

Date:Jan 23, 2026
Time:12:39:29 PM
Full:1/23/26, 12:39 PM

Axis Labels

0250,000500,000750,0001,000,000
// Set locale for number/date formatting
import { setGlobalLocale } from 'scichart-engine';
setGlobalLocale('en-US');

// Formats:
// 1234567.89 → "1,234,567.89"
// 0.00000123 → "1.23E-6"

Supported Locales

LocaleLanguageNumberDate
en-USEnglish (US)1,234.56MM/DD/YYYY
es-ESEspañol1.234,56DD/MM/YYYY
de-DEDeutsch1.234,56DD.MM.YYYY
fr-FRFrançais1 234,56DD/MM/YYYY
pt-BRPortuguês1.234,56DD/MM/YYYY
zh-CN中文1,234.56YYYY/MM/DD
ja-JP日本語1,234.56YYYY/MM/DD

Usage

Global Locale

typescript
import { setGlobalLocale, getGlobalLocale } from 'scichart-engine';

// Set for all charts
setGlobalLocale('de-DE');

// Check current
console.log(getGlobalLocale()); // 'de-DE'

Per-Chart Locale

typescript
const chart = createChart({
  container,
  locale: 'es-ES',  // Spanish formatting for this chart
});

Custom Formatter

typescript
import { createLocaleFormatter } from 'scichart-engine';

const formatter = createLocaleFormatter('de-DE');

// Numbers
formatter.formatNumber(1234.56);      // "1.234,56"
formatter.formatNumber(1234.56, 4);   // "1.234,5600"

// Scientific notation
formatter.formatScientific(0.00000123); // "1,23e-6"

// SI prefixes
formatter.formatWithPrefix(1500000, 'Hz'); // "1,5 MHz"

// Dates
formatter.formatDate(new Date());     // "08.01.2026"
formatter.formatTime(new Date());     // "21:45:30"
formatter.formatDateTime(new Date()); // "08.01.2026 21:45:30"

// UI Labels
formatter.getLabel('zoom');           // "Vergrößern"
formatter.getLabel('loading');        // "Wird geladen..."

Registering Custom Locales

typescript
import { registerLocale } from 'scichart-engine';

registerLocale({
  code: 'es-AR',
  name: 'Español (Argentina)',
  decimalSeparator: ',',
  thousandsSeparator: '.',
  dateFormat: 'DD/MM/YYYY',
  timeFormat: 'HH:mm',
  labels: {
    zoom: 'Ampliar',
    pan: 'Mover',
    reset: 'Reiniciar',
    export: 'Exportar',
    loading: 'Cargando...',
    noData: 'Sin datos',
  },
});

setGlobalLocale('es-AR');

Axis Formatting

Locale-aware axis labels:

typescript
const chart = createChart({
  container,
  locale: 'de-DE',
  xAxis: {
    type: 'numeric',
    // Large numbers formatted as "1.234.567"
  },
  yAxis: {
    type: 'numeric',
    // Scientific notation uses locale separator
  },
});

See Utilities Guide for complete documentation.

Released under the MIT License.