culture-info v1.0.4
CultureInfo.js
A node-package for representing locales
General
This package allows you to easily represent locales and determining the next lesser-specific parent of a locale (en-US => en).
This key feature might be usable for creating a resource-manager or showing web-content based on a language-tag consisting of the language, the script and the region.
Creating a CultureInfo instance
You can create a CultureInfo instance by passing a language-tag to its constructor:
import { CultureInfo } from "@manuth/culture-info";
let culture = new CultureInfo("en-US");Following kinds of language-tags are supported:
- Language
Example:en - Language and region
Example:en-US - Language, script and region
Example:zh-Hans-CN
Features
Automated Casing
The casing is automatically adjusted allowing you to pass the language-tag even with incorrect letter-casing:
console.log(new CultureInfo("EN-US").Name); // Logs `"en-US"`
console.log(new CultureInfo("zH-hANs-cN").Name); // Logs `"zh-Hans-CN"`Checking whether a culture only consists of a language:
console.log(new CultureInfo("en").IsNeutralCulture); // Logs `true`
console.log(new CultureInfo("en-US").IsNeutralCulture); // Logs `false`Walking up the Locale-Graph
You might want to find out the next lesser specific locale of a specific language-tag.
This can be achieved using the Parent-property:
let culture = new CultureInfo("en-US");
console.log(culture.Name); // Logs `"en-US"`
culture = culture.Parent;
console.log(culture.Name); // Logs `"en"`
culture = culture.Parent;
console.log(culture.Name); // Logs `""` - That's the invariant cultureString Conversion
When converting a CultureInfo to a string it's automatically converted to the language-tag:
console.log(`${new CultureInfo("en-US")}`); // Logs `"en-US"`