Досегните ширу публику тако што ћете свој садржај прилагодити било ком језику или локалитету помоћу Интл АПИ-ја.

Интл АПИ поједностављује форматирање и манипулацију интернационализованим текстом, бројевима, датумима и валутама. Омогућава вам руковање различитим форматима података у складу са локализацијом.

Овај АПИ решава изазов форматирања података за различите културе и језике. Олакшава форматирање бројева са одговарајућим симболом валуте или датумима користећи одговарајући формат датума за одређени регион.

Користећи Интл АПИ, можете креирати веб апликације које су доступне и лаке за употребу за публику у различитим регионима и културама.

Добијање локације корисника

Тхе ЈаваСцрипт конструктори које обезбеђује Интл АПИ идентификују локализацију коју ће користити за форматирање датума, текста, броја итд., пратећи познати образац. Сваки конструктор узима а лоцале и један Опције објекат као аргумент. Користећи ове аргументе, конструктор упарује тражени локал(е) са локалитетима које тренутно подржавају.

instagram viewer

Да бисте добили језик корисника, можете користити навигатор.језик имовина. Ово својство враћа стринг који представља језичку верзију претраживача.

Вредност тхе навигатор.језик својство је језичка ознака БЦП 47, која се састоји од кода језика и, опционо, кода региона и других подознака. На пример, „ен-УС“ представља енглески како се говори у Сједињеним Државама.

Такође можете користити навигатор.језици својство за добијање низа жељених језика корисника, сортираних по приоритету. Прва ставка у низу представља примарни језик корисника.

Када добијете кориснички локал, можете да прилагодите приказ датума, времена, бројева и валута у вашој апликацији користећи Интл АПИ.

Можете креирати једноставан ЈаваСцрипт функција да вам помогне да добијете кориснички локал. Ево исечка кода који може помоћи:

конст гетУсерЛоцале = () => {
ако (навигатор.лангуагес && навигатор.лангуагес.ленгтх) {
повратак навигатор.лангуагес[0];
}
повратак навигатор.лангуаге;
};

конзола.лог (гетУсерЛоцале());

Ово гетУсерЛоцале функција враћа први елемент својства навигатор.лангуагес ако је доступан. У супротном, враћа се на својство навигатор.лангуаге, које представља жељени језик корисника у старијим претраживачима.

Форматирање датума за различите локације

Да бисте форматирали датуме користећи Интл АПИ, можете користити Интл. ДатеТимеФормат() конструктор. Овај конструктор узима два аргумента: стринг локализације и објекат опција.

Објекат опција може да садржи својства која контролишу форматирање датума.

Неке од најчешће коришћених опција укључују:

  • радни дан: Ова опција одређује формат дана у недељи. Можете га поставити на било који дуго (петак), кратак (пет), или узак (Ф).
  • године: Ова опција одређује формат године. Можете га поставити на било који нумерички (2023) или 2-цифрени (23).
  • месец дана: Ова опција одређује формат месеца. Можете га поставити на било који нумерички (3), 2-цифрени (03), дуго (март), кратак (Мар), или узак (М).
  • дан: Ова опција одређује формат дана. Можете га поставити на било који нумерички (2) или 2-цифрени (02).

Ево примера који показује како да форматирате датум користећи Интл. ДатеТимеФормат() конструктор:

конст датум = Датум.Сада()
конст лоцале = гетУсерЛоцале();

конст опције = {
радни дан: "дуго",
година: "нумерички",
месец дана: "дуго",
дан: "нумерички",
};

конст форматтер = НоваИнтл.ДатеТимеФормат (локал, опције);

// радни дан, месец датум, година (петак, 24. март 2023.)
конзола.лог (форматер.формат (датум));

Овај код поставља објекат за форматирање прослеђивањем корисничког локала Интл. ДатеТимеФормат(), заједно са скупом опција. Затим користи форматер да трансформише тренутни датум у стринг. Тхе Опције објекат садржи својства која контролишу форматирање датума.

Форматирање различитих типова бројева

