Beranda>Terkait pemrograman>Kode sumber lainnya

i18n
Tipe: Default Object : {}
Izinkan pelokalan/penyesuaian 200+ nama negara, serta teks antarmuka pengguna lainnya (misalnya teks placeholder untuk input pencarian negara). Cara termudah untuk melakukan ini adalah dengan mengimpor salah satu modul terjemahan yang disediakan dan mengatur i18n ke nilai tersebut (lihat opsi 1 di bawah). Anda juga dapat mengganti satu atau lebih kunci individual dengan cara ini (lihat opsi 1 di bawah). Alternatifnya, Anda dapat menyediakan terjemahan khusus Anda sendiri (lihat opsi 2 di bawah). Jika menyediakan nama Anda sendiri, Anda perlu menentukan semua nama negara (yang dapat disalin dari proyek daftar negara, misalnya berikut adalah nama negara dalam bahasa Prancis), serta beberapa string UI (tercantum di bawah). Lihat contoh.

Jika saat ini kami tidak mendukung bahasa yang Anda perlukan, Anda dapat berkontribusi sendiri dengan mudah - Anda hanya perlu menyediakan beberapa string terjemahan UI, karena kami secara otomatis mengambil nama negara dari proyek daftar negara.

Opsi 1: impor salah satu modul terjemahan yang disediakan

 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" ,
  } ,
} ) ;

Opsi 2: tentukan terjemahan khusus Anda sendiri

 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" ,
  }
} ) ;

Negara awal
Jenis: String Default: ""
Atur pilihan negara awal dengan menentukan kode negaranya misalnya "us" untuk Amerika Serikat. (Berhati-hatilah untuk tidak melakukan hal ini kecuali Anda yakin dengan negara pengguna, karena dapat menyebabkan masalah rumit jika pengaturannya salah dan pengguna secara otomatis mengisi nomor nasionalnya dan mengirimkan formulir tanpa memeriksa - dalam kasus tertentu, hal ini dapat lolos validasi dan Anda bisa saja menyimpan nomor dengan kode panggil yang salah). Anda juga dapat menyetel initialCountry ke "auto" , yang akan mencari negara pengguna berdasarkan alamat IP mereka (memerlukan opsi geoIpLookup - lihat contoh). Perhatikan bahwa bagaimanapun Anda menggunakan initialCountry , pilihan negara tidak akan diperbarui jika input sudah berisi nomor dengan kode panggil internasional.

loadUtilsOnInit (lihat diskusi v25)
Ketik: String atau () => Promise Default: "" Contoh: "/build/js/utils.js"

Ini adalah salah satu cara untuk (malas) memuat utils.js yang disertakan (untuk mengaktifkan pemformatan/validasi, dll) - lihat Memuat Skrip Utilitas untuk opsi lebih lanjut. Anda perlu menghosting file utils.js, lalu menyetel opsi loadUtilsOnInit ke URL tersebut, atau sebagai alternatif, arahkan saja ke versi yang dihosting CDN, misalnya "https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js" . Skrip dimuat melalui pernyataan impor dinamis, yang berarti URL tidak boleh relatif - harus absolut.

Atau, ini bisa berupa fungsi yang mengembalikan janji untuk modul utils. Saat menggunakan bundler seperti Webpack, ini dapat digunakan untuk memberi tahu bundler bahwa skrip utils harus disimpan dalam file terpisah dari kode Anda yang lain. Misalnya: { loadUtilsOnInit: () => import("intl-tel-input/utils") } .

Skrip hanya diambil ketika Anda menginisialisasi plugin, dan sebagai tambahan, hanya ketika halaman telah selesai dimuat (pada peristiwa pemuatan jendela) untuk mencegah pemblokiran (skrip berukuran ~260KB). Saat membuat instance plugin, objek Promise dikembalikan di bawah properti instance promise , sehingga Anda dapat melakukan sesuatu seperti iti.promise.then(callback) untuk mengetahui kapan permintaan inisialisasi seperti ini telah selesai. Lihat Skrip Utilitas untuk informasi lebih lanjut.

Mode nasional
Tipe: Boolean Default: true
Format angka dalam format nasional, bukan format internasional. Hal ini berlaku untuk nomor placeholder, dan saat menampilkan nomor pengguna yang ada. Perhatikan bahwa pengguna boleh mengetikkan nomor mereka dalam format nasional - selama mereka memilih negara yang tepat, Anda dapat menggunakan getNumber untuk mengekstrak nomor internasional lengkap - lihat contoh. Disarankan untuk membiarkan opsi ini tetap aktif, untuk mendorong pengguna memasukkan nomor telepon mereka dalam format nasional karena format ini biasanya lebih familiar bagi mereka sehingga menciptakan pengalaman pengguna yang lebih baik.

