@lingo.dev/compiler@0.4.12

edwko/OuteTTS@lingo.dev/compiler@0.4.12Aug 20, 2026by github-actions[bot]

AI Summary

Adds translation support for JSX passed to components as attributes, automatically creating new translation entries for previously untranslated strings.

Key Highlights

  • Translates JSX passed through component attributes (e.g., `actions`, `renderItem`)
  • Handles translatable attributes inside elements (e.g., `alt` on images)
  • Treats function callbacks as callbacks rather than components

New Features

  • Translate JSX passed through component attributes

Full Release Notes

### Patch Changes

- [#2196](https://github.com/lingodotdev/lingo.dev/pull/2196) [`86dc87f`](https://github.com/lingodotdev/lingo.dev/commit/86dc87f042cbb6a5db53bb227cc0ba6e408bb0d7) Thanks [@cherkanovart](https://github.com/cherkanovart)! - Translate JSX handed to a component through an attribute, such as `actions={<span>Text</span>}` or `renderItem={() => <span>Text</span>}`.

  Strings that were silently untranslated become new translation entries, so translation volume can jump on the next build. Translatable attributes inside prop JSX, such as `alt` on an `<img>`, are picked up too. A function handed to a prop is treated as the callback it is rather than as a component, so its strings are registered against the enclosing component instead of receiving a translation hook of their own.

  Still not covered: JSX in a prop of an element that is itself folded into an ancestor's rich text.