Можете користити Интл АПИ за форматирање бројева помоћу Интл. НумберФормат() конструктор. Као Интл. ДатеТимеФормат(), овај конструктор узима стринг локализације и објекат опција као аргументе.

Објекат опција садржи својства која контролишу форматирање броја. Ова својства варирају у зависности од наведеног стил броја.

Форматирање децимала и процената

Можете форматирати бројеве као децимале и проценте користећи Интл. НумберФормат() конструктор постављањем својства стила на децималан за децимале и проценат за проценте.

Ево примера који показује како форматирати децимални број:

конст нум = 123456;
конст лоцале = гетУсерЛоцале(); // ен-УС

конст опције = {
стил: "децималан",
минимумФрацтионДигитс: 2,
максималне цифре разломка: 2,
усеГроупинг: истина,
};

конст форматтер = НоваИнтл.НумберФормат (локал, опције);

конзола.лог (форматер.формат (број)); // 123,456.00

Блок кода изнад форматира 123,456 као децималу са сепараторима за груписање (,) и две децимале.

Ево примера који показује како да форматирате проценат:

конст нум = 123456;
конст лоцале = гетУсерЛоцале();

конст опције = {
стил: "проценат",
усеГроупинг: истина,
};

конст форматтер = НоваИнтл.НумберФормат (локал, опције);

конзола.лог (форматер.формат (број)); // 12,345,600%

Блок кода изнад изражава 123,456 као проценат са сепараторима за груписање.

Форматирање валута

Можете форматирати бројеве као валуте тако што ћете поставити својство стила на валута. Требало би да поставите и друге опције поред њега, као што су:

  • валута: Низ који представља ИСО 4217 код валуте (као што је „УСД“, „ЕУР“ или „ЈПИ“) који се користи за форматирање. Ако не омогућите ову опцију, алат за форматирање ће изабрати код валуте на основу локалног стандарда корисника.
  • цурренциДисплаи: Ово својство одређује како претраживач треба да прикаже валуту. То може бити симбол (75 УСД), код (75 УСД), или име (75 америчких долара).

Ево примера који показује како можете да форматирате валуту:

конст нум = 123456;
конст лоцале = гетУсерЛоцале(); // ен-УС

конст опције = {
стил: "валута",
валута: "АМЕРИЧКИ ДОЛАР",
цурренциДисплаи: "шифра",
};

конст форматтер = НоваИнтл.НумберФормат (локал, опције);

конзола.лог (форматер.формат (број)); // 123.456,00 УСД

Блок кода изнад форматира 123.456 као валуту (УСД).

Форматтинг Унитс

Можете користити Интл. НумберФормат() конструктор за форматирање бројева са јединицама, као што су дужина, запремина и маса. То можете учинити тако што ћете поставити стил до јединица. Када подесите стил на јединицу, морате да наведете ове опције:

  • јединица: Ово својство одређује јединицу која се користи за форматирање, као што су „метар“, „килограм“, „литар“, „секунда“ итд.
  • унитДисплаи: Ово својство одређује како претраживач треба да прикаже јединицу. Можете га поставити на било који дуго (10 литара), кратак (10 Л), или узак (10л).

Ево примера који показује како можете да форматирате јединице:

конст нум = 123456;
конст лоцале = гетУсерЛоцале();

конст опције = {
стил: "јединица",
јединица: "литар",
јединица Дисплеј: "дуго",
};

конст форматтер = НоваИнтл.НумберФормат (локал, опције);

конзола.лог (форматер.формат (број)); //123.456 литара

Горњи блок кода форматира број 123,456 као јединицу у литрима.

Алтернативе за Интл АПИ

Интл АПИ пружа моћан и флексибилан скуп алата за форматирање датума, бројева, валута и јединица у ЈаваСцрипт апликацијама. Подржава многе локације и пружа доследан начин за форматирање података у различитим културама и језицима.

Можда ћете желети да користите алтернативну библиотеку, као што је Лукон или Даи.јс, због ограничене подршке претраживача за Интл. На крају крајева, одлука између Интл АПИ-ја или алтернативе зависи од специфичних захтева и ограничења вашег пројекта.