/** * Localized labels for the native default application menu (the macOS * App/Edit/Window bar built in crates/native/src/menu.rs). * * muda hardcodes English labels for its predefined items and doesn't use * macOS's own localized strings, so the menu is always English regardless of * the system language. murasaki resolves these labels for the user's language * and hands them to the native side, which applies them when building the menu. * * The default menu is macOS-only (build_default_app_menu is `#[cfg(macos)]`), * so these labels only take effect there. */ export interface MenuLabels { about: string; services: string; hide: string; hideOthers: string; showAll: string; quit: string; edit: string; undo: string; redo: string; cut: string; copy: string; paste: string; selectAll: string; window: string; minimize: string; zoom: string; } /** Languages murasaki ships default-menu translations for (BCP-47). Kept in sync with menu-locales.json's keys. */ export declare const DEFAULT_LOCALES: string[]; /** * Best-effort system UI language, normalized to a shipped locale key. The * default menu is macOS-only, and there Node's `Intl`/`LANG` reflect the POSIX * region, not the UI language a user set in System Settings (a Japanese Mac * still reports en-US to Node) — so read AppleLanguages first. Falls back to * the JS runtime locale, then the POSIX env vars, then English. */ export declare function detectLocale(): string; /** * Resolves the native menu labels for `productName`, localized for `locale` * (defaults to the detected system language). If `allowed` is given (the * app's configured `locales`), `locale` is constrained to it — falling back * to `allowed[0]` when the system language isn't one of them. `{app}` in the * about/hide/quit labels is replaced with the product name. */ export declare function resolveMenuLabels(productName: string, locale?: string, allowed?: string[]): MenuLabels; //# sourceMappingURL=menu-i18n.d.ts.map