CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-localization

Add or update a language translation in the privacy policy generator. Trigger when user says: "add {language} translation", "add locale", "translate to {language}", "add localization for {language}", or when a user wants to contribute a new language.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Add Localization

Quick Steps

1. Create locale JSON from English

cp src/locales/en.json src/locales/{code}.json

Use the ISO 639-1 language code (e.g., es, fr, de, ja, pt, zh).

2. Translate all string values

Edit the new JSON file. Only translate values, never keys.

✅ Correct:

"wizard.step1.tagline": "Genera un documento personalizado..."

❌ Wrong — don't change keys:

"wizard.step1.tagline_es": "Genera un documento personalizado..."

3. Preserve {{ variable }} placeholders

Keep placeholders like {{ appName }}, {{ platformDesc }}, {{ deviceType }} unchanged in the translated text.

4. Build

make build

The Go build tool detects every JSON file in src/locales/ and generates the HTML and JavaScript for each locale.

Open public/index.html — the language switcher dropdown now includes the new language.

Validation Checklist

  • JSON file is valid (no trailing commas, no duplicate keys)
  • All {{ variable }} placeholders preserved
  • UI labels, placeholders, help text translated
  • Legal templates translated (requires native-speaking legal review)
  • FAQ and disclaimer content translated
  • Platform vocabulary translated (device types, OS, browser strings)
  • Language appears in the dropdown
  • make build succeeds
  • make check passes (Go vet, build, golden, and Playwright checks)

Important Notes

  • Legal text needs professional review: Have a native-speaking lawyer review legal template translations.
  • Don't translate third-party service names in thirdpartyservices.yml — only the name field in the locale JSON if you add locale-specific names.
  • Meta tags (meta.* keys) are updated dynamically via JS after page load.
Repository

nisrulz/app-privacy-policy-generator

Path

.agents/skills/add-localization/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.