Bahasa Indonesia

Teks & alat sehari-hari · Perangkat Teks

Mengapa huruf besar bukan hanya A–Z: ß, pemetaan kasus i Turki dan Unicode

· Latar belakang

unicode konversi kasus lokalisasi

Huruf Jerman, Turki dan Yunani melewati transformasi huruf besar dan kecil
Ilustrasi vektor ToolAcre asli

Menjelaskan mengapa huruf besar dan kecil ditentukan oleh tabel Unicode dan bukan aritmatika pada huruf, dengan pengecualian umum — ß menjadi SS, huruf Turki tanpa titik ı, dan sigma akhir Yunani — dan apa artinya bagi konverter berbasis browser.

STRASSE dan huruf yang bertambah — mengapa huruf besar 'straße' mengubah jumlah karakter

Rekatkan `straße` ke dalam konverter dan huruf besar: JavaScript menghasilkan `STRASSE`. Hasilnya terlihat lebih panjang karena huruf kecil sharp s dipetakan ke dua huruf kapital oleh operasi default yang digunakan di sini. Aturan validasi yang mengasumsikan konversi huruf besar-kecil mempertahankan jumlah karakter dapat menolak, memotong, atau menyelaraskan teks bahasa Jerman yang valid.

Arah sebaliknya tidak merekonstruksi sumbernya. Huruf kecil `STRASSE` menghasilkan `strasse`, bukan `straße`, karena jaringan huruf kapital juga mewakili pasangan huruf s biasa. Konsekuensinya, konversi huruf merupakan transformasi teks, bukan pengkodean yang dapat dibalik. Pertahankan ejaan asli setiap kali identitas, kesetiaan tampilan, atau perbandingan yang tepat penting.

Pemetaan kasus sebagai tabel, bukan rumus — cara Unicode mendefinisikan pemetaan kasus yang sederhana dan lengkap untuk setiap huruf berhuruf besar

Kode ASCII sering kali mengajarkan pola yang mudah digunakan: huruf Latin besar dan kecil menempati rentang yang dapat diprediksi, sehingga offset numerik muncul untuk menghubungkannya. Model tersebut tidak lagi berguna setelah teks berisi huruf di luar rentang tersebut atau pemetaan menghasilkan lebih dari satu karakter keluaran. Oleh karena itu konverter memanggil metode kasus string JavaScript alih-alih melakukan aritmatika huruf.

Repositori tidak menampilkan tabel pemetaan Unicode atau membedakan pemetaan sederhana dan lengkap, sehingga detail tersebut tidak boleh disajikan sebagai fitur alat ini. Kontrak yang dapat diamati lebih sempit: `toUpperCase()` dan `toLowerCase()` mendelegasikan ke mesin browser. Hasil harus diuji di lingkungan tempat teks yang dikonversi benar-benar akan digunakan.

Konversi kasus menggunakan pemetaan karakter yang disediakan mesin, bukan aritmatika atau tabel yang diekspos oleh alat ini

Hasil perubahan panjang mempengaruhi lebih dari sekedar penghitung di samping masukan. Offset yang disimpan, rentang pilihan, sorotan, dan posisi kursor yang dihitung sebelum konversi mungkin tidak lagi mengarah ke teks yang diinginkan setelahnya. Risiko yang sama berlaku untuk alur kerja apa pun yang mengalokasikan ruang keluaran dari panjang masukan atau mengasumsikan satu karakter sumber selalu sesuai dengan satu karakter hasil.

Perjalanan bolak-balik juga dapat kehilangan perbedaan meskipun contoh tertentu memiliki panjang tampak yang sama. Beberapa ejaan sumber mungkin menyatu pada satu bentuk huruf besar, meninggalkan pengoperasian huruf kecil tanpa informasi yang cukup untuk memilih yang asli. Bandingkan nilai yang ditransformasikan hanya jika kerugian tersebut dapat diterima; jika tidak, simpan yang asli dan gunakan strategi perbandingan yang dirancang untuk kebutuhan produk.

Pemetaan yang mengubah panjang dan alasan konversi kembali tidak selalu dapat memulihkan sumbernya

Sigma Yunani memberikan peringatan berbeda. Huruf kecil Yunani menggunakan bentuk sigma yang dapat bervariasi menurut posisi dalam sebuah kata, sehingga perubahan huruf besar/kecil tidak selalu dapat ditentukan dari satu karakter yang terisolasi. JavaScript menerima string lengkap, memungkinkan perilaku huruf kecil bawaannya untuk mempertimbangkan teks di sekitarnya daripada mengganti setiap sigma kapital dengan satu mesin terbang tetap.

