Enbrea.Bcp47
0.1.0
dotnet add package Enbrea.Bcp47 --version 0.1.0
NuGet\Install-Package Enbrea.Bcp47 -Version 0.1.0
<PackageReference Include="Enbrea.Bcp47" Version="0.1.0" />
<PackageVersion Include="Enbrea.Bcp47" Version="0.1.0" />
<PackageReference Include="Enbrea.Bcp47" />
paket add Enbrea.Bcp47 --version 0.1.0
#r "nuget: Enbrea.Bcp47, 0.1.0"
#:package Enbrea.Bcp47@0.1.0
#addin nuget:?package=Enbrea.Bcp47&version=0.1.0
#tool nuget:?package=Enbrea.Bcp47&version=0.1.0
Enbrea.Bcp47
A .NET implementation of IETF BCP 47 for parsing, validating, inspecting, normalizing, and matching language tags and language ranges.
This repository contains two packages:
Enbrea.Bcp47provides registry-independent parsing, structural validation, normalization, language-tag construction, and language-range matching based on RFC 5646 and RFC 4647.Enbrea.Bcp47.Ianaextends the core library with validation and metadata based on a bundled snapshot of the IANA Language Subtag Registry.
Enbrea.Bcp47
The core package provides BCP 47 functionality without requiring registry data.
- Supports
.NET 10,.NET 9, and.NET 8. - Implements the language tag grammar defined by RFC 5646.
- Implements language ranges and matching as defined by RFC 4647.
- Parses language tags into strongly typed components.
- Supports primary language, extended-language, script, region, and variant subtags.
- Supports extensions and private-use subtags.
- Supports grandfathered language tags.
- Provides
ParseandTryParseAPIs for language tags and language ranges. - Provides a fluent
LanguageTagBuilderfor constructing language tags. - Performs registry-independent structural validation.
- Provides normalization of language tags and language ranges.
- Supports Basic Filtering, Extended Filtering, and Lookup.
- Has zero external dependencies.
Enbrea.Bcp47.Iana
The optional IANA package adds registry-aware functionality based on the IANA Language Subtag Registry.
- Depends on
Enbrea.Bcp47. - Contains a bundled snapshot of the IANA Language Subtag Registry.
- Validates language, extended-language, script, region, and variant subtags against the registry.
- Supports grandfathered and redundant language tags registered by IANA.
- Provides access to registry metadata such as deprecated subtags, preferred values, suppress-script values, macrolanguages, and prefixes.
- Provides registry-aware validation through
IanaLanguageTagValidator. - Provides convenient extension methods for parsed
LanguageTaginstances. - Requires no network access at runtime.
Installation
Install the core package:
dotnet add package Enbrea.Bcp47
For registry-aware validation and access to IANA registry metadata, install the IANA package:
dotnet add package Enbrea.Bcp47.Iana
Enbrea.Bcp47.Iana depends on Enbrea.Bcp47, so installing the IANA package automatically includes the core package.
Getting started
Documentation is available in the GitHub wiki.
Can I help?
Yes, that would be much appreciated. The best way to help is to post a response via the Issue Tracker and/or submit a Pull Request.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Enbrea.Bcp47:
| Package | Downloads |
|---|---|
|
Enbrea.Bcp47.Iana
IANA Language Subtag Registry support for Enbrea.Bcp47. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 167 | 9/1/2026 |