hanya Negara
Jenis: Array Default: []
Di dropdown, tampilkan hanya negara yang Anda tentukan - lihat contoh.

placeholderNumberType
Jenis: String Default: "MOBILE"
Tentukan salah satu kunci dari enum intlTelInput.utils.numberType (misalnya "FIXED_LINE" ) untuk mengatur tipe nomor yang akan digunakan sebagai placeholder. Mainkan opsi ini di Storybook (menggunakan komponen React).

tampilkan Bendera
Tipe: Boolean Default: true
Atur ini ke false untuk menyembunyikan bendera, misalnya karena alasan politik. Sebaliknya, ini akan menampilkan ikon globe umum. Mainkan opsi ini di Storybook (menggunakan komponen React).

terpisahDialCode
Tipe: Boolean Default: false
Tampilkan kode panggilan internasional negara yang dipilih di sebelah masukan, sehingga terlihat seperti bagian dari nomor yang diketik. Karena pengguna tidak dapat mengedit kode panggil yang ditampilkan, mereka mungkin mencoba mengetikkan yang baru - dalam hal ini, untuk menghindari dua kode panggil yang bersebelahan, kami secara otomatis membuka dropdown negara dan memasukkan kode panggil baru ke dalam masukan pencarian alih-alih. Jadi jika mereka mengetik +54, maka Argentina akan disorot di dropdown dan mereka cukup menekan Enter untuk memilihnya, memperbarui kode panggil yang ditampilkan (fitur ini memerlukan allowDropdown dan countrySearch diaktifkan). Mainkan opsi ini di Storybook (menggunakan komponen React).

mode ketat
Tipe: Boolean Default: false
Saat pengguna mengetikkan input, abaikan karakter apa pun yang tidak relevan. Pengguna hanya dapat memasukkan karakter numerik dan tanda plus opsional di awal. Batasi panjangnya pada panjang angka maksimum yang valid (ini sesuai dengan validationNumberType ). Membutuhkan skrip utils untuk dimuat. Lihat contoh.

gunakan Popup Layar Penuh
Tipe: Boolean Default: true on mobile devices, false otherwise
Kontrol kapan daftar negara muncul sebagai popup layar penuh vs dropdown sebaris. Secara default, ini akan muncul sebagai popup layar penuh di perangkat seluler (berdasarkan agen pengguna dan lebar layar), untuk memanfaatkan ruang terbatas dengan lebih baik (mirip dengan cara kerja maka tata letaknya akan rusak. Sebaliknya, Anda harus memasukkannya sebelum wadah (dengan kelas iti ).

Posisi tarik-turun
Dropdown secara otomatis akan muncul di atas/di bawah input tergantung pada ruang yang tersedia. Agar ini berfungsi dengan baik, Anda hanya perlu menginisialisasi plugin setelah ditambahkan ke DOM.

Penampung
Untuk mendapatkan placeholder khusus negara secara otomatis, cukup hilangkan atribut placeholder di , atau setel autoPlaceholder ke "aggressive" untuk mengganti placeholder yang ada,

Grup masukan bootstrap
Beberapa perbaikan CSS diperlukan agar plugin berfungsi dengan baik dengan grup input Bootstrap. Anda dapat melihat Codepen di sini.
Catatan: saat ini terdapat bug di Mobile Safari yang menyebabkan crash saat Anda mengklik panah dropdown (segitiga CSS) di dalam grup input. Solusi paling sederhana adalah menghapus segitiga CSS dengan baris ini:

. iti__arrow { border : none; }

Berkontribusi

Lihat panduan berkontribusi untuk instruksi menyiapkan proyek dan membuat perubahan, dan juga tentang cara memperbarui libphonenumber ke versi baru, cara memperbarui gambar bendera, atau cara menambahkan terjemahan baru.

Atribusi

Pengujian pengguna didukung oleh Program Sumber Terbuka BrowserStack

Pengujian browser melalui

Memperluas
Informasi Tambahan
  • Versi v24.7.0
  • Tipe Kode sumber lainnya
  • Waktu Pembaruan 2024-11-12
  • ukuran
  • Bahasa Bahasa Mandarin Sederhana