Agent skill

Desktop i18n for Cursor BYOK

by leookun in leookun/cursor-byok

Rules for localizing the Cursor BYOK desktop app: the global t() function, complete locale catalogs, system-language selection and the scan-and-check commands.

MITAuto-check passedFrontend & Design

Install Desktop i18n for Cursor BYOK

skills CLI
$ npx skills add leookun/cursor-byok --skill i18n -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install leookun/cursor-byok i18n --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/leookun/cursor-byok.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/i18n .claude/skills/i18n && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
i18n
GitHub stars
3.2k
Token cost
~508 tokens
SKILL.md length
214 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Rules for localizing the Cursor BYOK desktop app: the global t() function, complete locale catalogs, system-language selection and the scan-and-check commands.

  • Works in 4 steps: Run npm run i18n:scan after adding or… → Translate every empty entry in… → Never edit… → …
  • Adding user-visible text to the Cursor BYOK desktop app
  • SKILL.md covers Author messages, Locale behavior and Update catalogs
  • Calls npm

What it does

This repo-specific skill describes how localization is organized under apps/desktop in Cursor BYOK, with a static i18n plugin and an src/i18n folder of locale files. Messages are written with the global t() function using a static Simplified Chinese string literal. The function is never imported or declared locally, calls stay inside render paths so they update on a language change, and named placeholders must keep identical names in every translation.

All user-visible labels, descriptions, tooltips, empty states, validation messages and accessibility labels are wrapped, while protocol tokens, model IDs, URLs and fixed product names are not. The default preference is system: supported OS languages map to their locale, anything unsupported falls back to en-US, only explicit selections are saved, and changes apply immediately along with the document lang attribute. After editing sources, run npm run i18n:scan, translate each empty entry in en-US.json, leave catalog.json and zh-CN.json to the scanner, and run npm run check, which fails on a missing translation or mismatched placeholder.

When your agent uses it

  • Adding user-visible text to the Cursor BYOK desktop app
  • Adding a new language to the desktop locale list
  • Reviewing a change for missing translations or mismatched placeholders

Example prompts

  • “Add a settings label for proxy status to the desktop app and translate it.”
  • “Add Japanese as a new locale in apps/desktop.”
  • “Review this diff for untranslated strings and broken placeholders.”

Requirements

  • The Cursor BYOK repository, with Node and npm

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Run npm run i18n:scan after adding or changing t() sources.
  2. Translate every empty entry in src/i18n/locales/en-US.json.
  3. Never edit src/i18n/generated/catalog.json or zh-CN.json manually; scanning owns them.
  4. Run npm run check. A normal build must fail on a missing translation or mismatched placeholder.

What it can do on your machine

Read from SKILL.md and the folder at commit eb7c270. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Desktop i18n for Cursor BYOK loads about 508 tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 214 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~508

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from leookun/cursor-byok at commit eb7c270, republished under its MIT licence (© leookun). 214 words, ~508 tokens.

