Agent skill

Translation

by doxygen in doxygen/doxygen

Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…

GPL-2.0Auto-check passedWriting & Content

Install Translation

skills CLI
$ npx skills add doxygen/doxygen --skill translation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install doxygen/doxygen translation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/translation .claude/skills/translation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
translation
GitHub stars
6.6k
Token cost
~5.2k tokens
SKILL.md length
2,149 words
Files
2
Skills in repo
1
Repo updated
First seen
Licence
GPL-2.0

At a glance

Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…

  • Works in 5 steps: Use git log --follow -p… → New methods added to TranslatorEnglish… → New methods are also added to… → …
  • Adding a language translation
  • SKILL.md covers Overview of Translation…, Mechanism 1 — Translator…, Mechanism 2 — Doxywizard Qt… and Mechanism 3 — Config Option…, plus 3 more sections
  • Runs Shell scripts from its folder; calls git, python3 and python

What it does

Translation is an agent skill from doxygen/doxygen. Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/), and config-option XML files (src/i18n/configxx.xml). Use this skill when updating or adding a language translation, improving translation quality, handling new or changed English source strings, adding a new language, or synchronising translations after a Doxygen release.

Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `compile_language.sh`). Compatibility notes: Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository.

It sits in Writing & Content, covering Translation. It works with C++. The repository describes itself as: Official doxygen git repository. The licence is GPL-2.0.

When your agent uses it

  • Adding a language translation
  • Improving translation quality
  • Changed English source strings
  • Adding a new language

Example prompts

  • “Use the translation skill to keep all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes…”
  • “/translation”

Requirements

  • Python 3
  • A Bash shell
  • Compatibility (from SKILL.md): Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository.

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Use git log --follow -p src/translator_en.h to see all changes.
  2. New methods added to TranslatorEnglish are pure virtual in Translator; they must be
  3. New methods are also added to TranslatorAdapter_X_Y_Z in translator_adapter.h as
  4. Changed method signatures (parameter lists, return types) must be reflected in all language
  5. Removed methods mean the corresponding overrides in language files can be deleted.

What it can do on your machine

Read from SKILL.md and the folder at commit d4fe2eb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • python3
    • python
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository.

    From compatibility in the SKILL.md frontmatter.

Context cost

Translation loads about 5.2k tokens when it runs. Until then it costs about 121 tokens; SKILL.md has 2,149 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~5.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from doxygen/doxygen at commit d4fe2eb, republished under its GPL-2.0 licence (© doxygen). 2,149 words, ~5,182 tokens.

Download SKILL.mdSave it as .claude/skills/translation/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
translation
description
Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translator_xx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/), and config-option XML files (src/i18n/config_xx.xml). Use this skill when updating or adding a language translation, improving translation quality, handling new or changed English source strings, adding a new language, or synchronising translations after a Doxygen release.
compatibility
Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository.

Doxygen Translation Agent Skill

This document instructs a translation agent on how to keep all Doxygen and Doxywizard translations up to date, improve translation quality, and handle changes to English source strings.

Overview of Translation Mechanisms

Doxygen uses three separate, independent translation mechanisms:

MechanismSource FilesTarget FilesPurpose
Translator classessrc/translator_en.hsrc/translator_xx.hAll text strings emitted by doxygen itself into generated documentation
Qt .ts filesaddon/doxywizard/i18n/doxywizard_xx.tsgenerated doxywizard_xx.qm filesDoxywizard GUI strings
Config XML filessrc/config.xmlsrc/i18n/config_xx.xmlDocumentation for configuration options shown in the Doxywizard Expert tab

Each mechanism must be maintained independently. A change in the English text of a source file need to be translated to each of the corresponding Target Files.


Mechanism 1 — Translator Classes (src/translator_xx.h)

How it works
  • src/translator.h defines the abstract Translator base class with pure virtual methods such as trRelatedFunctions(), trClassHierarchy(), etc.
  • src/translator_en.h contains TranslatorEnglish, which is always fully up to date and is the authoritative source for English strings and their inline documentation comments.
  • Each supported language has its own src/translator_xx.h file (e.g. translator_de.h for German, translator_fr.h for French) containing a class such as TranslatorGerman that overrides every method.
  • src/translator_adapter.h defines adapter classes (TranslatorAdapter_X_Y_Z) that provide English fallback implementations for methods introduced in a given release. A language translator that is not fully up to date inherits from the appropriate adapter instead of directly from Translator.
  • src/language.cpp registers all translators and doc/maintainers.txt lists the human maintainer for each language.
Identifying what needs translation

