kalahari-i18n

Extract translatable strings from C++ source using xgettext.

Updated Oct 25, 2025
One-click install
npx skills add https://github.com/bartoszwarzocha/kalahari --skill kalahari-i18n
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kalahari-i18n
Source: https://github.com/bartoszwarzocha/kalahari/tree/main/.claude/skills/kalahari-i18n
Command: npx skills add https://github.com/bartoszwarzocha/kalahari --skill kalahari-i18n

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Implementing robust internationalization (i18n) and localization (l10n) can be complex, error-prone, and time-consuming, especially with plural forms and context-specific translations. This Skill streamlines the entire process, from marking strings to generating and compiling translation files, ensuring your application speaks every user's language flawlessly.

Core Features & Use Cases

  • Automated String Marking: Correctly identify and mark user-facing strings for translation using _() and wxPLURAL(), preventing missed translations.
  • Translation Workflow Management: Guide through extracting, updating, and compiling .po and .mo files using xgettext and msgfmt for a smooth localization pipeline.
  • Multi-language Support: Implement runtime language switching and handle complex pluralization rules for diverse languages, ensuring a natural user experience worldwide.
  • Use Case: Expand Kalahari's reach by adding support for a new language (e.g., German), ensuring all UI elements, messages, and plugin texts are correctly translated and displayed without manual intervention, saving countless hours of manual translation management.

Quick Start

Example: Extracting translatable strings from C++ source

xgettext --keyword=_
--keyword=wxPLURAL:1,2
--language=C++
--from-code=UTF-8
--output=kalahari.pot
src//*.cpp src//*.h