Главная страница>Связанные с программированием>Другой исходный код

i18n
Тип: Object Значение по умолчанию: {}
Разрешить локализацию/настройку более чем 200 названий стран, а также другого текста пользовательского интерфейса (например, текста-заполнителя для ввода поиска страны). Самый простой способ сделать это — просто импортировать один из предоставленных модулей перевода и установить для i18n это значение (см. вариант 1 ниже). Таким образом вы также можете переопределить одну или несколько отдельных клавиш (см. вариант 1 ниже). Кроме того, вы можете предоставить свои собственные переводы (см. вариант 2 ниже). Если вы предоставляете свои собственные, вам нужно будет указать все названия стран (которые можно скопировать из проекта списка стран, например, вот названия стран на французском языке), а также несколько строк пользовательского интерфейса (перечислены ниже). См. пример.

Если в настоящее время мы не поддерживаем нужный вам язык, вы можете легко добавить его самостоятельно — вам нужно всего лишь предоставить несколько строк перевода пользовательского интерфейса, поскольку мы автоматически извлекаем названия стран из проекта списка стран.

Вариант 1: импортируйте один из предоставленных модулей перевода.

 import { fr } from "intl-tel-input/i18n" ;

intlTelInput ( input , {
  i18n : fr ,
} ) ;

// or to override one or more keys, you could do something like this
intlTelInput ( input , {
  i18n : {
    ... fr ,
    searchPlaceholder : "Recherche de pays" ,
  } ,
} ) ;

Вариант 2: определите свои собственные переводы

 intlTelInput ( input , {
  i18n : {
    // Country names - see the full list in src/js/intl-tel-input/i18n/en/countries.ts
    af : "Afghanistan" ,
    al : "Albania" ,
    dz : "Algeria" ,
    as : "American Samoa" ,
    ad : "Andorra" ,
    ...
    // Aria label for the selected country element
    selectedCountryAriaLabel : "Selected country" ,
    // Screen reader text for when no country is selected
    noCountrySelected : "No country selected" ,
    // Aria label for the country list element
    countryListAriaLabel : "List of countries" ,
    // Placeholder for the search input in the dropdown
    searchPlaceholder : "Search" ,
    // Screen reader text for when the search produces no results
    zeroSearchResults : "No results found" ,
    // Screen reader text for when the search produces 1 result
    oneSearchResult : "1 result found" ,
    // Screen reader text for when the search produces multiple results
    multipleSearchResults : "${count} results found" ,
  }
} ) ;

начальнаястрана
Тип: String По умолчанию: ""
Установите первоначальный выбор страны, указав ее код страны, например "us" для США. (Будьте осторожны, не делайте этого, если вы не уверены в стране пользователя, так как это может привести к сложным проблемам, если установлено неправильно, и пользователь автоматически заполняет свой национальный номер и отправляет форму без проверки - в некоторых случаях это может пройти проверку. и в конечном итоге вы можете сохранить номер с неправильным кодом набора). Вы также можете установить для initialCountry значение "auto" , которое будет искать страну пользователя по его IP-адресу (требуется опция geoIpLookup — см. пример). Обратите внимание: как бы вы ни использовали initialCountry , он не обновит выбор страны, если входные данные уже содержат номер с международным кодом набора.

loadUtilsOnInit (см. обсуждение v25)
Тип: String или () => Promise По умолчанию: "" Пример: "/build/js/utils.js"

Это один из способов (ленивой) загрузки включенного utils.js (чтобы включить форматирование/проверку и т. д.) — дополнительные параметры см. в разделе Загрузка сценария утилит. Вам нужно будет разместить файл utils.js, а затем установить параметр loadUtilsOnInit для этого URL-адреса или, альтернативно, просто указать его на версию, размещенную на CDN, например "https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js" . "https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js" . Скрипт загружается с помощью оператора динамического импорта, что означает, что URL-адрес не может быть относительным — он должен быть абсолютным.

Альтернативно это может быть функция, возвращающая обещание для модуля utils. При использовании сборщика, такого как Webpack, это можно использовать, чтобы сообщить сборщику, что сценарий utils должен храниться в отдельном файле от остального кода. Например: { loadUtilsOnInit: () => import("intl-tel-input/utils") } .

