Skip to main content
Fluent files describe messages, attributes, and selection patterns for localized interfaces. Hyperlocalise supports a subset of Fluent: message and attribute values are supported, while term definitions and references are rejected. Supported extensions: .ftl.

Source file

Save this example as locales/en-US/messages.ftl.

Configure your files

Use this i18n.yml for the example, or add its file mapping to your existing bucket. See path templates for other layouts.

Translate

Install the CLI and set OPENAI_API_KEY in your project’s .env.local or shell. You can also configure another AI provider.
The dry run previews the work. The second command writes translations to the configured target path and updates the lockfile.

Behavior and limitations

  • Message IDs become keys; attributes become dotted keys such as login.title.
  • Multiline messages and select/plural patterns remain one value per message or attribute.
  • Comments, blank lines, and ordering are preserved in the selected template. Missing top-level messages are appended in sorted order.
  • Term definitions such as -brand and term references are unsupported and rejected. New attributes cannot be appended to a parent already present in the template.

Next steps