Run the doc/translator.py script from the repository root to get a full report:

bash
python translator.py --doc .

This generates doc/translator_report.txt and doc/language.dox. The report shows:

  • Which translators are fully up to date (inherit directly from Translator)
  • Which translators are outdated (inherit from an adapter class) and which methods they are missing
  • The percentage of implemented methods per language

CRITICAL — DO NOT COMMIT GENERATED FILES: The files generated by doc/translator.py (doc/translator_report.txt, doc/language.dox, doc/mailto.txt) are auto-generated and must never be staged, committed, or included in pull requests under any circumstances. After running doc/translator.py, always run git checkout -- doc/ or git restore doc/ to discard all changes in the doc/ directory before committing. Only src/translator_xx.h (and optionally .ts / config XML files for the other mechanisms) should appear in commits.

Finding new or changed English strings

When commits touch src/translator_en.h:

  1. Use git log --follow -p src/translator_en.h to see all changes.
  2. New methods added to TranslatorEnglish are pure virtual in Translator; they must be implemented in every language file or the build will fail.
  3. New methods are also added to TranslatorAdapter_X_Y_Z in translator_adapter.h as English fallbacks. A language translator can temporarily inherit from the new adapter; eventually it should provide a real translation.
  4. Changed method signatures (parameter lists, return types) must be reflected in all language files that override the method.
  5. Removed methods mean the corresponding overrides in language files can be deleted.
How to update a language translator
  1. Locate the file: src/translator_xx.h
  2. Check the base class: If the class inherits from TranslatorAdapter_X_Y_Z, all methods listed in that adapter (and newer adapters) are missing and fall back to English.
  3. Add missing methods: Copy the method signature from TranslatorEnglish and provide a translation. Use and copy the inline comments in translator_en.h to understand the context.
  4. Change the base class: Once all methods are implemented, change the base class from TranslatorAdapter_X_Y_Z to Translator directly.
  5. Update the adapter: If a new adapter class was added to translator_adapter.h for the current release, it must include the English fallback for each new method.

Run the following script from the root of the repo to check for build errors:

bash
bash .github/skills/translation/compile_language.sh
Quality guidelines for translator classes
  • Use domain-appropriate software-development terminology, not generic dictionary translations. For example, "class", "namespace", "template", "typedef", "enum" are technical terms often left in their English form or translated according to the established convention in the target language.
  • Use correct accents, diacritics, and ligatures for the target language (e.g., German umlauts ä/ö/ü/ß, French accents é/è/ê/ë, etc.). Encode the file as UTF-8.
  • Check that plural forms are grammatically correct; many methods have boolean parameters to select singular vs. plural.
  • Check that sentences with embedded variable content (parameter substitution via QCString concatenation or format arguments) remain grammatically correct for all cases.
  • Some methods vary their output based on config booleans such as OPTIMIZE_OUTPUT_FOR_C, OPTIMIZE_OUTPUT_VHDL, OPTIMIZE_OUTPUT_SLICE. Translate all branches.
  • Keep formatting identical to translator_en.h (same indentation, same brace style).
  • Add a comment at the top of the file with your name, date, and a brief changelog entry for the update.
Adding a brand-new language
  1. Copy src/translator_en.h to src/translator_xx.h.
  2. Rename the class from TranslatorEnglish to TranslatorYourLanguage.
  3. Change idLanguage() to return the language name in lowercase English (e.g., "portuguese").
  4. Change trISOLang() to return the BCP 47 / ISO language tag (e.g., "pt-PT").
  5. Change getLanguageString() to return the correct HTML-help language code.
  6. Translate all return values.
  7. Include the new file in src/language.cpp and add a case entry in setTranslator().
  8. Add an entry in doc/maintainers.txt with your name and e-mail.

Mechanism 2 — Doxywizard Qt Translations (addon/doxywizard/i18n/doxywizard_xx.ts)

How it works

Doxywizard uses Qt's internationalization framework. All user-visible strings in the Doxywizard GUI are wrapped with tr() calls in the C++ source. The Qt Linguist tool extracts these strings into .ts (Translation Source) XML files. At build time the .ts files are compiled into binary .qm files and embedded in the application resources.

Supported languages and their files:

LanguageFile
Germanaddon/doxywizard/i18n/doxywizard_de.ts
Spanishaddon/doxywizard/i18n/doxywizard_es.ts
Frenchaddon/doxywizard/i18n/doxywizard_fr.ts
Japaneseaddon/doxywizard/i18n/doxywizard_ja.ts
Koreanaddon/doxywizard/i18n/doxywizard_ko.ts
Russianaddon/doxywizard/i18n/doxywizard_ru.ts
Simplified Chineseaddon/doxywizard/i18n/doxywizard_zh_CN.ts
Traditional Chineseaddon/doxywizard/i18n/doxywizard_zh_TW.ts
Translation file format

