Tài liệu

useLocale

useLocale() trả về { locale, t }. locale là locale thực sự load cho surface. t(key, values) đọc message file đã khai báo và interpolate named values; key app bị thiếu fallback sang shell translator.

TSX
import { useLocale } from '@sota/platform';

export function Greeting({ name }: { name: string }) {
  const { locale, t } = useLocale();
  return <p lang={locale}>{t('greeting', { name })}</p>;
}
YAML
locales:
  default: en
  files:
    en: src/locales/en.json
    vi: src/locales/vi.json

src/locales/en.json

JSON
{ "greeting": "Hello, {{name}}" }

src/locales/vi.json

JSON
{ "greeting": "Xin chào, {{name}}" }

Locale được chọn fallback theo contract locale của app; key thiếu trong app tiếp tục được đưa cho shell translator. Nếu label thiết yếu bị thiếu ở cả hai nơi, component vẫn nên có fallback hợp lý. Không nhét business data vào translation và luôn có accessible fallback text.

Mục lục

Esc

Tìm theo tiêu đề và nội dung trong mọi chương.