Fluent-react-utils

Hey there!
Wanted to share that I created a couple of packages to make working with fluent and react easier. Both packages are in https://github.com/udacity/fluent-react-utils and are currently at their very beginning stages.

fluent-react-extract

This will parse your react source code and pull out l10n IDs and messages (and comments!) and compile everything it finds into an ftl file for you.

fluent-react-components

This one allows for custom Localized components to make reading and writing fluent-react source code more succinct. (It also pairs closely with fluent-react-extract)

I’d love to hear some feedback about these packages. As I said, they are still very much in their infancy, so anything that jumps out as a change we should consider, feel free to file an issue.

3 Likes

Thanks for sharing these, @heidi! Both of these packages are great additions to fluent-react. To me, extraction is a game changer when it comes to the localization workflow and I think it’s how fluent-react will be used in the future. I can’t wait to try fluent-react-extract out!

I’m also excited about fluent-react-components. I know you wanted to improve the ergonomics of using <Localized> for a while now and I’m happy to see that fluent-react's design lends itself well to such improvements. I’m looking forward to seeing more packages which extend the features of fluent-react while the core package stays small, low-level and agnostic.

One more thing. What’s your experience using Lerna for the monorepo management? We’re looking into using it for the fluent.js repo, too: https://github.com/projectfluent/fluent.js/issues/275. I haven’t had a chance to use it yet. Would you recommend it?

Thanks for the feedback!

Re: Lerna - I don’t personally have a lot of experience with publishing my own packages, and Lerna was really easy to get on board with. I think that speaks a lot to it’s quality in terms of developer experience, at least bootstrapping everything. The one part that has caused friction for me is publishing a release when you have 2fa on your npm creds - it’s probably something I just haven’t read the docs on yet. Otherwise I recommend trying it out if you’re not happy with your current system.

1 Like