Each .ts file is XML with this structure:

xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
    <name>MainWindow</name>
    <message>
        <source>Original English text</source>
        <translation>Translated text</translation>
    </message>
    ...
</context>
</TS>

Translation contexts and their source files:

ContextSource filePurpose
MainWindowdoxywizard.cppMain wizard interface
Expertexpert.cppExpert mode interface and dynamic content
Messagesdoxywizard.cppTopic names and format labels
Wizardwizard.cppWizard step labels
Step1–Step4wizard.cppStep dialog labels
TuneColorDialogwizard.cppColor tuning dialog
InputStringinputstring.cppString input control
InputStrListinputstrlist.cppString list input control
HelpLabelhelplabel.hLabel with context menu
Identifying new or changed GUI strings

When commits touch any of the Doxywizard .cpp or .h source files, check whether new tr("...") calls have been added or existing ones have changed.

A quick way to scan for changes to translatable strings between two commits:

bash
git log commit1..commit2 --follow -p addon/doxywizard | grep '^[+-].*\btr("'

New or changed tr() calls require updates to every .ts file.

Updating a .ts file

Edit the file directly in any text editor or use Qt Linguist:

  1. New string: Add a <message> block inside the appropriate <context> with the <source> text matching exactly what the C++ code passes to tr(), and provide a <translation>.
  2. Changed source string: Find the existing <message> by its old <source> text, update <source> to the new English text, and update <translation> accordingly.
  3. Removed string: Delete the entire <message> block.
  4. Unfinished translation: Qt marks untranslated strings with type="unfinished" on the <translation> element. Remove this attribute once the translation is complete.
Quality guidelines for .ts files
  • Preserve placeholders: If the source contains %1, %2, … positional markers, they must appear in the translation (order may differ if the target language requires it).
  • Escape XML special characters: Use &lt; for <, &gt; for >, &amp; for &, &apos; for ', &quot; for ".
  • Escape HTML tags: Inside .ts files, HTML tags embedded in strings must also be escaped: write &lt;code&gt; instead of <code>.
  • GUI terminology: Use the established software localisation conventions for the target language, e.g. the official Qt or KDE glossary for German or French. Menu items, button labels, and dialog titles follow platform conventions.
  • Consistent terminology: Use the same translation for the same English term throughout the file and across different .ts files for the same language.
  • File encoding: Files must be UTF-8.
Show full SKILL.md (884 more words)Show less
Adding a new language to Doxywizard
  1. Copy an existing .ts file (e.g., doxywizard_de.ts) to doxywizard_xx.ts.
  2. Change the language attribute in the <TS> root element to the BCP 47 tag (e.g., pt).
  3. Translate all <translation> strings.
  4. Verify that the CMake build picks up the new .ts file (it typically uses a glob; check addon/doxywizard/CMakeLists.txt).

Mechanism 3 — Config Option Translations (src/i18n/config_xx.xml)

How it works

The configuration options shown in the Doxywizard Expert tab come from src/config.xml. Each option has a <docs> or <desc> element with an English description. For non-English Doxywizard sessions, a language-specific src/i18n/config_xx.xml file provides translated <docs> or <desc> elements. The file mirrors the structure of config.xml but contains only the translated documentation text for each option. Note that when an option in config.xml has multiple <docs> tags only the ones where the doxywizard attribute is absent or set to 1 need to translated. Also <docs> elements for a single option are combined in the translation into a single <docs> element.

Supported languages and their files:

LanguageFile
Germansrc/i18n/config_de.xml
Spanishsrc/i18n/config_es.xml
Frenchsrc/i18n/config_fr.xml
Japanesesrc/i18n/config_ja.xml
Koreansrc/i18n/config_ko.xml
Russiansrc/i18n/config_ru.xml
Simplified Chinesesrc/i18n/config_zh_CN.xml
Traditional Chinesesrc/i18n/config_zh_TW.xml
Identifying changes to config.xml

When a commit touches src/config.xml, options may have been added, removed, or their documentation may have changed. Use the built-in sync tool to find differences:

Report mode (read-only, shows what is out of sync):

bash
cd src
python3 configgen.py -sync config.xml i18n

Auto-sync mode (automatically adds missing options with English text, removes obsolete ones):

bash
cd src
python3 configgen.py -sync config.xml i18n --auto

