KS
Killer-Skills

translate — how to use translate how to use translate, what is translate, translate alternative, translate vs localization, translate install, translate setup guide, Oinkoin app translation, locale JSON translation, Flutter app translation

v1.0.0
GitHub

About this Skill

Ideal for Multilingual Agents requiring efficient locale file management and translation capabilities. translate is a skill that automates translation of untranslated strings in locale JSON files for the Oinkoin app, using the /translate command.

Features

Translates untranslated strings in locale JSON files using the /translate command
Supports translation of multiple locale files, including it.json, de.json, and pt-BR.json
Uses assets/locales/en-US.json as the source of truth for translations
Allows for translation of all locale files at once if no file is specified
Works with the Oinkoin app, a Flutter app for managing expenses

# Core Topics

emavgl emavgl
[341]
[34]
Updated: 2/28/2026

Quality Score

Top 5%
58
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add emavgl/oinkoin

Agent Capability Analysis

The translate MCP Server by emavgl is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use translate, what is translate, translate alternative.

Ideal Agent Persona

Ideal for Multilingual Agents requiring efficient locale file management and translation capabilities.

Core Value

Empowers agents to translate untranslated strings in locale JSON files, leveraging the source of truth in 'assets/locales/en-US.json' and supporting multiple locales like 'it.json', 'de.json', and 'pt-BR.json' through JSON file interactions.

Capabilities Granted for translate MCP Server

Translating locale files for the Oinkoin app
Managing untranslated strings in JSON files
Updating 'assets/locales/' directory with new translations

! Prerequisites & Limits

  • Requires access to locale JSON files
  • Limited to JSON file format
  • Dependent on 'assets/locales/en-US.json' as the source of truth
Project
SKILL.md
3.1 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Skill: translate

Translate untranslated strings in a locale JSON file for the Oinkoin app.

Usage

/translate <locale-file>

Example: /translate assets/locales/it.json

If no file is specified, address all the locale files


How translations work in this project

  • All locale files live in assets/locales/ (e.g. it.json, de.json, pt-BR.json).
  • assets/locales/en-US.json is the source of truth: every key AND its English value are listed there.
  • Every other locale file has the same keys. A string is untranslated when its value is identical to its key (i.e. it was never localised and still reads in English).
  • A string is already translated when its value differs from its key. Never touch those.

Step-by-step instructions

0. Sync keys with the codebase (always run first)

Run the sync script from the project root to ensure en-US.json is up-to-date and stale keys are removed from all locale files:

python3 scripts/update_en_strings.py

This regenerates en-US.json from all .i18n strings found in lib/, and removes obsolete keys from every other locale file. Run it before translating so you are working against the current set of keys.

1. Read the target locale file

Read the full file specified by the user.

2. Identify untranslated strings

A string is untranslated when value == key. Collect every such entry.

If there are no untranslated strings, tell the user and stop.

3. For each untranslated string — look up context before translating

Do not guess from the key text alone. For each untranslated key:

  • Search the Dart source code (Grep in lib/) for the exact key string to find where it is used.
  • Look at the surrounding widget/function/page to understand the context (e.g. is it a button label, a dialog title, an error message, a settings toggle description?).
  • Only then choose the most natural, contextually appropriate translation for the target language.

4. Write the translated strings

Edit the locale file, replacing only the untranslated values. Keep every other entry byte-for-byte identical.

5. Report what changed

After editing, print a compact table of the strings you translated:

KeyTranslation

Important rules

  • Never modify already-translated strings (value ≠ key).
  • Never change keys — only values.
  • Preserve placeholders exactly as written: %s, %d, %1$s, etc.
  • Match the tone and terminology of the strings that ARE already translated in the same file — consistency matters more than literal accuracy.
  • For technical or brand terms (e.g. "Oinkoin Pro", "PIN", "CSV", "JSON") keep them untranslated.
  • If a string has no natural translation (e.g. it is already the correct word in the target language), it is fine to leave the value equal to the key — but note this in your report.
  • Process the whole file in one pass; do not ask for confirmation before each string.

Exceptions

For British english use en-GB.json - in this case, key and value will most of case matches. Consider all the strings as already translated and skip it.

Related Skills

Looking for an alternative to translate or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

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
Communication

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
Communication