Érjen el szélesebb közönséget azáltal, hogy tartalmait bármilyen nyelvre vagy területre szabja az Intl API-val.
Az Intl API leegyszerűsíti a nemzetköziesített szövegek, számok, dátumok és pénznemek formázását és kezelését. Lehetővé teszi a különböző adatformátumok kezelését a területi beállítások szerint.
Ez az API megoldja az adatok formázásának kihívását a különböző kultúrákhoz és nyelvekhez. Ez megkönnyíti a számok formázását a megfelelő pénznem szimbólummal vagy dátumokkal, az adott régióhoz tartozó dátumformátum használatával.
Az Intl API segítségével olyan webalkalmazásokat hozhat létre, amelyek elérhetőek és könnyen használhatók a különböző régiók és kultúrák közönsége számára.
Felhasználói nyelv beszerzése
A JavaScript konstruktorok Az Intl API által biztosított területi beállítás azonosítja a dátum, szöveg, szám stb. formázásához használt területet, egy ismert mintát követve. Minden konstruktor egy locale és egy lehetőségek objektum érvként. Ezekkel az argumentumokkal a konstruktor a kért területi beállításokat az általa jelenleg támogatott területi beállításokkal egyezteti.
A felhasználó területi beállításához használhatja a navigátor.nyelv ingatlan. Ez a tulajdonság a böngésző nyelvi verzióját képviselő karakterláncot ad vissza.
Az értéke a navigátor.nyelv A tulajdonság egy BCP 47 nyelvi címke, amely egy nyelvi kódból és opcionálisan egy régiókódból és egyéb alcímkékből áll. Például az „en-US” az Egyesült Államokban beszélt angol nyelvet jelöli.
Használhatja a navigátor.nyelvek tulajdonság, hogy megkapja a felhasználó által preferált nyelvek tömbjét, prioritás szerint rendezve. A tömb első eleme a felhasználó elsődleges nyelvi preferenciáját jelenti.
Miután megszerezte a felhasználó nyelvi beállítását, testreszabhatja az alkalmazás dátumok, időpontok, számok és pénznemek megjelenítését a Intl API.
Létrehozhat egy egyszerű JavaScript függvény hogy segítsen megtalálni a felhasználó területi beállításait. Íme egy kódrészlet, amely segíthet:
const getUserLocale = () => {
ha (navigator.languages && navigator.languages.length) {
Visszatérés navigator.languages[0];
}
Visszatérés navigator.language;
};
konzol.log (getUserLocale());
Ez getUserLocale függvény visszaadja a navigator.languages tulajdonság első elemét, ha az elérhető. Ellenkező esetben visszakerül a navigator.language tulajdonsághoz, amely a felhasználó által preferált nyelvet képviseli a régebbi böngészőkben.
Dátumok formázása különböző nyelvekhez
A dátumok formázásához a Intl API, használhatja a Intl. DateTimeFormat() konstruktőr. Ez a konstruktor két argumentumot vesz fel: egy területi karakterláncot és egy opciós objektumot.
A beállítások objektum tartalmazhat tulajdonságokat, amelyek szabályozzák a dátum formázását.
A leggyakrabban használt opciók közé tartozik:
- hétköznap: Ez az opció a hét napjának formátumát adja meg. Bármelyikre beállíthatja hosszú (Péntek), rövid (Péntek), ill keskeny (F).
- év: Ez az opció az év formátumát határozza meg. Bármelyikre beállíthatja numerikus (2023) ill 2 számjegyű (23).
- hónap: Ez az opció a hónap formátumát adja meg. Bármelyikre beállíthatja numerikus (3), 2 számjegyű (03), hosszú (Március), rövid (március), ill keskeny (M).
- nap: Ez az opció a nap formátumát határozza meg. Bármelyikre beállíthatja numerikus (2) vagy 2 számjegyű (02).
Íme egy példa, amely bemutatja, hogyan kell formázni egy dátumot a Intl. DateTimeFormat() konstruktőr:
const dátum = Dátum.Most()
const locale = getUserLocale();const opciók = {
hétköznap: "hosszú",
év: "numerikus",
hónap: "hosszú",
nap: "numerikus",
};const formázó = újIntl.DateTimeFormat (helyszín, beállítások);
// hétköznap, hónap dátuma, év (2023. március 24., péntek)
konzol.log (formatter.format (dátum));
Ez a kód beállít egy formázó objektumot a felhasználó területi beállításának átadásával Intl. DateTimeFormat(), valamint egy sor opciót. Ezután a formázó segítségével alakítja át az aktuális dátumot karakterláncsá. A lehetőségek Az objektum olyan tulajdonságokat tartalmaz, amelyek szabályozzák a dátum formázását.
Különböző típusú számok formázása
Használhatja a Intl API a számok formázásához a Intl. Számformátum() konstruktőr. Mint Intl. DateTimeFormat(), ez a konstruktor egy területi karakterláncot és egy opciós objektumot vesz argumentumként.
Az opciók objektum olyan tulajdonságokat tartalmaz, amelyek szabályozzák a szám formázását. Ezek a tulajdonságok a megadottaktól függően változnak stílus a számról.
Tizedesjegyek és százalékok formázása
A számokat tizedesjegyekként és százalékokként formázhatja a használatával Intl. Számformátum() konstruktor a style tulajdonság beállításával decimális tizedesjegyekhez és százalék százalékokhoz.
Íme egy példa, amely bemutatja a tizedesjegy formázását:
const szám = 123456;
const locale = getUserLocale(); // hu-USconst opciók = {
stílus: "decimális",
minimumFractionDigits: 2,
maximumFractionDigits: 2,
Use Grouping: igaz,
};const formázó = újIntl.NumberFormat (helyszín, beállítások);
konzol.log (formázó.formátum (szám)); // 123,456.00
A fenti kódblokk a 123 456-ot tizedesjegyként formázza csoportosító elválasztókkal (,) és két tizedesjegyet.
Íme egy példa, amely bemutatja, hogyan kell formázni egy százalékot:
const szám = 123456;
const locale = getUserLocale();const opciók = {
stílus: "százalék",
Use Grouping: igaz,
};const formázó = újIntl.NumberFormat (helyszín, beállítások);
konzol.log (formázó.formátum (szám)); // 12,345,600%
A fenti kódblokk 123 456-ot fejez ki százalékban csoportosítási elválasztókkal.
Pénznemek formázása
A számokat pénznemként formázhatja, ha a style tulajdonságot a következőre állítja valuta. Más beállításokat is be kell állítania mellé, például:
- valuta: Az ISO 4217 pénznemkódot (például "USD", "EUR" vagy "JPY") képviselő karakterlánc a formázáshoz. Ha nem adja meg ezt a lehetőséget, a formázó a felhasználó nyelv- és országkódja alapján választ ki egy pénznemkódot.
- valutaKijelző: Ez a tulajdonság megadja, hogy a böngésző hogyan jelenítse meg a pénznemet. Az is lehet szimbólum (75 USD), kód (75 USD), vagy név (75 amerikai dollár).
Íme egy példa a pénznem formázására:
const szám = 123456;
const locale = getUserLocale(); // hu-USconst opciók = {
stílus: "valuta",
valuta: "USADOLLÁR",
valutamegjelenítés: "kód",
};const formázó = újIntl.NumberFormat (helyszín, beállítások);
konzol.log (formázó.formátum (szám)); 123 456,00 USD
A fenti kódblokk 123 456-ot formáz pénznemként (USD).
Formázási egységek
Használhatja a Intl. Számformátum() konstruktor a számok egységekkel, például hosszúsággal, térfogattal és tömeggel történő formázásához. Ezt úgy teheti meg, hogy beállítja a stílus nak nek Mértékegység. Amikor a stílust egységre állítja, a következő beállításokat kell megadnia:
- Mértékegység: Ez a tulajdonság határozza meg a formázáshoz használandó mértékegységet, például "méter", "kilogramm", "liter", "másodperc" stb.
- egységKijelző: Ez a tulajdonság meghatározza, hogy a böngésző hogyan jelenítse meg az egységet. Bármelyikre beállíthatja hosszú (10 liter), rövid (10 l), ill keskeny (10 liter).
Íme egy példa az egységek formázására:
const szám = 123456;
const locale = getUserLocale();const opciók = {
stílus: "Mértékegység",
Mértékegység: "liter",
egységmegjelenítés: "hosszú",
};const formázó = újIntl.NumberFormat (helyszín, beállítások);
konzol.log (formázó.formátum (szám)); //123 456 liter
A fenti kódblokk a 123 456-os számot egységnyi literben formázza.
Az Intl API alternatívái
Az Intl API hatékony és rugalmas eszközkészletet biztosít a dátumok, számok, pénznemek és mértékegységek formázásához JavaScript-alkalmazásokban. Számos területet támogat, és konzisztens módot biztosít az adatok különböző kultúrákban és nyelveken történő formázására.
Használhat alternatív könyvtárat, például a Luxont vagy a Day.js-t, mivel az Intl. korlátozott böngészőtámogatja. Végső soron az Intl API vagy az alternatíva közötti döntés a projekt konkrét követelményeitől és korlátaitól függ.