Download SKILL.mdSave it as .claude/skills/i18n/SKILL.md (or your agent's skills folder).
name
i18n
description
Implement and review Cursor BYOK desktop localization, including t() usage, locale catalogs, system-language selection, translation completeness, and language settings under apps/desktop.

Desktop i18n

Keep localization organized as:

text
apps/desktop/
├── plugins/static-i18n-plugin.ts
└── src/i18n/
    ├── I18nRoot.tsx
    ├── runtime.ts
    ├── store.ts
    ├── generated/catalog.json
    └── locales/
        ├── zh-CN.json
        └── en-US.json

Author messages

  • Use the global t() function with a static Simplified Chinese string literal: t("保存").
  • Do not import or locally declare t.
  • Keep calls inside render paths when the result must update after a language change. Do not translate module-level UI constants.
  • Use named placeholders with a static object: t("第 {page} 页", { page }).
  • Preserve every placeholder name exactly in all translations.
  • Wrap all user-visible labels, descriptions, tooltips, empty states, validation messages, and accessibility labels. Do not wrap protocol tokens, model IDs, URLs, or product names that should remain unchanged.

Locale behavior

  • system is the default preference.
  • Resolve supported operating-system languages to their locale and fall back to en-US for every unsupported language.
  • Persist only explicit locale selections. Removing the preference restores system-language behavior.
  • Apply changes immediately and update the document lang attribute.

Update catalogs

From apps/desktop:

  1. Run npm run i18n:scan after adding or changing t() sources.
  2. Translate every empty entry in src/i18n/locales/en-US.json.
  3. Never edit src/i18n/generated/catalog.json or zh-CN.json manually; scanning owns them.
  4. Run npm run check. A normal build must fail on a missing translation or mismatched placeholder.

When adding another locale, add it to the plugin's supported locales, runtime locale type and messages, locale resolver, settings options, and provide a complete locale JSON file.

© leookun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/i18n of leookun/cursor-byok.

Open the folder on GitHubat commit eb7c270

Compare with similar skills

Desktop i18n for Cursor BYOK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Desktop i18n for Cursor BYOK compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Desktop i18n for Cursor BYOK this skillleookun/cursor-byok3.2k—~508Automated safety check: PassMIT
Igniteui Angular BuildIgniteUI/igniteui-angular599—~898Automated safety check: PassCustom licence
Igniteui Angular TestingIgniteUI/igniteui-angular599—~950Automated safety check: PassCustom licence
Create Docsvictorgarciaesgi/nuxt-typed-router4132 repos~2.8kAutomated safety check: PassMIT
Frontend Build Timing Auditopenops-cloud/openops1.1k—~2.3kAutomated safety check: PassCustom licence
Command UIforcedotcom/salesforcedx-vscode1k—~1.4kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Igniteui Angular Build

    IgniteUI/igniteui-angular

    Quick-reference for building the core Ignite UI for Angular library and related packages.

    599 GitHub stars~898 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Igniteui Angular Testing

    IgniteUI/igniteui-angular

    Quick-reference for running Ignite UI for Angular test suites.

    599 GitHub stars~950 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Create Docs

    victorgarciaesgi/nuxt-typed-router

    Create complete documentation sites for projects. An agent skill from victorgarciaesgi/nuxt-typed-router.

    413 GitHub starsUsed in 2 repos~2.8k tokens
    Frontend & DesignAuto-check passed
  • Frontend Build Timing Audit

    openops-cloud/openops

    Detects and diagnoses chunk-evaluation timing bugs in the Vite/rolldown production build of react-ui (works-in-dev / broken-in-build i18n regressions, missing UI labels, module-scope t()…

    1.1k GitHub stars~2.3k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Command UI

    forcedotcom/salesforcedx-vscode

    Command palette, CodeLens, context menus, package.nls titles, and NotificationModeService.

    1k GitHub stars~1.4k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Create

    liriliri/licia

    Create a new Licia utility module following project conventions.

    2.4k GitHub stars~879 tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed

More from leookun/cursor-byok

  • Cursor BYOK Prefix Stability

    leookun/cursor-byok

    Guides changes to the cursor-byok server so provider conversation history stays append-only and each turn's history remains an exact prefix of the next, protecting prefix caches.

    3.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Cursor BYOK Database Schema

    leookun/cursor-byok

    Guides SQLite schema changes in the Cursor BYOK server, keeping SQLx migrations, the Rust store, API contracts and fixtures aligned.

    3.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Cursor BYOK Frontend Guide

    leookun/cursor-byok

    Sets the rules for building the Cursor BYOK desktop app's React and Tauri frontend, especially its HTTP boundary and component state architecture.

    3.2k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Model Selection Component

    leookun/cursor-byok

    Standardizes how a desktop app's UI lets a person choose one or more already-configured AI models, through a single grouped dropdown component.

    3.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Cursor BYOK Desktop Release

    leookun/cursor-byok

    Guides releases of the Cursor BYOK desktop app on GitHub, with strict rules on who may publish and how version tags, updater manifests and signing are handled.

    3.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Floating UI Overlays

    leookun/cursor-byok

    Rules for building dropdowns, popovers, tooltips and menus in the desktop app with @floating-ui/dom, covering portals, positioning, dismissal and ARIA state.

    3.2k GitHub stars~496 tokensUpdated today
    Auto-check passed

Works with

Questions about Desktop i18n for Cursor BYOK

What does Desktop i18n for Cursor BYOK do?

Rules for localizing the Cursor BYOK desktop app: the global t() function, complete locale catalogs, system-language selection and the scan-and-check commands. This repo-specific skill describes how localization is organized under apps/desktop in Cursor BYOK, with a static i18n plugin and an src/i18n folder of locale files. Messages are written with the global t() function using a static Simplified Chinese string literal.

When should I use Desktop i18n for Cursor BYOK?

Desktop i18n for Cursor BYOK fits situations like: adding user-visible text to the Cursor BYOK desktop app; adding a new language to the desktop locale list; reviewing a change for missing translations or mismatched placeholders.

How do I install Desktop i18n for Cursor BYOK in Claude Code?

Run `npx skills add leookun/cursor-byok --skill i18n -a claude-code`. Or copy the skill folder (.agents/skills/i18n in leookun/cursor-byok) into .claude/skills/i18n in your project. Claude Code loads it when a task matches its description.

How do I install Desktop i18n for Cursor BYOK in Codex?

Run `npx skills add leookun/cursor-byok --skill i18n -a codex`. Or copy the skill folder (.agents/skills/i18n in leookun/cursor-byok) into .agents/skills/i18n in your project. Codex loads it when a task matches its description.

Can I use Desktop i18n for Cursor BYOK in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add leookun/cursor-byok --skill i18n -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/i18n, .gemini/skills/i18n, .github/skills/i18n and .opencode/skills/i18n in your project.

What does Desktop i18n for Cursor BYOK need to run?

Going by SKILL.md and its folder, Desktop i18n for Cursor BYOK needs the command-line tools its instructions call (npm). Our summary lists: The Cursor BYOK repository, with Node and npm.

Does Desktop i18n for Cursor BYOK access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Desktop i18n for Cursor BYOK safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Desktop i18n for Cursor BYOK use?

Desktop i18n for Cursor BYOK is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Desktop i18n for Cursor BYOK use?

About 508 tokens (SKILL.md is roughly 2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Desktop i18n for Cursor BYOK?

Skills that share tags, products or a category with Desktop i18n for Cursor BYOK: Igniteui Angular Build (IgniteUI/igniteui-angular, 599 stars), Igniteui Angular Testing (IgniteUI/igniteui-angular, 599 stars), Create Docs (victorgarciaesgi/nuxt-typed-router, 413 stars) and Frontend Build Timing Audit (openops-cloud/openops, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Desktop i18n for Cursor BYOK?

leookun (a GitHub user) maintains it in leookun/cursor-byok, which has 3,167 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.

Source: leookun/cursor-byok on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.