language 0.2.2

Typed BCP47 language tags with built-in names, plural metadata, and conversion helpers.
Documentation
[package]
authors     = ["Xavier Lau <x@acg.box>"]
categories  = ["internationalization", "parsing"]
description = "Typed BCP47 language tags with built-in names, plural metadata, and conversion helpers."
edition     = "2024"
homepage    = "https://hack.ink/language"
keywords    = ["bcp47", "i18n", "language", "language-tag", "locale"]
license     = "GPL-3.0"
name        = "language"
readme      = "README.md"
repository  = "https://github.com/hack-ink/language"
resolver    = "3"
version     = "0.2.2"

[package.metadata.docs.rs]
all-features = true

[[bin]]
name = "language"
path = "src/main.rs"
required-features = ["codegen"]

[profile.ci-dev]
incremental = false
inherits    = "dev"

[profile.ci-release]
inherits = "release"
lto      = true

[features]
codegen = [
	# crates.io
	"scraper",
]
icu_locale_core = [
	# crates.io
	"dep:icu_locale_core",
	"thiserror",
]
sqlx-mysql = [
	# crates.io
	"sqlx/mysql",
	"thiserror",
]
sqlx-postgres = [
	# crates.io
	"sqlx/postgres",
	"thiserror",
]
sqlx-sqlite = [
	# crates.io
	"sqlx/sqlite",
	"thiserror",
]
whatlang = [
	# crates.io
	"dep:whatlang",
	"thiserror",
]

[dependencies]
# crates.io
icu_locale_core = { version = "2.1", optional = true, features = ["alloc"] }
serde           = { version = "1.0", optional = true, features = ["derive"] }
scraper         = { version = "0.25", optional = true }
sqlx            = { version = "0.7", optional = true, default-features = false }
thiserror       = { version = "2.0", optional = true }
whatlang        = { version = "0.18", optional = true }

[dev-dependencies]
# crates.io
serde_json = { version = "1.0" }