Сценарий извлекается только при инициализации плагина и, кроме того, только после завершения загрузки страницы (в событии загрузки окна), чтобы предотвратить блокировку (размер сценария составляет ~ 260 КБ). При создании экземпляра плагина объект Promise возвращается в свойстве экземпляра promise , поэтому вы можете сделать что-то вроде iti.promise.then(callback) чтобы узнать, когда такие запросы инициализации завершились. Дополнительную информацию см. в разделе Скрипт утилит.

национальный режим
Тип: Boolean Значение по умолчанию: true
Форматируйте числа в национальном формате, а не в международном формате. Это относится к номерам-заполнителям и при отображении существующих номеров пользователей. Обратите внимание, что пользователи могут вводить свои номера в национальном формате — если они выбрали правильную страну, вы можете использовать getNumber для извлечения полного международного номера — см. пример. Рекомендуется оставить эту опцию включенной, чтобы побудить пользователей вводить свои номера в национальном формате, поскольку он обычно им более знаком и повышает удобство работы с пользователем.

толькоСтраны
Тип: Array По умолчанию: []
В раскрывающемся списке отображайте только указанные вами страны — см. пример.

заполнительNumberType
Тип: String По умолчанию: "MOBILE"
Укажите один из ключей перечисления intlTelInput.utils.numberType (например, "FIXED_LINE" ), чтобы установить тип числа, который будет использоваться в качестве заполнителя. Поиграйте с этой опцией в Storybook (используя компонент React).

показатьФлаги
Тип: Boolean Значение по умолчанию: true
Установите значение false, чтобы скрыть флаги, например, по политическим причинам. Вместо этого будет отображаться обычный значок глобуса. Поиграйте с этой опцией в Storybook (используя компонент React).

отдельныйDialCode
Тип: Boolean Значение по умолчанию: false
Отобразите международный телефонный код выбранной страны рядом с вводом, чтобы он выглядел как часть набранного номера. Поскольку пользователь не может редактировать отображаемый код набора, он может попытаться ввести новый - в этом случае, чтобы избежать наличия двух кодов набора рядом друг с другом, мы автоматически открываем раскрывающийся список стран и помещаем новый код набора во входные данные для поиска. вместо. Таким образом, если они наберут +54, Аргентина будет выделена в раскрывающемся списке, и они смогут просто нажать Enter, чтобы выбрать ее, обновив отображаемый код набора (для этой функции необходимо, чтобы были allowDropdown и countrySearch ). Поиграйте с этой опцией в Storybook (используя компонент React).

строгий режим
Тип: Boolean Значение по умолчанию: false
Когда пользователь вводит данные, игнорируйте все ненужные символы. Пользователь может вводить только числовые символы и необязательный плюс в начале. Ограничьте длину максимальной допустимой длиной числа (это касается validationNumberType ). Требуется загрузка скрипта utils. См. пример.

использовать FullscreenPopup
Тип: Boolean Значение по умолчанию: true on mobile devices, false otherwise
Управляйте тем, когда список стран отображается в виде полноэкранного всплывающего окна, а не в виде встроенного раскрывающегося списка. По умолчанию оно отображается в виде полноэкранного всплывающего окна на мобильных устройствах (в зависимости от пользовательского агента и ширины экрана), чтобы лучше использовать ограниченное пространство (аналогично тому, как работает собственный , это нарушит макет. Вместо этого вы должны вставить его перед контейнером (с классом iti ).

Раскрывающееся положение
Раскрывающийся список должен автоматически появиться над/ниже ввода в зависимости от доступного места. Чтобы это работало правильно, вам необходимо инициализировать плагин только после добавления в DOM.

Заполнители
Чтобы получить автоматические заполнители для конкретной страны, просто опустите атрибут заполнителя в или установите для autoPlaceholder значение "aggressive" , чтобы переопределить любой существующий заполнитель.

Группы ввода начальной загрузки
Требуется несколько исправлений CSS, чтобы плагин хорошо работал с группами ввода Bootstrap. Вы можете увидеть Codepen здесь.
Примечание. В настоящее время в Mobile Safari существует ошибка, которая приводит к сбою при нажатии стрелки раскрывающегося списка (треугольник CSS) внутри группы ввода. Самый простой обходной путь — удалить треугольник CSS с помощью этой строки:

. iti__arrow { border : none; }

Содействие

Инструкции по настройке проекта и внесению изменений см. в руководстве для участников, а также о том, как обновить libphonenumber до новой версии, как обновить изображения флагов или как добавить новый перевод.

Атрибуции

Пользовательское тестирование с помощью программы с открытым исходным кодом BrowserStack.

Тестирование браузера через

Расширять
Дополнительная информация