After auto-sync, newly added options will have their English <docs> text copied verbatim — these must then be translated manually.

Config XML file format
xml
<?xml version="1.0" encoding="utf-8"?>
<doxygenconfig lang="Deutsch">
  <group name="Project" trname="Translated group name"
         docs="Translated group description">
    <option type="string" id="OPTION_NAME" ...>
      <docs>
<![CDATA[Translated documentation for this option. Use \c for code spans.]]>
      </docs>
    </option>
    ...
  </group>
</doxygenconfig>

Key points:

  • The lang attribute on <doxygenconfig> is the human-readable language name in that language (e.g., "Deutsch" for German, "Français" for French).
  • Each <group> has a trname (translated group name) and a docs attribute (translated group description).
  • Each <option> element must carry the same id as in config.xml.
  • The <docs> content uses CDATA sections. Doxygen markup such as \c, \note, and HTML entities are supported inside <docs>.
  • Enum <value> child elements under an <option> may have a trname attribute for a translated value label; if omitted the English name is used.
  • Do not include obsolete options (options that exist in a translated file but not in config.xml); the sync tool will flag and remove these.
Quality guidelines for config XML files
  • Translate the meaning of each option accurately. Configuration option descriptions are technical; use proper software-development terminology.
  • Preserve all \c, \note, \deprecated, and similar Doxygen markers exactly.
  • Preserve HTML entity references (&lt;, &gt;, &amp;) and hyperlinks.
  • Keep the description concise but complete — Doxywizard displays these directly to the user.
  • Use correct typographic conventions for the target language (quotation marks, spacing before punctuation, etc.).
  • Files must be UTF-8 encoded.

Monitoring Commits for Translation-Impacting Changes

When reviewing commits to the repository, check the following files and act accordingly:

Changed fileTranslation work required
src/translator_en.hUpdate all src/translator_xx.h files
src/translator_adapter.hReview: new adapter = new methods needed in all languages
src/translator.hReview: new pure virtuals = mandatory new methods in all languages
addon/doxywizard/*.cpp, *.hUpdate all addon/doxywizard/i18n/doxywizard_xx.ts files
src/config.xmlRun sync tool; translate newly added options in all src/i18n/config_xx.xml files

Useful git commands for change detection:

bash
# Show changes to the English translator since a given tag
git log <old-commit>..<new-commit> --follow -p src/translator_en.h

# Show only added/removed method lines (replace <old-commit> and <new-commit>
# with actual commit hashes, branch names, or tags, e.g. v1.9.0..HEAD)
git diff <old-commit>..<new-commit> src/translator_en.h | grep '^[+-].*QCString tr'

# Show changes to doxywizard GUI strings
git log <old-commit>..<new-commnt> --follow -p addon/doxywizard | grep '^[+-].*\btr("'

# Show changes to config.xml option documentation
git log <old-commit>..<new-commit> --follow -p src/config.xml

Quality Improvement Guidelines

When reviewing existing translations for quality:

  1. Technical terminology: Verify that software-development terms (class, namespace, struct, typedef, enum, template, interface, module, concept, etc.) follow the established convention for the target language. In many languages these English terms are kept as-is; in others (e.g., French) there are official equivalents.

  2. Accents and diacritics: Check that all diacritics are present and correct. Common mistakes include missing accents in French (é/è/ê), missing umlauts in German (ä/ö/ü/ß), and missing cedillas or tildes in Spanish/Portuguese.

  3. Grammar and plural agreement: Methods with bool singular parameters must produce grammatically correct singular and plural forms. Methods with bool first_capital must capitalise the first letter when the parameter is true.

  4. Consistency: The same English term must map to the same translated term throughout all three mechanisms for a given language.

  5. Outdated adapters: If a language translator inherits from a very old adapter (e.g., TranslatorAdapter_1_8_0), many methods fall back to English. Prioritise bringing these up to date.

  6. Encoding: All files must be UTF-8 without BOM. Do not use HTML entities like &auml; in translator .h files; use the actual UTF-8 character ä directly. Note that this is the opposite of the rule for .ts files (Mechanism 2), where XML special characters must be escaped using entities — the difference arises because .ts files are XML while .h files are plain C++ source.


Summary Workflow for Each Doxygen Release

  1. Run doc/translator.py to see which language translators are behind and which methods are missing. Translate missing methods in each affected src/translator_xx.h.

  2. Inspect src/translator_adapter.h to see if a new adapter class was added for this release. The new adapter lists all new methods — these are the ones that need translating.

  3. Run python3 src/configgen.py -sync src/config.xml src/i18n --auto to sync the localized config XML files. Translate the newly copied English <docs> in each src/i18n/config_xx.xml.

  4. Inspect commits to Doxywizard source for new or changed tr() calls. Update every addon/doxywizard/i18n/doxywizard_xx.ts accordingly.

  5. Verify no type="unfinished" attributes remain in any .ts file.

  6. Proofread the updated translations for grammar, terminology, and accents.

  7. Submit a pull request with all three sets of changes grouped together for review.

© doxygen, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .github/skills/translation of doxygen/doxygen.

  • SKILL.md
  • compile_language.sh

Open the folder on GitHubat commit d4fe2eb

Compare with similar skills

Translation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Translation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Translation this skilldoxygen/doxygen6.6k—~5.2kAutomated safety check: PassGPL-2.0
Smooth Translationopenforecast-org/smooth107—~2.2kAutomated safety check: PassLGPL-2.1
Msvc Clmohitmishra786/low-level-dev-skills253—~1.3kAutomated safety check: PassMIT
C Cpp To Lean4 TranslatorArabelaTso/Skills-4-SE253—~2.5kAutomated safety check: PassApache-2.0
Code TranslationArabelaTso/Skills-4-SE253—~3.1kAutomated safety check: PassApache-2.0
Cpp To Dafny TranslatorArabelaTso/Skills-4-SE253—~2.9kAutomated safety check: PassApache-2.0

Similar skills

  • Smooth Translation

    openforecast-org/smooth

    Port a feature from the R smooth package to the Python port, or check how an R name maps to Python.

    107 GitHub stars~2.2k tokensUpdated today
    Writing & ContentAuto-check passed
  • Msvc Cl

    mohitmishra786/low-level-dev-skills

    MSVC cl.exe and clang-cl skill for Windows C/C++ projects. An agent skill from mohitmishra786/low-level-dev-skills.

    253 GitHub stars~1.3k tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed
  • C Cpp To Lean4 Translator

    ArabelaTso/Skills-4-SE

    Translate C or C++ programs into equivalent Lean4 code, preserving program semantics and ensuring the generated code is well-typed, executable, and can run successfully.

    253 GitHub stars~2.5k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Code Translation

    ArabelaTso/Skills-4-SE

    Convert code between programming languages while preserving functionality and semantics.

    253 GitHub stars~3.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Cpp To Dafny Translator

    ArabelaTso/Skills-4-SE

    Translate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification.

    253 GitHub stars~2.9k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Translation Diff Export

    Devolutions/UniGetUI

    Compares UniGetUI JSON locale files against English, identifies untranslated or source-changed keys, and generates patch, reference, and handoff files for a target language.

    26k GitHub stars~1.1k tokensUpdated today
    Writing & ContentAuto-check passed

Works with

Questions about Translation

What does Translation do?

Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…. Translation is an agent skill from doxygen/doxygen.xml).

When should I use Translation?

Translation fits situations like: adding a language translation; improving translation quality; changed English source strings; adding a new language.

How do I install Translation in Claude Code?

Run `npx skills add doxygen/doxygen --skill translation -a claude-code`. Or copy the skill folder (.github/skills/translation in doxygen/doxygen) into .claude/skills/translation in your project. Claude Code loads it when a task matches its description.

How do I install Translation in Codex?

Run `npx skills add doxygen/doxygen --skill translation -a codex`. Or copy the skill folder (.github/skills/translation in doxygen/doxygen) into .agents/skills/translation in your project. Codex loads it when a task matches its description.

Can I use Translation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add doxygen/doxygen --skill translation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/translation, .gemini/skills/translation, .github/skills/translation and .opencode/skills/translation in your project.

What does Translation need to run?

Going by SKILL.md and its folder, Translation needs a shell for the scripts in its folder and the command-line tools its instructions call (git, python3, python and bash). Our summary lists: Python 3; A Bash shell. Compatibility (from SKILL.md): Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository. .

Does Translation access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Translation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Translation use?

Translation is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Translation use?

About 5.2k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Translation?

Skills that share tags, products or a category with Translation: Smooth Translation (openforecast-org/smooth, 107 stars), Msvc Cl (mohitmishra786/low-level-dev-skills, 253 stars), C Cpp To Lean4 Translator (ArabelaTso/Skills-4-SE, 253 stars) and Code Translation (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Translation?

doxygen (a GitHub user) maintains it in doxygen/doxygen, which has 6,589 GitHub stars. The repository was last updated on September 30, 2026.

Source: doxygen/doxygen on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.