agentsclimarketplace

I18n

Skill launch52-ai/flutter-template/.claude/skills/i18n

Audit Flutter code for hardcoded strings, write clear user-friendly text following UX guidelines, and migrate strings to i18n files. Use when checking localization, finding hardcoded text, improving string clarity, writing error messages, button labels, or any user-facing text.From its SKILL.md

Install
npx -y skills add launch52-ai/flutter-template --skill i18n

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 4 commands, including `dart run .claude/skills/i18n/scripts/check.dart --audit` and 3 more.

SKILL.md

3.1 KB, 720 tokens by cl100k_base, as published. Nobody here has run it

i18n - Localization & UX Writing

Ensure all user-facing text is localized and crystal clear. Every string should be understandable by a 10-year-old or non-native English speaker.

When to Use This Skill

  • Checking for hardcoded strings
  • Writing or improving user-facing text
  • Creating error messages, button labels, confirmations
  • Migrating strings to i18n files
  • Reviewing string quality

Quick Reference

The Golden Rules

  1. Be specific, not vague - "Could not save photo" not "Error occurred"
  2. Use plain words - "Sign in" not "Authenticate"
  3. Buttons complete "I want to ___" - "Delete photo" not "OK"
  4. Errors say what to do - "Check your connection and try again"
  5. No confusing dialogs - Never [Cancel] [OK] on a cancel confirmation

File Structure

lib/
├── core/i18n/
│   ├── common.i18n.yaml        → t.common.*
│   └── translations.g.dart     → Generated
└── features/{feature}/i18n/
    └── {feature}.i18n.yaml     → t.{feature}.*

Commands

# Audit for hardcoded strings
dart run .claude/skills/i18n/scripts/check.dart --audit

# Audit specific feature
dart run .claude/skills/i18n/scripts/check.dart --audit auth

# Generate missing i18n files
dart run .claude/skills/i18n/scripts/check.dart --generate

# Regenerate translations
dart run build_runner build --delete-conflicting-outputs

Workflow

1. Audit

dart run .claude/skills/i18n/scripts/check.dart --audit {feature}

Look for: Text('...'), title:, hintText:, label:, SnackBar messages, Dialog content.

2. Evaluate & Improve

Check each string against ux-writing-guide.md. Use patterns from examples.md.

3. Add to i18n File

Create/update lib/features/{feature}/i18n/{feature}.i18n.yaml with proper strings.

4. Replace in Code

// Before: Text('Welcome back')
// After:  Text(t.auth.login.title)

5. Regenerate

dart run build_runner build --delete-conflicting-outputs

Guides

GuideUse For
setup-guide.mdInitial slang setup, build.yaml, file structure
ux-writing-guide.mdUX writing principles, patterns
examples.mdBefore/after examples by scenario

Checklist

  • A 10-year-old would understand it
  • Names the specific thing (photo, message, account)
  • If error: says what happened AND what to do
  • If button: completes "I want to ___"
  • If confirmation: buttons clearly show outcomes
  • No jargon (credentials, authenticate, invalid, terminate)

Related Skills

  • /a11y - Accessibility labels (add to accessibility: section in i18n files)

What ships with it: 4 files

50.6 KB alongside SKILL.md

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.