fluent-syntax-selectors

Implement Fluent select expressions for CLDR plural rules and nested variants.

1|Updated Mar 19, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/Fluent-i18n-Claude-Skill-Package --skill fluent-syntax-selectors
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fluent-syntax-selectors
Source: https://github.com/OpenAEC-Foundation/Fluent-i18n-Claude-Skill-Package/tree/main/skills/source/fluent-syntax/fluent-syntax-selectors
Command: npx skills add https://github.com/OpenAEC-Foundation/Fluent-i18n-Claude-Skill-Package --skill fluent-syntax-selectors

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Fluent select expressions are essential for routing translations by runtime values, CLDR plural rules, and language-specific variants, ensuring correct forms and reliable fallbacks across locales.

Core Features & Use Cases

  • Supports cardinal and ordinal plurals, exact numeric matches, string selectors, and nested selectors.
  • Allows CLDR category matching and exact numeric keys to drive Fluent FTL translations in multi-language apps.
  • Handles nested selects and term-attributes as selectors to model complex localization logic.

Quick Start

Create a Fluent select expression that chooses a translation variant based on a numeric count and includes a mandatory default variant.

Frequently Asked Questions about fluent-syntax-selectors

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

FAQPage Schema
How do I implement Fluent select expressions for plural forms in FTL files?

Fluent select expressions route translations by runtime values and CLDR plural rules, ensuring correct plural forms across locales. You create a select expression in FTL that chooses a translation variant based on a numeric count and includes a mandatory default variant for reliable fallbacks.

What is the difference between cardinal and ordinal plurals in Fluent localization?

Cardinal plurals in Fluent handle standard counting quantities like one or many, while ordinal plurals handle positional forms like first or third. Both use CLDR rules to match numeric selectors, ensuring correct language-specific forms are selected for the appropriate context.

How do I create nested selectors in Fluent for complex translation logic?

Nested selectors in Fluent allow modeling complex localization logic by placing select expressions inside other variants. This handles scenarios where multiple runtime values or CLDR categories simultaneously drive the final translation output across different languages.

Can I use exact numeric matches and string selectors together in Fluent FTL?

Yes, Fluent FTL supports combining exact numeric matches and string selectors within the same select expression. This enables precise routing for language-aware translations by matching both specific numbers and arbitrary string values to dedicated variants.

Why does my Fluent select expression require a default variant?

Fluent enforces a single default variant to ensure reliable fallbacks across locales when no specific selector or CLDR category matches. This mandatory default prevents missing translation errors and guarantees language-aware output even without exact runtime value matches.

How do term-attribute selectors work in Fluent grammar for i18n?

Term-attribute selectors in Fluent grammar use attributes from defined terms as the selector value within a select expression. This allows routing translations by dynamic attributes, integrating complex localization logic and CLDR rules directly into multi-language app definitions.