@volvo-cars/market-sites
![@volvo-cars/market-sites](https://badgen.net/bundlephobia/minzip/@volvo-cars/market-sites)
A package providing regional and market localization data for market sites on
volvocars.com, stored in a size efficient format.
It is meant to complement the Intl API and should only contain data that changes very rarely such as country names, measurement systems, etc. Some of this data is on it's way to be built in to browsers with Intl.Locale and unit preferences.
It will not provide configuration values or application specific data.
Usage
getMarketSite(siteSlug: string): MarketSite
siteSlug
- A site slug, a URL friendly identifier of the market site (the first part of the pathname on www.volvocars.com).
- The full pathname, e.g.
location.pathname
If a site could not be found, a MarketSite
with English defaults are given.
Examples
import { getMarketSite } from '@volvo-cars/market-sites';
const us = getMarketSite('us');
const intl = getMarketSite('/intl/cars/xc90');
const arabicBaharain = getMarketSite('ar-bh');
const englishBahrain = getMarketSite('en-bh');
const missingSite = getMarketSite('foo');
getMarketSiteByRegionAndLanguage(regionCode: string, languageCode: string): MarketSite
Given the region and language, returns a Market Site.
regionCode
languageCode
Examples
import { getMarketSiteByRegionAndLanguage } from '@volvo-cars/market-sites';
getMarketSiteByRegionAndLanguage('CH', 'it');
getMarketSitesByRegion(regionCode: string): MarketSite[]
Returns an array of all available sites for a given market/region.
regionCode
Examples
const swissSites = getMarketSitesByRegion('CH');
getAllMarketSites(): MarketSite[]
Returns an array of all available market sites.
validateSiteSlug(siteSlug?: string): void
Throws an error if siteSlug is not a valid market site slug.
isValidSiteSlug(siteSlug?: string): boolean
Returns true/false if siteSlug is a valid site slug.
MarketSite
class MarketSite {
href: string;
htmlLanguage: string;
languageName: string;
localizedLanguageName: string;
languageDirection: 'ltr' | 'rtl';
languageCode: string;
locale: string;
siteSlug: string | undefined;
marketName: string | undefined;
regionCode: string | undefined;
multilingual: boolean | undefined;
roadLengthUnit: 'mile' | 'kilometer';
}