Skip to content

[BREAKING] Default to CurrentCulture, add culture parameter to FormatMessage, upgrade to .NET 10#54

Merged
jeffijoe merged 6 commits intomasterfrom
feat/cultureinfo
Feb 23, 2026
Merged

[BREAKING] Default to CurrentCulture, add culture parameter to FormatMessage, upgrade to .NET 10#54
jeffijoe merged 6 commits intomasterfrom
feat/cultureinfo

Conversation

@jeffijoe
Copy link
Owner

This PR changes the default culture to CurrentCulture, adds a CultureInfo? culture = null parameter to FormatMessage, and upgrades the build targeting to net10, dropping net6. Also migrated from Source Generator to Incremental Generator API for the plural rules generator, as well as updated packages.

These are all breaking changes.

Closes #41

@jeffijoe jeffijoe force-pushed the feat/cultureinfo branch 2 times, most recently from ac11a87 to 4993bd2 Compare February 21, 2026 18:16
@jeffijoe
Copy link
Owner Author

@glen-84 @NightOwl888 It took a few years but we did it! Please take a look, let me know if there's anything we should change.

@sfuqua, as a recent contributor who did some fantastic work and has familiarized yourself with the code, I would love it if you would take a look as well.

Copy link
Contributor

@sfuqua sfuqua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm overall! I'm on the fence about the CultureInfo vs string comment I left - I see some real value in exposing a way to call FormatMessage() with either ` string or a parsed Culture and it'd provide an escape hatch for inconsistencies between the Framework the CLDR data shipped with the package, if you can stomach having IFormatter needing to support it as well.

@jeffijoe jeffijoe merged commit b656069 into master Feb 23, 2026
1 check passed
@jeffijoe jeffijoe deleted the feat/cultureinfo branch February 23, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support InvariantGlobalization / default to InvariantCulture

2 participants