sport-wizard-translator — community sport-wizard-translator, f2016-6-dif, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Perfect for Language Agents needing advanced Swedish translation capabilities for soccer-related content. Soccer coach helper for 5v5

beggan78 beggan78
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The sport-wizard-translator skill by beggan78 is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Perfect for Language Agents needing advanced Swedish translation capabilities for soccer-related content.

Core Value

Empowers agents to translate Sport Wizard application text into natural, context-aware Swedish using domain-appropriate soccer terminology, prioritizing consistency and natural phrasing, and leveraging deep context analysis for accurate translations.

Capabilities Granted for sport-wizard-translator

Translating soccer coach helper text for 5v5 games
Generating natural Swedish translations for soccer terminology
Ensuring consistency in translation patterns across the codebase

! Prerequisites & Limits

  • Requires knowledge of Swedish soccer terminology
  • Limited to translating Sport Wizard application text
  • Dependent on existing translation patterns in the codebase
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

sport-wizard-translator

Install sport-wizard-translator, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Sport Wizard Swedish Translator

Translate Sport Wizard application text to natural, context-aware Swedish with proper soccer terminology.

Core Principles

  1. Deep context analysis - Read and understand the component before translating
  2. Domain-appropriate terminology - Use Swedish soccer terms, not literal translations
  3. Natural phrasing - Prioritize natural Swedish word order over literal translation
  4. Consistency - Follow existing translation patterns in the codebase
  5. Preserve names - Never translate app name, player names, or team names

Translation Workflow

When the user requests translation (e.g., "Translate GameScreen to Swedish"):

Step 1: Analyze the Component

Read the target component file to understand:

  • Purpose: What does this component do?
  • User flow: How does the user interact with it?
  • Context: Where does it appear in the app?
  • Relationships: What other components/features does it connect to?
  • Existing translations: Are any parts already translated?

Critical: Do not just extract strings. Understand the domain context to choose appropriate terminology.

Step 2: Identify Translatable Text

Find all user-facing text:

  • UI labels and headers
  • Button text
  • Placeholder text
  • Error/warning messages
  • Success messages
  • Helper text and tooltips
  • Modal content
  • Dropdown options

Exclude:

  • Variable names and code identifiers
  • Comments (unless they become user-facing)
  • App name "Sport Wizard"
  • Player names
  • Team names
  • Log messages (unless user-visible)

Step 3: Determine Translation Strategy

Before translating, consult these references:

  1. Soccer terminology - Read references/soccer-terminology.md

    • Check if text contains soccer-specific terms (defender, midfielder, formation, etc.)
    • Use domain-appropriate Swedish terms (e.g., "Back" not "Försvarare")
  2. Natural phrasing - Read references/translation-patterns.md

    • Check for common UI patterns (buttons, labels, errors)
    • Apply natural Swedish word order and compound rules
  3. Existing translations - Read references/existing-translations.md

    • Check if similar text is already translated
    • Maintain consistent terminology across the app

Step 4: Create Translation Keys

Organize translations by namespace:

Namespace selection:

  • Use common for generic/shared UI (buttons like "Save", "Cancel", "Delete")
  • Use component-specific namespace for component-unique text (e.g., configuration, game, profile)
  • Create new namespace if needed (e.g., game.json, profile.json)

Key structure:

  • Use nested keys for logical grouping: "header.title", "buttons.save", "errors.validation"
  • Use descriptive names: "squad.selectTitle" not "label1"
  • Group related items: "goalies.header", "goalies.periodLabel", "goalies.placeholder"

Example structure:

json
1{ 2 "header": { 3 "title": "Screen Title" 4 }, 5 "buttons": { 6 "primary": "Primary Action", 7 "secondary": "Secondary Action" 8 }, 9 "messages": { 10 "success": "Success message", 11 "error": "Error message" 12 } 13}

Step 5: Generate Swedish Translations

For each translatable string:

  1. Understand the context - What is this text doing? What action/state does it represent?
  2. Check references - Is there domain terminology or existing pattern?
  3. Choose natural Swedish - Prioritize natural phrasing over literal translation
  4. Maintain interpolation - Preserve {{variables}} for dynamic content
  5. Apply grammar - Ensure proper Swedish grammar (gender, plural, word order)

Example process:

English: "Add Player to Team"

  1. Context: Button action to add a player
  2. Check: "Add" → "Lägg till" (from existing-translations.md)
  3. Natural: "Lägg till Spelare i Laget"
  4. No interpolation needed
  5. Grammar: ✅ Natural Swedish word order

English: "You have selected {{count}} players"

  1. Context: Feedback message showing selection count
  2. Check: "Select" → "Välj" → "Vald/Valda"
  3. Natural: "Du har valt {{count}} spelare"
  4. Keep: {{count}} variable
  5. Grammar: ✅ "Valda" plural form matches "spelare"

Step 6: Update Translation Files

Update or create JSON files in src/locales/sv/{namespace}.json:

If file exists:

  • Read current content
  • Merge new translations (preserve existing keys)
  • Maintain nested structure
  • Keep consistent formatting

If creating new file:

  • Create both src/locales/en/{namespace}.json (English) and src/locales/sv/{namespace}.json (Swedish)
  • Update src/locales/i18n.js to import new namespace files
  • Add namespace to i18n.init resources configuration

Example update to existing file:

Before:

json
1{ 2 "header": { 3 "title": "Spel- och Lagkonfiguration" 4 } 5}

After (adding new section):

json
1{ 2 "header": { 3 "title": "Spel- och Lagkonfiguration" 4 }, 5 "buttons": { 6 "save": "Spara", 7 "cancel": "Avbryt" 8 } 9}

