lovable-i18n

lovable-i18n is a skill for Claude Code, Codex from globalize-now/globalize-skills. It costs 131 tokens per session (22,163 once invoked), scanned B, original, MIT.

A procedure for adding multiple-language support to a Lovable app using Lingui, a translation library. It uses translation files for each language and relies on the app build and GitHub workflow for parts of the translation process.

In plain words
What is it for?
Use it to add languages, translate an app, create language catalogs, add a language switcher, or connect translation updates to GitHub.
Why use it?
It provides a defined way to manage translated text and language catalogs when the usual translation command-line tools cannot be run in Lovable.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: positional $N argument; mentions Claude Code; mentions AGENTS.md.

Good fit Use it to add languages, translate an app, create language catalogs, add a language switcher, or connect translation updates to GitHub.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/globalize-now/globalize-skills/lovable-i18n
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add globalize-now/globalize-skills --skill lovable-i18n
Clone the repo
git clone --depth 1 https://github.com/globalize-now/globalize-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lovable-i18n

README.md
[![agentmods](https://agentmods.dev/badge/skills/globalize-now/globalize-skills/lovable-i18n/github.svg)](https://agentmods.dev/skills/globalize-now/globalize-skills/lovable-i18n)
Your own site
<a href="https://agentmods.dev/skills/globalize-now/globalize-skills/lovable-i18n"><img src="https://agentmods.dev/badge/skills/globalize-now/globalize-skills/lovable-i18n/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for lovable-i18n

Your own site · 80×15
<a href="https://agentmods.dev/skills/globalize-now/globalize-skills/lovable-i18n"><img src="https://agentmods.dev/badge/skills/globalize-now/globalize-skills/lovable-i18n.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 131 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 22,163 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00131 $0.22163
Opus 5 $0.00066 $0.11081
Sonnet 5 $0.00026 $0.04433
Haiku 4.5 $0.00013 $0.02216

Measured 11d ago against content hash de046ad39a2b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade B, and why

lovable-i18n scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Unrestricted tool accessmediumExcessive agency

A wildcard tool grant or "run any command" leaves no least-privilege boundary at all.

You know whether GitHub is connected from your Lovable project context — you don't need to read a file or run any command to tell. *(If you genuinely can't determine it from your context, ask the user to confirm before c
Origin

Copies of this mod

1 near-identical copy found in the catalogue:

skills/lovable-i18n/SKILL.md · 1,551 lines

How it starts

The opening of the file, as written. The whole thing — 1,551 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Lovable i18n with Lingui

You are the Lovable agent working on one project. You cannot run terminal commands — no npm, no lingui CLI, no git. You can edit files, add npm dependencies, and read preview build errors and console logs. Everything below is designed around that.

Three consequences of that design, worth internalizing before you start:

  1. You never run lingui compile. @lingui/vite-plugin compiles .po catalogs at build time, when the app dynamically imports them. The preview build is the compiler.
  2. You never run lingui extract. A GitHub Actions workflow (Phase 5) runs extraction in CI after Lovable syncs commits to GitHub. Until that lands, you maintain .po files by hand, following the catalog maintenance protocol later in this skill.
  3. You scaffold catalogs yourself. Since nothing can run the CLI here, you create the messages.po files directly, with valid PO headers (step A7).

The library is Lingui v6, with one PO catalog per locale at src/locales/{locale}/messages.po.

Because the whole pipeline — the catalog-sync workflow (Phase 5) and the Globalize.now hand-off (Phase 6) — runs through GitHub, this skill confirms GitHub is connected before doing anything, and stops until it is. See Prerequisite: GitHub connection below.

One thing the terminal limit does not block: connecting Globalize. Once the user adds the Globalize MCP connector (Phase 6), you create the project and link the repo yourself, right here in the chat — no leaving Lovable. A paste-ready fallback covers anyone who'd rather not add the connector.

Phases

Phase What happens
1.1 Detect Identify the project stack (Vite SPA or TanStack Start) and any existing i18n
1.2 Ask One chat message collecting source locale, target locales, URL routing, opt-ins
2A / 2B Setup Add dependencies, build config, i18n.ts, provider, catalogs, formatters module, language switcher
3 Rules Add Lingui coding rules to AGENTS.md so every future edit stays localized
4 Wrap Wrap the app's existing hardcoded strings in Lingui macros
5 CI Add a GitHub Action that runs lingui extract and keeps catalogs in sync
6 Connect Connect Globalize.now (default) — create the project + link the repo via the Globalize MCP

Read the full file on GitHub · 1,551 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 1,551 lines · 131 tokens per session scan B de046ad39a2b

Subscribe to this mod's changes

lovable-i18n is a skill published in the GitHub repository globalize-now/globalize-skills (3 stars, last pushed 3d ago), licensed MIT. It adds 131 tokens to every session and 22,163 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it B with 1 finding (unrestricted tool access). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

extract-source-sample

Given the path to a finished content-goose ad-run folder, extract everything that defines that ad — recipe shot list, VO script, characters, voices, world, atom-skills, master mp4 — and emit a source-sample.json in the exact shape the upload-ad-sample skill writes to the Goose Ads library. Also links every character…

gooseworks-ai/goose-skills · 160 tokens

nextjs-locale-monorepo

Add locale-prefixed i18n routing across a Next.js monorepo (Turborepo / pnpm workspaces) by extracting the engine into a shared workspace package that every app consumes — locale detection + a middleware/proxy factory + a use client LocaleProvider/hooks, plus a shared supportedLanguages config. Each app redirects /…

stealth-factory/skills · 210 tokens

nextjs-locale-standalone

Add locale-prefixed i18n routing to a single (non-monorepo) Next.js App Router site — a middleware/proxy that redirects / and any unprefixed path to / /… using the locale toggle's last choice (the NEXTLOCALE cookie) then the browser's Accept-Language, a [locale] layout with a LocaleProvider + hooks, and a LocaleToggle…

stealth-factory/skills · 184 tokens

thai-resume

Use this skill for any task involving Thai-language or bilingual (TH/EN) resumes and CVs. Trigger whenever the user asks to: write a Thai resume, draft a CV in Thai, build a bilingual Thai-English resume, format an application for a Thai employer, choose between พ.ศ. and ค.ศ. dates in a CV, or tailor a resume for…

Boom-Vitt/claude-thai-skills · 146 tokens

thai-text-processing

Use this skill for any task involving Thai text in code — word segmentation, Unicode normalization, sorting/collation, search indexing, romanization, truncation, or database/Elasticsearch configuration for Thai. Trigger whenever the user asks to: tokenize / segment Thai (no spaces between words), normalize Thai text…

Boom-Vitt/claude-thai-skills · 193 tokens

thai-address

Use this skill for any task involving Thai postal address parsing, validation, formatting, or province/postcode lookup. Trigger whenever the user asks to: parse a Thai address into fields, validate a 5-digit Thai postcode, look up a province from its postcode, or format an address for a shipping label. Also trigger…

Boom-Vitt/claude-thai-skills · 127 tokens