Enbrea.Bcp47 0.1.0

dotnet add package Enbrea.Bcp47 --version 0.1.0
                    
NuGet\Install-Package Enbrea.Bcp47 -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Enbrea.Bcp47" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Enbrea.Bcp47" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Enbrea.Bcp47" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Enbrea.Bcp47 --version 0.1.0
                    
#r "nuget: Enbrea.Bcp47, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Enbrea.Bcp47@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Enbrea.Bcp47&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Enbrea.Bcp47&version=0.1.0
                    
Install as a Cake Tool

NuGet Enbrea.Bcp47 NuGet Enbrea.Bcp47.Iana GitHub

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.Bcp47 provides registry-independent parsing, structural validation, normalization, language-tag construction, and language-range matching based on RFC 5646 and RFC 4647.
  • Enbrea.Bcp47.Iana extends 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 Parse and TryParse APIs for language tags and language ranges.
  • Provides a fluent LanguageTagBuilder for 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 LanguageTag instances.
  • 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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