Step 7: Update Component Code

Modify the component to use translations:

  1. Add import (if not present):
javascript
1import { useTranslation } from 'react-i18next';
  1. Add hook (if not present):
javascript
1const { t } = useTranslation('namespace');
  1. Replace hardcoded strings with t() calls:

Before:

javascript
1<h1>Game & Squad Configuration</h1> 2<button>Save Configuration</button> 3<p>You have selected {count} players</p>

After:

javascript
1<h1>{t('configuration:header.title')}</h1> 2<button>{t('common:buttons.save')}</button> 3<p>{t('configuration:squad.selectTitle', { count })}</p>

Translation key format:

  • Same namespace: t('key.path')
  • Different namespace: t('namespace:key.path')
  • With variables: t('key.path', { variable: value })
  1. Handle multi-namespace usage:

If component uses multiple namespaces:

javascript
1// Option 1: Multiple useTranslation calls 2const { t } = useTranslation('configuration'); 3const { t: tCommon } = useTranslation('common'); 4 5// Option 2: Single call with array 6const { t } = useTranslation(['configuration', 'common']); 7// Then use: t('configuration:key') or t('common:key')

Step 8: Verify Implementation

After updates:

  1. Check JSON validity - Ensure valid JSON syntax (no trailing commas, proper quotes)
  2. Check i18n.js - Verify new namespaces are imported and registered
  3. Check imports - Ensure component has correct useTranslation import
  4. Check keys - Verify all translation keys exist in JSON files
  5. Check variables - Ensure interpolation variables match between English and Swedish

Domain-Specific Guidelines

Soccer Terminology

Always use soccer-specific Swedish terms:

  • Defender → "Back" (NOT "Försvarare")
  • Midfielder → "Mittfält"
  • Forward/Attacker → "Forward"
  • Goalkeeper → "Målvakt"
  • Substitute → "Avbytare"

For positions, use natural Swedish compounds:

  • Left Back → "Vänsterback"
  • Right Midfielder → "Höger mittfält"
  • Left Forward → "Vänsterforward"

See references/soccer-terminology.md for complete glossary.

Natural Swedish Phrasing

Prioritize natural word order:

  • ❌ "Application Language" → "Applikationsspråk" (too literal)
  • ✅ "Application Language" → "Språk i appen" (natural)

Use appropriate compounds:

  • ✅ "matchformat" (one word)
  • ✅ "lagkapten" (one word)
  • ❌ "motståndarlagsnamn" (too long, use "motståndarlags namn")

Use natural actions:

  • ❌ "Addera Spelare" (too formal)
  • ✅ "Lägg till Spelare" (natural)

See references/translation-patterns.md for patterns and examples.

Consistency with Codebase

Always check existing translations first:

  • Read references/existing-translations.md for established patterns
  • Use same terms for same concepts across the app
  • Maintain consistent namespace organization

Common established terms:

  • Squad → "Trupp"
  • Team → "Lag"
  • Game/Match → "Match" (always)
  • Period → "Period"
  • Rotation → "Byte"

Common Mistakes to Avoid

Literal translation without context

  • "Defender" → "Försvarare" (wrong - should be "Back")

Ignoring natural Swedish word order

  • "Application Language" → "Applikationsspråk" (wrong - should be "Språk i appen")

Translating names

  • "Sport Wizard" → "Sport Trollkarl" (wrong - keep original)

Inconsistent terminology

  • Using both "Trupp" and "Lag" for "squad" (wrong - use "Trupp" consistently)

Breaking interpolation

  • Original: "Selected: {{count}}"
  • Wrong: "Valda: {antal}" (changed variable name)
  • Correct: "Valda: {{count}}" (kept variable name)

Not updating component code

  • Only creating JSON files without updating components to use t() calls

Output Format

After completing translation, provide:

  1. Summary of what was translated
  2. Translation files created/updated (show file paths and new content)
  3. Component changes made (show the diff or updated code sections)
  4. Namespace info if new namespace was created (show i18n.js updates)

Example output:

Translated ConfigurationScreen to Swedish:

Updated files:
- src/locales/sv/configuration.json (added 15 new keys)
- src/locales/en/configuration.json (added 15 new keys)
- src/components/setup/ConfigurationScreen.js (replaced hardcoded strings with t() calls)

New translation keys added:
- squad.selectTitle
- squad.addPlayerTitle
- buttons.saveConfig
- goalies.header
...

Component now uses useTranslation('configuration') hook with proper t() calls.

Notes

  • Always read the component first - Don't translate blindly
  • Context is king - Same English word may have different Swedish translations based on context
  • Natural over literal - Swedish should sound natural to native speakers
  • Consistency matters - Check existing translations to maintain app-wide consistency
  • Test interpolation - Ensure {{variables}} work correctly in Swedish sentences

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is sport-wizard-translator?

Perfect for Language Agents needing advanced Swedish translation capabilities for soccer-related content. Soccer coach helper for 5v5

How do I install sport-wizard-translator?

Run the command: npx killer-skills add beggan78/f2016-6-dif. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for sport-wizard-translator?

Key use cases include: Translating soccer coach helper text for 5v5 games, Generating natural Swedish translations for soccer terminology, Ensuring consistency in translation patterns across the codebase.

Which IDEs are compatible with sport-wizard-translator?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for sport-wizard-translator?

Requires knowledge of Swedish soccer terminology. Limited to translating Sport Wizard application text. Dependent on existing translation patterns in the codebase.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add beggan78/f2016-6-dif. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use sport-wizard-translator immediately in the current project.

Related Skills

Looking for an alternative to sport-wizard-translator or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI