aymericzip/intlayer-skills/intlayer-lit

Claude Code and agent skill by aymericzip/intlayer-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Integrates Intlayer internationalization with Lit web components. Use when the user asks to "setup Lit i18n", create a translated LitElement, use the "useIntlayer" controller, or switch locale in a Lit application.

Install

npx vskill@latest install aymericzip/intlayer-skills/intlayer-lit

SKILL.md

Intlayer Lit Usage

Core Philosophy

Intlayer promotes Component-Level Content Declaration. Instead of a massive global translation file, content is declared in *.content.ts files adjacent to the Lit elements that use them.

Workflow

To create a translated element, you need two files:

  1. Declaration: A content file (e.g., myElement.content.ts) defining the dictionary.
  2. Implementation: A LitElement (e.g., my-element.ts) using the useIntlayer controller.
Declare Content

Create a content file using t() for translations. File: src/components/myElement.content.ts

typescript
import { t, type Dictionary } from "intlayer";
const content = {
// The 'key' must be unique and matches what you pass to useIntlayer()
key: "my-element",
content: {
title: t({
en: "Welcome",
fr: "Bienvenue",
es: "Hola",
}),
},
} satisfies Dictionary;
export default content;

Setup

Call installIntlayer() from lit-intlayer before any custom element is registered (see the Vite and Lit guide).

useIntlayer Controller

[!IMPORTANT]
In Lit, useIntlayer takes the host element as first argument. It registers itself as a ReactiveController, so the element re-renders automatically when the locale changes.
typescript
import { LitElement, html } from "lit";
import { customElement } from "lit/decorators.js";
import { useIntlayer } from "lit-intlayer";
@customElement("my-element")
export class MyElement extends LitElement {
private content = useIntlayer(this, "my-element");
override render() {
return html`
<h1>${this.content.title}</h1>
<!-- Return string (.value) for native attributes -->
<img alt=${this.content.title.value} />
`;
}
}

useLocale Controller

typescript
import { useLocale } from "lit-intlayer";
// Inside a LitElement
private locale = useLocale(this);
// this.locale.locale, this.locale.availableLocales, this.locale.setLocale("fr")

Compiler

The Intlayer Compiler can extract all your content keys from your components, using one CLI command (npx intlayer extract) or automatically at app build.

References

Environments
Concepts
Packages

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/aymericzip/intlayer-skills/intlayer-lit/badge)](https://verified-skill.com/skills/aymericzip/intlayer-skills/intlayer-lit)

Something wrong with this skill or its page? Tell us.