Add support for Fluent message attributes#34
Merged
LilyFirefly merged 1 commit intokraken-tech:mainfrom Oct 24, 2025
kevin-hua-kraken:attribute-access
Merged
Add support for Fluent message attributes#34LilyFirefly merged 1 commit intokraken-tech:mainfrom kevin-hua-kraken:attribute-access
LilyFirefly merged 1 commit intokraken-tech:mainfrom
kevin-hua-kraken:attribute-access
Conversation
Contributor
Author
|
Unrelated, but one of the precommit hooks errounously removes the trailling whitespace here: this breaks the test |
LilyFirefly
approved these changes
Oct 23, 2025
Contributor
LilyFirefly
left a comment
There was a problem hiding this comment.
LGTM overall!
I have a few small suggestions and a question:
Previously, Django templates couldn't access Fluent message attributes.
For example, `{% translation 'welcome-message.title' %}` would look for
a message with ID "welcome-message.title" instead of the "title"
attribute on the "welcome-message" message, causing a lookup failure.
Now, `get_translation()` detects dot notation and correctly resolves
attributes, enabling Django templates to access multiple text variations
on a single message (e.g., placeholders, aria-labels, tooltips).
LilyFirefly
approved these changes
Oct 24, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes an issue where Django templates using
{% translation 'message.attribute' %}would incorrectly look for a message ID containing a literal dot, rather than accessing the attribute on the message.For example, with this FTL:
welcome-message = Welcome! .title = Welcome to our sitePreviously
{% translation 'welcome-message.title' %}would fail to find a message with ID "welcome-message.title".Now it correctly splits on the dot and retrieves the
titleattribute from thewelcome-messagemessage.Implementation: Splits identifier on first dot using
splitn(2, '.')and uses fluent-rs's nativeMessage.get_attribute()API. Fully backward compatible with existing message lookups.See Fluent attributes documentation for more on attributes.