Получить информацию о языковых и региональных настройках пользователя.
Локали содержат информацию о лингвистических, культурных и технологических соглашениях и стандартах. Примеры информации, содержащейся в локали, включают символ, используемый в качестве десятичного разделителя в числах, и формат даты. Локали обычно используются для предоставления, форматирования и интерпретации информации о пользовательских обычаях и предпочтениях.
Обзор API
Функции - вызовы API, предлагаемые напрямую расширением
Возвращает таблицу, содержащую информацию о текущей или указанной локали.
Параметры
identifier - необязательная строка, определяющая локаль, о которой требуется отобразить информацию. Если вы не укажете идентификатор, будет возвращена информация о текущей локали пользователя.
Возвращаемое значение
таблица, содержащая одну или несколько из следующих пар ключ-значение:
alternateQuotationBeginDelimiterKey - строка, содержащая символ открывающей кавычки, связанный с локалью. В некоторых локалях при вложенных кавычках символы кавычек чередуются.
alternateQuotationEndDelimiterKey - строка, содержащая символ закрывающей кавычки, связанный с локалью. В некоторых локалях при вложенных кавычках символы кавычек чередуются.
calendar - таблица, содержащая пары ключ-значение, описывающие календарь, связанный с локалью. Таблица будет содержать одну или несколько из следующих пар:
AMSymbol - символ AM для времени в календаре локали.
languageCode - строка, содержащая код языка локали.
measurementSystem - строка, содержащая систему измерения, связанную с локалью.
quotationBeginDelimiterKey - строка, содержащая символ открывающей кавычки, связанный с локалью.
quotationEndDelimiterKey - строка, содержащая символ закрывающей кавычки, связанный с локалью.
scriptCode - строка, содержащая код письма локали.
temperatureUnit - строка, содержащая предпочтительную систему измерения температуры.
timeFormatIs24Hour - булево значение, указывающее, выражается ли время в 24-часовом формате (true) или 12-часовом формате (false).
usesMetricSystem - булево значение, указывающее, использует ли локаль метрическую систему.
variantCode - строка, содержащая код варианта локали.
Примечания
Если вы указываете идентификатор локали в качестве аргумента, он должен быть основан на одной из строк, возвращаемых hs.host.locale.availableLocales. Использование произвольной строки может привести к ненадежным или несогласованным результатам.
Apple не предоставляет документированный метод для получения пользовательских предпочтений относительно temperatureUnit или timeFormatIs24Hour. Методы определения этих значений основаны на коде из следующих источников:
Если вы сможете определить дополнительные настройки локали или региона, которые не предоставляются этой функцией, и у вас есть источник, описывающий надежный метод получения этой информации, пожалуйста, отправьте вопрос на https://github.com/Hammerspoon/hammerspoon с деталями.
Возвращает локализованную строку для определенного кода языка.
Параметры
localeCode - код локали для локали, для которой требуется получить локализованную строку.
baseLocaleCode - необязательная строка, определяющая локаль для использования в строке. Если вы не укажете baseLocaleCode, будет использована текущая локаль пользователя.
Возвращаемое значение
строка, содержащая локализованную строку, или nil если либо localeCode, либо baseLocaleCode недопустимы. Например, если localeCode равно "de_CH", будет возвращено "Немецкий".
строка, содержащая локализованную строку, включая диалект, или nil если либо localeCode, либо baseLocaleCode недопустимы. Например, если localeCode равно "de_CH", будет возвращено "Немецкий (Швейцария)".
Регистрирует функцию, которая вызывается при изменении настроек языка пользователя.
Параметры
fn — функция, которая вызывается при изменении настройки
Возвращает
строку uuid, которая может быть использована для отмены регистрации функции обратного вызова, когда больше не требуется уведомление о изменениях
Примечания
Функция обратного вызова не будет получать никаких аргументов и не должна возвращать ничего. Вы можете получить новые настройки языка с помощью hs.host.locale.localeInformation и проверить его ключи, чтобы определить, является ли изменение интересующим.
Любое изменение в настройках языка и региона вызовет этот обратный вызов, даже изменения, которые не отражаются в информации о языке, предоставляемой hs.host.locale.localeInformation.
true, если функция обратного вызова была успешно отменена, или false, если нет, обычно потому, что строка uuid не соответствует текущей функции обратного вызова.