HOME SKILLS BLOG GITHUB
// SKILL

CULTURAL LOCALIZATION
DEEP ADAPTATION

Translation gets the words right. Localization gets the content right. A US-centric blog post citing dollar amounts, baseball metaphors, and Thanksgiving examples does not work in Germany or Japan even when accurately translated. blog-localize handles the deep-adaptation layer: idioms swapped for target-culture equivalents, examples replaced with locally familiar references, currency and units converted, cultural taboos avoided. Four built-in profiles (DACH, Francophone, Hispanic, Japanese) plus YAML-defined custom profiles.

CONTRIBUTED BY CHRIS MUELLER · PRO HUB CHALLENGE · original repo
$
/blog localize <file> --locale de-DE

REQUIRES CLAUDE BLOG INSTALLED IN CLAUDE CODE

// HOW IT WORKS

FOUR LAYERS OF ADAPTATION.

Localization is the layer above translation. Translation handles the words. Localization handles the cultural surface: idioms, examples, references, currency, units, formality. Without this layer, translated content reads accurately but feels foreign, and conversion rates suffer.

blog-localize ships with four cultural profiles tuned by region. Each profile is a YAML file defining idiom swaps, example substitutions, currency rules, and formality registers. Profiles handle the work the translator alone cannot: a German reader does not relate to Thanksgiving, and translating it literally as Erntedankfest does not fix the cultural disconnect.

01
IDIOM SWAPS
US idioms ('home run', 'ballpark figure', 'monday morning quarterback') swapped for target-culture equivalents that land naturally.
02
EXAMPLE LOCALIZATION
US-centric examples (Thanksgiving, Super Bowl, July 4th) replaced with locally familiar references (Oktoberfest for DACH, Bastille Day for FR, Golden Week for JA).
03
CURRENCY + UNITS
Dollar amounts converted to local currency at current rates. Imperial units converted to metric. Fahrenheit to Celsius. Mile to kilometer. Optional flags to preserve original.
04
FORMALITY REGISTERS
Japanese profile honors formality registers (casual, polite, honorific). German profile honors Sie/du distinction. French profile honors tu/vous distinction. Per-audience configurable.
// USAGE

HOW TO RUN LOCALIZE

Command

CommandWhat it does
/blog localize <file> --locale <code>Adapts a translated file to the target culture using the matching profile

Built-in profiles

ProfileLocale codesWhat it adapts
DACHde-DE, de-AT, de-CHIdioms, Bundesliga and Oktoberfest references, EUR/CHF currency, metric units, Sie/du formality, DSGVO legal references
Francophonefr-FR, fr-CA, fr-AFRIdioms, Bastille Day and Tour de France references, EUR/CAD currency, metric units, tu/vous formality, RGPD legal references
Hispanices-ES, es-MX, es-ARIdioms, La Liga and regional holiday references, EUR/MXN/ARS currency, metric units, tu/usted formality, regional brand swaps
Japaneseja-JPIdioms, Golden Week and seasonal references, JPY currency, metric units, casual/polite/honorific registers, APPI legal references

Custom profiles

Define your own locale by adding a YAML config under skills/blog-localize/references/profiles/<your-locale>.yaml. The profile becomes available via the --locale flag immediately after the file is written. Minimal structure:

locale: pt-BR
name: Brazilian Portuguese
glossary:
  - source: "machine learning"
    target: "aprendizado de maquina"
idiom_swaps:
  - source: "ballpark figure"
    target: "ordem de grandeza"
example_substitutions:
  - source: "Thanksgiving"
    target: "Carnaval"
formality_register:
  default: informal
  b2b: formal
taboos:
  - "politically sensitive topic"

Optional flags

  • --preserve-original keeps the original currency or unit in parentheses next to the converted value
  • --units-source keeps imperial units instead of converting to metric
  • --register <casual|polite|honorific> overrides the profile default for Japanese
  • --output <path> writes to a new file instead of overwriting the input
// FAQ

QUESTIONS ABOUT LOCALIZE

Translation handles language: the words change. Localization handles culture: the content changes to land naturally with a local audience. A US blog post translated to German is still about Thanksgiving, the Super Bowl, and dollar amounts. A localized version adapts those references to Oktoberfest, Bundesliga, and euros. Translation is necessary but not sufficient for global audiences.
DACH (German-Austrian-Swiss with regional variants), Francophone (Standard French, Quebec French, African French), Hispanic (Spain Spanish, Mexican Spanish, Argentinian Spanish), and Japanese (with three formality registers: casual, polite, honorific). Each profile is a YAML config defining idiom swaps, example substitutions, formatting rules, and cultural taboos to avoid.
Yes. Create a YAML file at skills/blog-localize/references/profiles/<your-locale>.yaml. Define glossary (preferred translations for industry terms), idiom_swaps (source-to-target idiom mappings), example_substitutions (US-centric examples to target-culture replacements), formality_register (formal/informal language rules), and taboos (topics or phrases to avoid). The profile becomes available via --locale flag immediately.
Yes. Dollar amounts are converted to local currency at the current exchange rate, with the original preserved in parentheses optionally. Use --preserve-original to keep both. Imperial units convert to metric (mile to km, mile to km, Fahrenheit to Celsius, pound to kg). Add --units-source to keep the original units.
Chris Mueller via the AI Marketing Hub Pro Hub Challenge. blog-localize is one of four skills in the multilingual suite (write, translate, localize, locale-audit) plus the blog-translator agent. The suite scored 85/100 Proficient. Original at github.com/Chriss54/claude-blog-multilingual.
// RELATED SKILLS

EXPLORE MORE

VIEW ALL 28 SKILLS →

LOCALIZE FOR EVERY MARKET
IN ONE COMMAND.

$
git clone --depth 1 https://github.com/AgriciDaniel/claude-blog.git && bash claude-blog/install.sh
VIEW ON GITHUB ALL SKILLS >