What in the world is en-US-sandiego?
Carmen.js is, in a nutshell, a RFC-4646 & RFC-5646 parser. In other words, Carmen will parse strings like "en-US-sandiego" and tell you that it refers to the english language, in the United States, specifically, the variant spoken in San Diego.
npm install @kmdavis/carmen
import carmen from "@kmdavis/carmen";
carmen("en-US");
will return
{
text: "en-US",
language: "en",
region: "US",
}
and
carmen("sl-Latn-IT-nedis");
will return
{
text: "sl-Latn-IT-nedis",
language: "sl",
script: "Latn'"
region: "IT",
variants: ["nedis"],
}
The full list of fields that Carmen can return is:
{
text: String,
language: String,
extlangs: [String],
script: String,
region: String,
variants: [String],
extensions: Object,
private: [String],
grandfather: String
}
Please note that the "text" field is Not the original string that is passed in. This string is reconstructed from the parsed values; as such, any minor formatting errors (such as the common Internet Exploder bug where en-US becomes en_US) will be normalized.
npm install
npm test
- 0.1.0
- Initial public release
- 0.2.0
- Rewrite using modern javascript
- 0.2.1
- Readding keywords
- 0.2.2
- Switching to webpack
Kevan Davis kevan.davis@me.com
Distributed under the MIT license.
https://github.com/kmdavis/carmen
- Fork it (https://github.com/kmdavis/carmen/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request