Angular Academy · Pelajaran

Jamak dan Select (ICU)

Kendalikan teks jamak dan berjantina.

Pelajaran 3 daripada 413 langkah

Jamak dan Select (ICU) ialah pelajaran Angular Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Angular Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Angular Academy merangkumi sejumlah 4 pelajaran.

Mengapa Ruang Letak Biasa Tidak Mencukupi

"You have 1 messages" ialah bahasa Inggeris yang salah. Bahasa mempunyai peraturan jamak yang berbeza, malah sesetengahnya mempunyai beberapa bentuk jamak, selain ungkapan yang bergantung pada jantina atau kategori. Angular mengendalikannya dengan format mesej ICU: ungkapan plural dan select.

Ungkapan plural

ICU plural memilih ungkapan berdasarkan nombor. Anda menyenaraikan kes mengikut kategori jamak dan menyediakan teks bagi setiap satunya.

<p i18n>{count, plural,
  =0 {No messages}
  =1 {One message}
  other {{{count}} messages}
}</p>

Kategori Jamak

Kategori termasuk padanan tepat (=0, =1) dan kata kunci CLDR: zero, one, two, few, many, serta other yang diwajibkan. Locale yang berbeza menggunakan subset yang berbeza secara automatik.

Ruang Letak Hash

Dalam kes jamak, # ialah singkatan bagi nombor yang dipadankan, jadi anda tidak perlu mengulangi pengikatan tersebut.

<p i18n>{count, plural,
  =1 {You have one item}
  other {You have # items}
}</p>

Ungkapan select

select memilih teks berdasarkan nilai rentetan, sesuai untuk kategori seperti jantina, status atau jenis.

<p i18n>{gender, select,
  male {He replied}
  female {She replied}
  other {They replied}
}</p>

other Wajib Digunakan

Kedua-dua plural dan select memerlukan cabang other. Cabang ini ialah pilihan sandaran apabila tiada kes khusus yang sepadan, dan Angular akan menghasilkan ralat jika cabang itu tiada.

Menggabungkan dengan Teks Sekeliling

Ungkapan ICU boleh berada di dalam teks terjemahan biasa. Kekalkan keseluruhan ayat dalam satu blok i18n supaya penterjemah dapat mengawal susunan perkataan.

<p i18n>Hi {{ name }}, {count, plural,
  =0 {you have no notifications}
  other {you have # notifications}
}.</p>

Menyarang select dalam plural

Ungkapan ICU boleh disarang, membolehkan anda menyatakan kuantiti dan kategori bersama-sama apabila diperlukan oleh tatabahasa.

{count, plural,
  =0 {No guests}
  other {# {type, select, vip {VIP} other {regular}} guests}
}

Penterjemah Melaraskan Kategori

Semasa diterjemahkan, sesuatu locale boleh menambah bentuk jamak yang diperlukan oleh tatabahasanya, contohnya bahasa Rusia menggunakan one, few dan many. Sasaran XLIFF bagi unit ICU mengandungi cabang setempat.

ICU dalam TypeScript dengan $localize

Sintaks ICU juga berfungsi dalam rentetan yang ditandai dengan $localize, jadi logik jamak dalam kod komponen turut boleh diterjemahkan.

const label = $localize('{count, plural, =1 {1 file} other {{{count}} files}}');

Mengapa ICU Lebih Baik daripada if/else Manual

Pengekodan keras count === 1 ? 'message' : 'messages' menganggap jamak binari gaya bahasa Inggeris. ICU menyerahkan peraturan kepada data CLDR setiap locale, supaya bahasa yang mempunyai tiga atau enam bentuk jamak dapat dipaparkan dengan betul tanpa perubahan kod.

Semakan Pantas

Cabang ICU manakah yang sentiasa diperlukan?

Imbas Kembali

ICU plural memilih teks berdasarkan nombor menggunakan kategori (=0, one, other) dengan # untuk kiraan, manakala select memilih berdasarkan nilai rentetan. Kedua-duanya memerlukan cabang other, boleh disarang secara bebas, berfungsi dalam $localize, dan membenarkan setiap locale menggunakan peraturan jamaknya sendiri.

Percuma untuk bermula

Pelajari HTML dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
38
Pelajaran
144

Soalan Lazim

Adakah pelajaran “Jamak dan Select (ICU)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Angular Academy, termasuk “Jamak dan Select (ICU)”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Angular Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Jamak dan Select (ICU)”?

Kendalikan teks jamak dan berjantina. Anda berlatih Angular Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Angular Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Angular Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Jamak dan Select (ICU)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Angular Academy ini?

Ya. Setiap pelajaran Angular Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Menandakan Teks untuk Terjemahan
  2. Mengekstrak dan Menterjemah Mesej
  3. Jamak dan Select (ICU)
  4. Membina Himpunan Terlokal
← Kembali ke Angular Academy