Skip to content

Multi-language support for dbdiagram.io and dbdocs.io

Notifications You must be signed in to change notification settings

holistics/dbx-multi-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@holistics/dbx-multi-lang

Multi-language (i18n) support for DBDiagram.

Structure

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

Adding a New Locale

  1. Create locale folder by cloning English:

    cp -r locales/en locales/ja
  2. Add language metadata in locales/metadata.yaml:

    ja:
      name: Japanese
      nativeName: 日本語
      flag: 🇯🇵
      hello: こんにちは
  3. Translate YAML files in locales/ja/ (keep key structure)

  4. Update src/index.js:

    import jaMessages from '../dist/ja.json' with { type: 'json' };
    
    export const messages = {
      en: enMessages,
      vi: viMessages,
      ja: jaMessages,  // Add this
    };
  5. Build the package:

    yarn build

Key Format

Translation keys follow: section.subsection.key

Example: t('common.buttons.save') or t('ai.tokenUsage.usageText')

Exports

import {
  SUPPORT_LOCALES,    // ['en', 'vi', ...]
  DEFAULT_LOCALE,     // 'en'
  LOCALE_STORAGE_KEY, // 'dbdiagram-locale'
  languageMetadata,   // { en: {...}, vi: {...} }
  messages,           // { en: {...}, vi: {...} }
} from '@holistics/dbx-multi-lang';

Development

yarn build              # Build locales + Vite bundle
yarn build:locales      # Build locales only (JSON merge)

About

Multi-language support for dbdiagram.io and dbdocs.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published