fvtt-localization

Implement i18n localization for Foundry VTT modules and systems.

1|Updated Jan 4, 2026
One-click install
npx skills add https://github.com/ImproperSubset/hh-agentics --skill fvtt-localization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fvtt-localization
Source: https://github.com/ImproperSubset/hh-agentics/tree/main/fvtt-dev/skills/fvtt-localization
Command: npx skills add https://github.com/ImproperSubset/hh-agentics --skill fvtt-localization

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides clear guidelines and patterns to implement internationalization for Foundry VTT modules and systems, reducing translation toil and UI inconsistencies.

Core Features & Use Cases

  • Establishes language file structure and naming conventions to support multilingual UIs.
  • Demonstrates how to use game.i18n.localize and game.i18n.format in modules, templates, and dialogs.
  • Covers pluralization, namespace conventions, and integration with manifest entries for seamless localization.

Quick Start

Create a language file at lang/en.json with keys like "MODULE.Title" and "MODULE.Label" and use game.i18n.localize("MODULE.Title") to render translations in UI components.

Frequently Asked Questions about fvtt-localization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement localization in Foundry VTT modules?

Foundry VTT localization is implemented by creating language files like lang/en.json with namespace keys and calling game.i18n.localize or game.i18n.format in your module code. You integrate these string keys into Handlebars templates and the module manifest to render multilingual UIs.

What is the best way to structure Foundry VTT i18n language files?

The best way to structure Foundry VTT i18n language files is using JSON files with hierarchical namespace conventions. You define keys like MODULE.Title and MODULE.Label in lang/en.json, ensuring consistent string key naming and integration with the module manifest for seamless translation loading.

Does Foundry VTT support pluralization with game.i18n?

Yes, Foundry VTT supports pluralization through the game.i18n API. You use game.i18n.format with specific localization patterns in your language files to handle plural forms, ensuring your module or system UI correctly displays singular and plural strings across different languages.

How do I apply i18n to Handlebars templates in Foundry VTT?

To apply i18n to Handlebars templates in Foundry VTT, you use template localization patterns to bind language file string keys directly within the template HTML. This approach ensures that common UI elements and dialogs automatically render translations without requiring manual string replacement in the JavaScript logic.

When do I need to use game.i18n.localize versus game.i18n.format?

You use game.i18n.localize when you need to fetch a simple translated string by its key, and game.i18n.format when you need to inject dynamic variables or handle pluralization within the translated string. Both methods pull from your defined language files to populate UI text.