Uji sigma di dalam kata-kata lengkap, tidak hanya sebagai sampel karakter tunggal. Tanda baca, spasi, dan batas kata adalah bagian dari masukan yang dievaluasi mesin, dan mengeditnya dapat mengubah hasil huruf kecil. Untuk peninjauan pelokalan, pertahankan seluruh frasa yang digunakan oleh antarmuka dan bandingkan frasa tersebut dengan terjemahan yang disetujui daripada memeriksa poin kode saja.

Sigma Yunani menunjukkan bahwa huruf kecil dapat bergantung pada teks di sekitarnya

Bahasa Turki membedakan i bertitik dan i tanpa titik dengan cara yang tidak menjadikan konversi kasus default dan tidak bergantung pada lokasi sebagai perilaku spesifik bahasa Turki. Konfigurasi ToolAcre secara eksplisit mengatakan bahwa pemetaannya tidak bergantung pada lokal dan bahwa i bertitik dan tanpa titik dalam bahasa Turki bukanlah kasus khusus. Oleh karena itu, hasil yang tampak masuk akal bukanlah bukti bahwa nama, alamat, atau string antarmuka dikonversi dengan benar untuk pembaca di Turki.

Respons praktisnya adalah tidak menambahkan substitusi setelah konversi generik. Penggantian seperti itu dapat merusak teks berbahasa campuran dan tetap kehilangan konteks. Gunakan operasi sadar lokal dalam perangkat lunak yang lokalnya diketahui, dan tinjau konten Turki atau Azeri dalam pengaturan itu. Dalam konverter ini, perlakukan contoh i sebagai demonstrasi batasan yang terdokumentasi.

Bahasa Turki bertitik dan tanpa titik Saya memerlukan penanganan sadar lokal yang tidak disediakan oleh konverter ini

ToolAcre mengimplementasikan UPPER dan lebih rendah dengan memanggil metode string JavaScript yang sesuai pada input lengkap. Itu tidak meneruskan lokal, memuat kamus bahasa atau meminta konversi sisi server. Oleh karena itu, outputnya adalah hasil kasus default mesin browser, yang berguna untuk memeriksa perilaku aplikasi biasa tetapi tidak untuk mengesahkan tipografi bahasa tertentu.

Perbedaannya penting ketika mereproduksi bug. Catat string sumber yang tepat, transformasi yang dipilih, dan string yang dihasilkan, bukan hanya melaporkan kapitalisasi yang terlihat salah. Jika kode produksi menggunakan metode JavaScript default yang sama, konverter menawarkan perbandingan yang ringkas. Jika produksi menggunakan API yang sadar lokal, mencocokkan halaman ini bukanlah uji penerimaan yang relevan.

Apa yang tidak tercakup dalam hal ini — aturan pemberian judul untuk digraf dan sejarah ibu kota ẞ

Tombol Judul Kasus adalah transformasi lain dengan kontrak yang sengaja dibatasi. Ia menemukan jaringan huruf, menggabungkan tanda atau apostrof, huruf besar pada karakter pertama dan huruf kecil sisanya. Kata ini tidak memiliki kamus bahasa atau pengecualian panduan gaya, sehingga akronim dan kata benda dapat berubah, sedangkan kata kecil seperti `of` dan `the` menggunakan huruf kapital seperti kata lainnya.

Artikel ini tidak bergantung pada usulan sejarah huruf kapital yang diusulkan dalam garis besar atau aturan yang lebih luas untuk digraf dengan judul, karena keduanya tidak ditetapkan oleh sumber yang diperiksa. Subjek tersebut mungkin berharga dengan referensi independen, tetapi tidak menjelaskan fungsi yang dikirimkan. Di sini panduan yang dapat diandalkan adalah meninjau setiap judul yang dikonversi dan memulihkan ejaan yang disengaja secara manual.

Perilaku huruf besar-kecil pada alat ini, tanpa riwayat alfabet yang tidak didukung

Coba tiga pemeriksaan terfokus dalam konverter huruf besar-kecil: huruf besar `straße`, huruf kecil untuk kata Yunani yang mengandung sigma kapital, dan jalankan sampel i bertitik dan tanpa titik melalui kedua arah. Amati string sebenarnya daripada memperkirakannya dari bahasa Inggris. Kemudian gunakan Undo di antara eksperimen sehingga setiap hasil dimulai dari teks asli dan bukan transformasi lossy sebelumnya.

Pelajaran yang lebih luas bersifat operasional: konversi kasus dapat mengubah panjangnya, menghilangkan perbedaan, dan bergantung pada konteks linguistik yang tidak diketahui oleh operasi default. Gunakan alat ini untuk mengungkap perilaku tersebut, bukan untuk menjanjikan kebenaran lokalisasi universal. Pertahankan teks sumber, uji frasa nyata secara lengkap, dan terapkan tinjauan sadar lokal di mana pun hasil spesifik bahasa diperlukan.