Multi-language (i18n) support for DBDiagram.
dbx-multi-lang/
├── locales/
│ ├── en/ # English translations
│ ├── vi/ # Vietnamese translations
│ └── metadata.yaml # Language metadata
├── scripts/
│ └── build-locales.cjs # Merge YAML to JSON
├── dist/ # Built output
└── src/
└── index.js # Exports
-
Create locale folder by cloning English:
cp -r locales/en locales/ja
-
Add language metadata in
locales/metadata.yaml:ja: name: Japanese nativeName: 日本語 flag: 🇯🇵 hello: こんにちは
-
Translate YAML files in
locales/ja/(keep key structure) -
Update
src/index.js:import jaMessages from '../dist/ja.json' with { type: 'json' }; export const messages = { en: enMessages, vi: viMessages, ja: jaMessages, // Add this };
-
Build the package:
yarn build
Translation keys follow: section.subsection.key
Example: t('common.buttons.save') or t('ai.tokenUsage.usageText')
import {
SUPPORT_LOCALES, // ['en', 'vi', ...]
DEFAULT_LOCALE, // 'en'
LOCALE_STORAGE_KEY, // 'dbdiagram-locale'
languageMetadata, // { en: {...}, vi: {...} }
messages, // { en: {...}, vi: {...} }
} from '@holistics/dbx-multi-lang';yarn build # Build locales + Vite bundle
yarn build:locales # Build locales only (JSON merge)