Строки, Intl.Collator
Intl.Collator - конструктор для «сортировщиков», которые представляют собой объекты, позволяющие сравнивать строки с учетом языка.
Общая проблема строк JavaScript – они «не в курсе» языка и особенностей стран, где находится посетитель.
При сравнении сравниваются коды символов, а это неправильно, к примеру, в русском языке оказывается, что
Intl.Collator решает все эти проблемы.
P.S. Результат
#разное #Intl #интернационализация
Intl.Collator - конструктор для «сортировщиков», которые представляют собой объекты, позволяющие сравнивать строки с учетом языка.
Общая проблема строк JavaScript – они «не в курсе» языка и особенностей стран, где находится посетитель.
При сравнении сравниваются коды символов, а это неправильно, к примеру, в русском языке оказывается, что
"ё" > "я"
и "а" > "Я"
, хотя всем известно, что я
– последняя буква алфавита и это она должна быть больше любой другой.Intl.Collator решает все эти проблемы.
P.S. Результат
compare
имеет значение 1
(больше), 0
(равно) или -1
(меньше).#разное #Intl #интернационализация
👍18🔥5❤1
Даты, Intl.DateTimeFormat
Первый аргумент – такой же, как и в Collator, а в объекте
Все локали обязаны поддерживать следующие наборы настроек:
- weekday, year, month, day, hour, minute, second
- weekday, year, month, day
- year, month, day
- year, month
- month, day
- hour, minute, second
Если указанный формат не поддерживается, то настройка
#разное #Intl #интернационализация
Первый аргумент – такой же, как и в Collator, а в объекте
options
мы можем определить, какие именно части даты показывать (часы, месяц, год…) и в каком формате.Все локали обязаны поддерживать следующие наборы настроек:
- weekday, year, month, day, hour, minute, second
- weekday, year, month, day
- year, month, day
- year, month
- month, day
- hour, minute, second
Если указанный формат не поддерживается, то настройка
formatMatcher
задаёт алгоритм подбора наиболее близкого формата: basic
– по стандартным правилам и best fit
– по умолчанию, на усмотрение окружения (браузера).#разное #Intl #интернационализация
🔥9👍5
Числа, Intl.NumberFormat
Форматтер
P.S. На скрине показаны примеры создания и использования числового форматтера.
#разное #Intl #интернационализация
Форматтер
Intl.NumberFormat
умеет красиво форматировать не только числа, но и валюту, а также проценты.P.S. На скрине показаны примеры создания и использования числового форматтера.
#разное #Intl #интернационализация
👍14🔥4❤2
Методы в Date, String, Number
Методы форматирования также поддерживаются в обычных строках, датах, числах:
Сравнивает строку с другой, с учётом локали.
Форматирует дату в соответствии с локалью.
То же, что и выше, но опции по умолчанию включают в себя год, месяц, день.
То же, что и выше, но опции по умолчанию включают в себя часы, минуты, секунды.
Форматирует число, используя опции
Все эти методы при запуске создают соответствующий объект
P.S. Примеры по каждому методу показаны на картинке.
#разное #Intl #интернационализация
Методы форматирования также поддерживаются в обычных строках, датах, числах:
String.prototype.localeCompare(that [, locales [, options]])
Сравнивает строку с другой, с учётом локали.
Date.prototype.toLocaleString([locales [, options]])
Форматирует дату в соответствии с локалью.
Date.prototype.toLocaleDateString([locales [, options]])
То же, что и выше, но опции по умолчанию включают в себя год, месяц, день.
Date.prototype.toLocaleTimeString([locales [, options]])
То же, что и выше, но опции по умолчанию включают в себя часы, минуты, секунды.
Number.prototype.toLocaleString([locales [, options]])
Форматирует число, используя опции
Intl.NumberFormat
.Все эти методы при запуске создают соответствующий объект
Intl.*
и передают ему опции, можно рассматривать их как укороченные варианты вызова.P.S. Примеры по каждому методу показаны на картинке.
#разное #Intl #интернационализация
👍9🔥4
Строки, Intl.Collator
Intl.Collator - конструктор для «сортировщиков», которые представляют собой объекты, позволяющие сравнивать строки с учетом языка.
Общая проблема строк JavaScript – они «не в курсе» языка и особенностей стран, где находится посетитель.
При сравнении сравниваются коды символов, а это неправильно, к примеру, в русском языке оказывается, что
Intl.Collator решает все эти проблемы.
P.S. Результат
#разное #Intl #интернационализация
Intl.Collator - конструктор для «сортировщиков», которые представляют собой объекты, позволяющие сравнивать строки с учетом языка.
Общая проблема строк JavaScript – они «не в курсе» языка и особенностей стран, где находится посетитель.
При сравнении сравниваются коды символов, а это неправильно, к примеру, в русском языке оказывается, что
"ё" > "я"
и "а" > "Я"
, хотя всем известно, что я
– последняя буква алфавита и это она должна быть больше любой другой.Intl.Collator решает все эти проблемы.
P.S. Результат
compare
имеет значение 1
(больше), 0
(равно) или -1
(меньше).#разное #Intl #интернационализация
👍6🔥1
Даты, Intl.DateTimeFormat
Первый аргумент – такой же, как и в Collator, а в объекте
Все локали обязаны поддерживать следующие наборы настроек:
- weekday, year, month, day, hour, minute, second
- weekday, year, month, day
- year, month, day
- year, month
- month, day
- hour, minute, second
Если указанный формат не поддерживается, то настройка
#разное #Intl #интернационализация
Первый аргумент – такой же, как и в Collator, а в объекте
options
мы можем определить, какие именно части даты показывать (часы, месяц, год…) и в каком формате.Все локали обязаны поддерживать следующие наборы настроек:
- weekday, year, month, day, hour, minute, second
- weekday, year, month, day
- year, month, day
- year, month
- month, day
- hour, minute, second
Если указанный формат не поддерживается, то настройка
formatMatcher
задаёт алгоритм подбора наиболее близкого формата: basic
– по стандартным правилам и best fit
– по умолчанию, на усмотрение окружения (браузера).#разное #Intl #интернационализация
👍5❤1🔥1
Числа, Intl.NumberFormat
Форматтер
P.S. На скрине показаны примеры создания и использования числового форматтера.
#разное #Intl #интернационализация
Форматтер
Intl.NumberFormat
умеет красиво форматировать не только числа, но и валюту, а также проценты.P.S. На скрине показаны примеры создания и использования числового форматтера.
#разное #Intl #интернационализация
👍8🔥4
Методы в Date, String, Number
Методы форматирования также поддерживаются в обычных строках, датах, числах:
Сравнивает строку с другой, с учётом локали.
Форматирует дату в соответствии с локалью.
То же, что и выше, но опции по умолчанию включают в себя год, месяц, день.
То же, что и выше, но опции по умолчанию включают в себя часы, минуты, секунды.
Форматирует число, используя опции
Все эти методы при запуске создают соответствующий объект
P.S. Примеры по каждому методу показаны на картинке.
#разное #Intl #интернационализация
Методы форматирования также поддерживаются в обычных строках, датах, числах:
String.prototype.localeCompare(that [, locales [, options]])
Сравнивает строку с другой, с учётом локали.
Date.prototype.toLocaleString([locales [, options]])
Форматирует дату в соответствии с локалью.
Date.prototype.toLocaleDateString([locales [, options]])
То же, что и выше, но опции по умолчанию включают в себя год, месяц, день.
Date.prototype.toLocaleTimeString([locales [, options]])
То же, что и выше, но опции по умолчанию включают в себя часы, минуты, секунды.
Number.prototype.toLocaleString([locales [, options]])
Форматирует число, используя опции
Intl.NumberFormat
.Все эти методы при запуске создают соответствующий объект
Intl.*
и передают ему опции, можно рассматривать их как укороченные варианты вызова.P.S. Примеры по каждому методу показаны на картинке.
#разное #Intl #интернационализация
🔥6👍2