Language Bridge

sync

Pull translations and generate types in one step (default command).

Pulls the source locale and generates the typed .d.ts in one step. This is the default commandlb with no command runs sync.

lb sync --project my-app
lb sync --project my-app --out src/@types/resources.d.ts

Options

FlagDefaultNotes
-o, --out <path>src/@types/resources.d.tsOutput .d.ts path.
--no-paramsKeys only; skip TranslationParams.
--keep-jsonoffAlso write the raw JSON to --json-dir.

Plus the common options. Equivalent to pull + generate.

Example output

For a common namespace with welcome: "Welcome" and greeting: "Hi {{name}}", sync writes:

src/@types/resources.d.ts
// Generated by @language-bridge/cli — do not edit.
// Source locale: en. Re-run `lb sync` to update.
/* eslint-disable */

export interface Resources {
  "common": {
    "greeting": string;
    "welcome": string;
  };
}

export type TranslationParams = {
  "common:greeting": { "name": string | number };
  "common:welcome": {};
};

declare module "i18next" {
  interface CustomTypeOptions {
    defaultNS: "common";
    resources: Resources;
  }
}

Resources types the keys, TranslationParams types interpolation params (empty {} = no params). --no-params skips the TranslationParams block. Now wire it into i18next — see Typed i18next.

On this page