Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 107 из 114 · 11 мин
Intl.Locale и его свойства: language, region, script, baseName, calendar, collation, hourCycle, caseFirst, numeric, numberingSystem, firstDayOfWeek, maximize, minimize, toString и сведения getCalendars, getCollations, getHourCycles, getNumberingSystems, getTimeZones, getTextInfo, getWeekInfo.
У моего друга в Израиле неделя начинается с воскресенья, а текст пишется справа налево.
Intl.Locale знает правила региона: первый день недели, направление текста, календарь, формат часов.
Intl.Locale · toString() · baseNamenew Intl.Locale("ru-RU") разбирает тег; toString() — полный тег с расширениями, baseName — без них.const loc = new Intl.Locale("ru-RU-u-ca-gregory-hc-h23");
console.log(loc.toString(), loc.baseName);language · region · scriptru), регион (RU), письменность (Cyrl, если указана или после maximize).const loc = new Intl.Locale("sr-Latn-RS");
console.log(loc.language, loc.script, loc.region);maximize() · minimize()maximize() достраивает вероятные части (ru → ru-Cyrl-RU), minimize() убирает лишние.console.log(new Intl.Locale("ru").maximize().toString(), new Intl.Locale("ru-Cyrl-RU").minimize().toString());calendar · collation · hourCycle · numberingSystem-u-: календарь (ca), правила сортировки (co), формат часов (hc: h12/h23), система цифр (nu).const loc = new Intl.Locale("ar-EG", { calendar: "islamic", hourCycle: "h12", numberingSystem: "arab", collation: "compat" });
console.log(loc.calendar, loc.hourCycle, loc.numberingSystem, loc.collation);caseFirst · numeric · firstDayOfWeekcaseFirst — сначала заглавные или строчные при сортировке, numeric — числовая сортировка, firstDayOfWeek — заданный первый день недели.const loc = new Intl.Locale("ru", { caseFirst: "upper", numeric: true, firstDayOfWeek: "mon" });
console.log(loc.caseFirst, loc.numeric, loc.firstDayOfWeek);getCalendars() · getCollations() · getHourCycles() · getNumberingSystems()const loc = new Intl.Locale("ja-JP");
console.log(loc.getCalendars?.(), loc.getHourCycles?.(), loc.getNumberingSystems?.(), loc.getCollations?.().length);getTimeZones() · getTextInfo() · getWeekInfo()getTimeZones() — часовые пояса региона, getTextInfo() — направление текста (ltr/rtl), getWeekInfo() — первый день недели и выходные.console.log(new Intl.Locale("he-IL").getTextInfo?.().direction, new Intl.Locale("he-IL").getWeekInfo?.().firstDay, new Intl.Locale("ru-RU").getTimeZones?.().length > 1);calendars · collations · hourCycles · numberingSystemsget…(). Устарели: в новом коде используй методы get…().const loc = new Intl.Locale("ja-JP");
console.log(Array.isArray(loc.calendars ?? []), Array.isArray(loc.hourCycles ?? []));timeZones · textInfo · weekInfogetTimeZones(), getTextInfo() и getWeekInfo().const loc = new Intl.Locale("he-IL");
console.log(typeof (loc.textInfo ?? {}), typeof (loc.weekInfo ?? {}), Array.isArray(loc.timeZones ?? []));Направление текста и первый день недели бери из Intl.Locale, а не из своей таблицы стран.
Напиши direction(tag): "rtl" или "ltr" через new Intl.Locale(tag).getTextInfo(), и fullTag(tag) — тег после maximize() строкой.
Выберите один ответ.
Что вернёт new Intl.Locale("ru").maximize().toString()?
Проверяем состояние обучения…