agentsclimarketplace

I18n

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

Template for Flutter mobile applications.

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.

One thing 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.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

3.1 KB, 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)

Keep looking

Skills are one crate of 328,083. 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.