Jangan Tebak Bahasa Saya
(vitonsky.net)- Ketika layanan web menentukan bahasa tampilan berdasarkan geolokasi IP, pengguna VPN, pelancong, warga yang tinggal di luar negeri, dan pengguna di negara multibahasa bisa melihat bahasa yang tidak mereka inginkan
- Negara dan bahasa tidak memiliki hubungan 1:1; Belgium memiliki 3 bahasa resmi, Switzerland 4, India 22, dan Canada adalah negara yang secara resmi dwibahasa
- Browser mengirim header Accept-Language berdasarkan pengaturan OS atau browser; contohnya
Accept-Language: en-US,en;q=0.9,de;q=0.8 - Implementasi yang lebih baik adalah memprioritaskan
Accept-Language, lalu mengingat bahasa yang diubah langsung oleh pengguna dengan cookie atau parameter URL - GeoIP sebaiknya dipakai untuk area yang memang membutuhkan lokasi seperti mata uang, pengiriman, dan persyaratan hukum, dan bukan untuk pemilihan bahasa agar preferensi pengguna tidak terdistorsi
Geolokasi IP tidak menunjukkan preferensi bahasa
- Alamat IP hanya menunjukkan dari mana permintaan berasal, bukan bahasa apa yang diinginkan atau dipahami pengguna
- Pada penggunaan VPN, saat bepergian, tinggal di luar negeri, atau di negara dengan beberapa bahasa resmi, pemilihan bahasa berbasis IP sangat mudah meleset
- Negara dan bahasa tidak berkorelasi secara sederhana
- Belgium: 3 bahasa resmi
- Switzerland: 4 bahasa resmi
- India: 22 bahasa resmi
- Canada: secara resmi dwibahasa dan secara tidak resmi berada dalam lingkungan multibahasa
- Pengguna VPN bisa melihat bahasa acak setiap kali IP berubah, dan ada kasus saat mengakses Google muncul bahasa yang tidak mereka pahami
- Jika basis data IP yang keliru diprioritaskan dibanding informasi bahasa dari browser, pengguna akan menerima bahasa UI yang tidak mereka inginkan
Browser harus memprioritaskan Accept-Language
- Semua browser mengirim header
Accept-Languageyang berisi bahasa pilihan pengguna - Nilai ini didasarkan pada pengaturan OS atau browser, bukan lokasi atau IP
- Contoh:
Accept-Language: en-US,en;q=0.9,de;q=0.8
- Alur penanganan yang masuk akal itu sederhana
- Baca
Accept-Language - Hormati nilainya
- Biarkan pengguna mengubah bahasa jika perlu
- Simpan pilihan yang diubah itu dengan cookie atau parameter URL
- Baca
- Meski GeoIP dibutuhkan, penggunaannya sebaiknya dibatasi bukan untuk bahasa melainkan untuk area seperti mata uang, pengiriman, dan persyaratan hukum
1 komentar
Komentar Hacker News
Tidak menerima Accept-Language itu benar-benar menyebalkan
Yang lebih buruk, banyak situs multibahasa malah menerjemahkan tombol ganti bahasa dan daftar bahasa ke bahasa yang sedang dipakai; desain bodoh yang menggagalkan tujuannya sendiri
Wikipedia melakukannya dengan benar. Tombol ganti bahasanya jelas dengan ikon multibahasa universal, daftar bahasa menampilkan nama tiap bahasa dalam bahasa itu sendiri, umumnya diurutkan alfabetis, dan kandidat yang paling mungkin ditaruh di atas
Misalnya halaman Wikipedia bahasa Inggris menampilkan bahasa rekomendasi seperti
Deutsch,Français,Nederlands. Kalau bahasa diasumsikan seenaknya, semua orang jadi capek; cukup lakukan seperti WikipediaAda yang punya tombol tutup, tapi banyak yang tidak, jadi makin menyebalkan
中文danItalianomuncul sebagai rekomendasi, sementara sisanya dikelompokkan berdasarkan wilayah geografis dan tidak benar-benar alfabetisDi bagian Eropa sepertinya ada kelompok aksara Kiril, tetapi
Қазақшаmuncul setelahУкраїнська; itu tidak tepat bahkan menurut bahasa Kazakh, dan bisa mengejutkan bagi orang yang tidak mengenalҚ. Rumpun bahasa Tionghoa juga tampaknya tidak diurutkan menurut urutan guratan, dan bahasa Korea ada di bawahnyaLokalisasi Wikipedia memang hebat, tetapi ini sekadar tambahan kecil tentang betapa ambigu “pengurutan alfabetis” ketika nama bahasa ditampilkan dalam bahasanya sendiri
Dokumen dukungan Google https://support.google.com/youtube/answer/87604 menjelaskan tombol yang harus ditekan dalam bahasa Inggris, tetapi saya tidak tahu bahasa Amharik dan saat itu bahkan tidak tahu itu bahasa apa. Terjemahan iPhone juga tidak mengenali bahasa Etiopia ini
Situasi merepotkan yang bisa dengan mudah dihindari kalau saja ada satu ikon multibahasa universal
Tapi kalau yang muncul sistem tulisan yang tidak dikenal seperti bahasa Bengali, itu jadi masalah
Karena itu, di semua menu pilihan bahasa, mungkin bagus jika bahasa Inggris dan bahasa Mandarin dimasukkan dalam bentuk yang tidak dilokalkan sebagai jalan keluar. Hampir semua pengguna web akan cukup mengenalinya untuk meraba-raba menu dan menemukan bahasa mereka yang sebenarnya
Saya juga tidak suka “fitur” YouTube yang menerjemahkan otomatis judul video ke bahasa pengaturan. Saya bisa memahami bahasa Inggris, jadi terjemahan otomatis seperti ini tidak saya perlukan dan benar-benar mengganggu
Kalau saya tidak tahu bahasanya, video itu mungkin memang bukan untuk saya. Video yang ditujukan untuk penonton internasional kebanyakan berbahasa Inggris, atau setidaknya sudah diterjemahkan sendiri oleh pembuatnya
Judul adalah kalimat pendek, jadi kurang konteks yang diperlukan untuk menerjemahkan. Saya pernah melihat judul berbahasa Portugis seperti
Vamos assistir uma conexão com o passado, yang secara harfiah berarti “mari kita menonton koneksi dengan masa lalu”, dan baru setelah menerjemahkannya balik di kepala saya sadar judul aslinya adalahLet's play A Link to the PastMateri online juga bagus untuk latihan bahasa kedua, jadi saya berharap kemampuan kami tidak diremehkan. Setidaknya biarkan kami membaca teks aslinya sendiri; kalau perlu kami bisa memakai Google Translate atau kamus
Saya mengakui fitur ini memperluas aksesibilitas konten online, tetapi kalau membuat pengalaman jadi buruk, setidaknya harus bisa dimatikan
Misalnya seperti
Lidl is worth it, ja!Beberapa YouTuber yang sering saya tonton memperluas bahasa dengan trek audio terjemahan buatan penggemar, dan kadang bahasa Inggris termasuk salah satunya. Setiap kali menonton video seperti itu, permainan kata atau makna tersembunyi dalam bahasa asli hilang dalam terjemahan, jadi saya harus beralih manual ke bahasa aslinya setiap kali
Karena YouTube tidak suka Firefox dan ekstensi terkait YouTube, video sering mulai sebelum semua kontrol selesai dimuat, sehingga saya bahkan harus memundurkan video saat ingin mengganti trek bahasa
Ada balasan lain yang menautkan ekstensi yang membantu, jadi saya berniat mencobanya, tetapi menyebalkan bahwa di pengaturan YouTube tidak ada satu toggle “selalu gunakan bahasa asli”. Kalau saya menginginkan audio terjemahan, saya bisa menyalakannya sendiri, dan karena saya bisa beberapa bahasa sampai tingkat tertentu, kasus seperti itu jarang terjadi pada konten yang saya tonton
Kalau tujuannya menghambat pemblokiran iklan atau mendorong iklan, setidaknya saya bisa mengerti, tetapi ini cuma fitur “kenyamanan” yang diimplementasikan dengan buruk. Meski begitu, rasanya ada PM tertentu yang mungkin mendapat pujian karenanya
Tapi kalau alih-alih judul bahasa Inggris yang bisa saya baca, mereka menampilkan judul bahasa Norwegia hasil terjemahan mesin yang jelek, menurut pengalaman itu adalah sinyal bahwa kanal tersebut adalah kanal berkualitas rendah yang mengejar algoritma, jadi saya menekan “Jangan rekomendasikan kanal ini”
Saya tidak suka desain seperti ini karena ada asumsi tersirat bahwa “semua orang hanya memahami satu bahasa”
Saya bisa membaca bahasamu dengan nyaman, dan biasanya lebih memilih bahasa asli daripada lokalisasi yang buruk. Jadi kalau bahasa pilihan ditebak berdasarkan IP, hampir pasti salah
Browser sudah memberi tahu bahasa apa saja yang bisa digunakan lewat pengaturan bahasa, jadi tidak ada alasan untuk berasumsi bahwa pengguna tidak cukup pintar untuk mengaturnya dengan benar
Dubbing AI YouTube yang aktif secara default bahkan lebih buruk. Sekitar separuh video yang saya tonton harus dibuka, masuk ke pengaturan untuk mematikan dubbing AI, lalu diputar ulang ke awal. Tidak lama, tapi sangat mengganggu
Saya juga tidak suka judul yang ditampilkan dalam terjemahan. Rasanya sangat aneh ketika menonton video yang berbicara dalam bahasa Inggris, tetapi judulnya dalam bahasa lain
Bahasa Spanyol saya belum lancar, tetapi salah satu cara bagus untuk menjadi lancar adalah mengonsumsi konten dalam bahasa asli, dan YouTube membuat itu sulit
Yang paling menyebalkan adalah Google. Mereka tahu siapa saya, tahu saya sedang bepergian, dan tahu preferensi bahasa saya adalah bahasa Inggris, tetapi di halaman tertentu mereka tetap menampilkan bahasa berdasarkan lokasi
Kalau saya sudah mengizinkan Google melacak saya, saya ingin mereka memakainya bukan hanya untuk iklan, tetapi juga untuk pengalaman pengguna yang baik
Walaupun saya tinggal di AS, Google tetap berusaha memberi hasil berbahasa Spanyol untuk pencarian terkait bahasa Katalan. Misalnya, mereka lebih memilih Wikipedia berbahasa Spanyol. Perilaku mesin pencari ini naik turun dari tahun ke tahun, tetapi tidak pernah benar-benar baik
Ini masalah besar bagi anak-anak saya yang tidak memahami bahasa Spanyol, dan juga masalah bagi wilayah berbahasa Katalan di luar Spanyol, termasuk Andorra
Gemini dengan mudah menandai konten berbahasa Katalan sebagai tidak aman dan mencegah percakapan dilanjutkan. Itu terjadi bahkan untuk prompt seperti “ringkas artikel ini”, meski belakangan mungkin sudah membaik
Dulu Google adalah contoh perusahaan besar yang bertanggung jawab dan peka terhadap keberagaman dunia. Saya masih menghargai upaya banyak tim, tetapi tampaknya jelas bahwa ini bukan lagi prioritas
Belakangan, mereka tampaknya memutuskan bahwa menerjemahkan otomatis ulasan Maps dari bahasa lokal ke bahasa Inggris adalah hal yang salah. Semua bahasa lain diterjemahkan ke bahasa Inggris, tetapi karena saya tinggal di wilayah itu, mereka berasumsi saya juga bisa bahasa lokal dan tidak membutuhkan bahasa Inggris
Hasil pencarian juga sama. Karena saya sudah lama berada di sana, mereka menganggap saya pasti menginginkan Wikipedia berbahasa lokal. Padahal saya mencari dalam bahasa lokal hanya karena harus begitu untuk menemukan informasi lokal, tetapi itu ditafsirkan sebagai sinyal preferensi
Ini juga berlaku untuk tren umum bahwa “perangkat lunak harus dengan pintar menebak semua preferensi”. Sulit memahami mengapa Google terus melakukannya meskipun secara konsisten gagal seperti ini, selain karena arogansi korporat yang keliru
Ia mengatakan bahwa demi efisiensi ada tahapan dalam rendering konten, dan saat struktur halaman utama dibuat, informasi pengguna belum tersedia. Namun bahkan pada tahap itu, header Accept-Language seharusnya bisa langsung digunakan, jadi menurut saya alasannya tidak masuk akal
Mengubah negara tidak mudah, dan saya harus melepaskan negara lama beserta aplikasinya. Karena saya cukup sering bolak-balik, akhirnya saya membeli ponsel kedua dan membuat akun untuk negara baru
Rasanya lucu, karena mereka pasti tahu saya tidak memahaminya, tetapi tetap melakukannya karena bisa menagih pengiklan
Prinsip yang jauh lebih penting adalah jangan menerjemahkan konten secara otomatis ke bahasa pengguna
Cukup tampilkan bahasa yang benar-benar ada datanya. Jika pengguna menginginkannya, mereka cukup pintar untuk menekan tombol “terjemahkan” di browser, dan kualitas terjemahannya kemungkinan juga lebih baik
Bahasa Inggris bukan bahasa ibu maupun bahasa kedua saya, tetapi saya memahaminya cukup baik untuk dipakai bekerja setiap hari. Saya tidak ingin mengarungi tumpukan sampah terjemahan otomatis hanya untuk mencari tombol agar bisa membaca versi bahasa Inggris aslinya
Anehnya, masalah ini terutama terjadi pada bahasa Inggris. Situs dalam bahasa lain biasanya tidak melakukan itu, dan fakta itu saja sudah menjadi sinyal yang cukup bahwa pengunjung dari luar negeri tidak menyukainya
Jika ingin memakai terjemahan mesin di situs web, cobalah terjemahan bolak-balik untuk semua bahasa sebelum dipublikasikan. Terjemahkan, tempel hasilnya kembali, lalu terjemahkan lagi ke bahasa asli; kira-kira akan terlihat seperti apa isi yang hendak Anda publikasikan. Sebaiknya jangan dilakukan
Bahkan jika tidak bisa bahasa Inggris, saya rasa konten hasil terjemahan itu tidak layak dilihat
Fitur untuk mengganti bahasa atau melihat teks asli sulit ditemukan, dan berbeda-beda tergantung apakah memakai aplikasi, web seluler, atau web desktop
Upaya mereka yang terlalu keras agar orang mengunduh aplikasi juga menjadi masalah tersendiri
Asumsi bahwa “semua browser mengirim header Accept-Language, memberi tahu bahasa pilihan berdasarkan pengaturan OS atau browser pengguna, dan pengguna bisa mengubahnya jika mau” juga sudah runtuh
Pertama, Accept-Language adalah daftar berurutan, tetapi orang yang sehari-hari memakai beberapa bahasa sering kali memiliki preferensi berdasarkan topik, bukan urutan preferensi absolut
Meski situs berita berbahasa Inggris punya versi terjemahan bahasa Prancis, pengguna bisa saja menginginkan versi Inggris walaupun lebih mahir berbahasa Prancis
Karena itu, pengguna akhirnya menetapkan bahasa yang paling praktis, bukan preferensi sebenarnya. Misalnya, situs lokal non-Inggris cenderung tidak banyak berulah dibanding situs internasional berbahasa Inggris, jadi jika bahasa disetel hanya ke Inggris, situs lokal akan dipaksa tampil dalam bahasa Inggris sementara sebagian besar situs lain tidak banyak terpengaruh
Justru, dalam kasus seperti itu, situs Prancis yang mengabaikan semua preferensi dan secara default mendorong versi Prancis bisa membantu
Pada akhirnya, pengelola situs sebaiknya tidak sok pintar dan menyediakan antarmuka yang sangat jelas serta cepat untuk beralih ke versi lain. Wikipedia melakukannya cukup baik
Situs web multibahasa seharusnya hanya menyediakan set terjemahan yang lengkap diterjemahkan dan sudah diverifikasi. Menerjemahkan UI dan konten sendiri ke beberapa bahasa bisa masuk akal bagi perusahaan, tergantung target pelanggannya, tetapi semua itu harus dipelihara dan disinkronkan
Konten pengguna tidak boleh disentuh. Jangan diterjemahkan otomatis, kecuali ditempatkan sebagai fitur bantuan di bawah tombol seperti “Bahasa Spanyol terdeteksi. Klik untuk melihat terjemahan otomatis bahasa Inggris”; dan sebetulnya, itu pun lebih baik diserahkan ke browser
Pilih bahasa dengan Accept-Language, lalu sediakan juga cara tambahan untuk beralih
Wikipedia sebenarnya bukan menyediakan terjemahan dari konten yang sama. Tiap bahasa adalah instance terpisah, dan kecuali teks UI MediaWiki, itu bukan terjemahan dokumen yang sama, melainkan dokumen berbeda dalam bahasa berbeda yang memiliki sebagian irisan. Versi bahasa Belanda dari entri
Languagetidak mengklaim sebagai terjemahan bahasa Belanda dari artikel yang sama, dan sengaja berada di subdomain serta path yang berbedaMenurut saya masih banyak ruang perbaikan di sisi browser maupun situs web
Situs web harus memungkinkan pengguna menimpa bahasa yang diminta browser. Browser juga harus memungkinkan pengguna memilih per situs: “default situs”, “minta bahasa default sistem”, “minta bahasa Inggris”, “minta bahasa Mandarin”, “minta bahasa Spanyol”, dan seterusnya
Cara terbaik adalah situs mengekspos daftar bahasa yang didukung. Misalnya bisa ditaruh di
manifest.json: https://developer.mozilla.org/en-US/docs/Web/Progressive_web... formatnya bisa berupa semacamMap>Pemilihan bahasa seharusnya dilakukan di sisi klien, bukan server
Jika Anda ingin versi Inggris meskipun situs berita berbahasa Inggris punya versi terjemahan Prancis, cukup beri kedua bahasa prioritas yang sama
Melihat kenyataan bahwa banyak, mungkin hampir semua situs, tidak menghormati header Accept-Language, sulit percaya bahwa pengguna sedang menjalankan teori permainan semacam itu di kepala mereka saat memilih pengaturan ini
Saya pernah menangani proyek untuk mengimplementasikan aksesibilitas dan dukungan multibahasa di situs terkait pemerintah
Kami menggunakan Accept-Language untuk memilih default di antara bahasa yang didukung, tetapi PM membalik keputusan itu dan memaksa default bahasa Inggris
Auditor aksesibilitas memasukkan “penggunaan Accept-Language” sebagai item merah dalam laporan audit, dan setelah mengetahui bahwa awalnya sudah diimplementasikan begitu lalu dibatalkan, ia menegur keras perusahaan
Berkat keputusan bodoh ini dan keputusan serupa lainnya, pekerjaan kontrak jadi bertambah beberapa minggu
Karena sepertinya ini tempat untuk menumpahkan keluhan soal bahasa, saya juga punya keluhan tentang Apple TV
Saya punya keluarga yang hanya berbahasa Jepang, sementara akun Apple saya Finlandia. Kami mencoba menonton
The Martianbersama, tetapi meskipun track audio sulih suara Jepang jelas ada, kami tidak bisa memilihnyaOpsi yang tidak terkait dengan negara akun sama sekali tidak ditampilkan, dan untuk mengakalinya harus mengubah seluruh akun Apple ke negara lain
Namun jika ada langganan Apple TV aktif, perubahan itu juga tidak bisa dilakukan. Akibatnya keluarga tidak bisa menonton Apple TV bersama
Kalau ingatan saya benar, ada pengaturan bahasa akun, dan untuk menonton
Kim's Convenienceharus disetel ke bahasa Inggris. Tidak perlu VPN dan tidak perlu berpura-pura berada di negara lain, tetapi jika bahasa yang tepat tidak disetel, kontennya disembunyikanIni juga terjadi ketika menonton konten dengan subtitle Inggris di UI bahasa Finlandia
Saat berada di luar negeri, ini benar-benar tidak masuk akal; bahkan di negara sendiri pun menyebalkan jika versi lokalnya tidak setara, seperti dokumentasi pemrograman
Dalam skenario ideal pun kemungkinan besar saya lebih memilih versi asli berbahasa Inggris, dan dalam praktiknya sering kali itu terjemahan mesin, jadi jauh lebih buruk
Hal lain yang belakangan makin sering terlihat dan sangat menyebalkan adalah munculnya versi terjemahan mesin dari konten di hasil pencarian. Reddit sekarang melakukan ini, dan itu benar-benar buruk
Salah satu alasan utama memakai kata kunci pencarian non-Inggris adalah untuk mendapatkan hasil non-Inggris. Misalnya saat mencari informasi tentang topik yang tidak berlaku secara global
Orang-orang di belahan dunia lain bisa memahami beberapa bahasa dengan baik
Saya belum mencoba apakah ini berbasis lokasi atau Accept-Language, tapi perilakunya benar-benar bikin marah
Saat melakukan pencarian web, hasilnya versi bahasa Inggris, lalu ketika dibuka, begitu JavaScript dimuat langsung berubah ke PT-BR, dan beberapa detik kemudian setelah halaman selesai dimuat penuh, kembali lagi ke bahasa Inggris sambil menyisakan slug
/pt-br/di URLSangat jelas bahwa terjemahannya tidak dibuat atau ditinjau oleh manusia. Selain itu, saya pengguna PT-PT, jadi perbedaan dengan PT-BR membuatnya makin menyebalkan
Dulu saya pernah membuat sistem kecil yang mem-parse Accept-Language, memberi bobot pada prioritas pengguna, lalu memilih bahasa yang paling mendekati preferensi pengguna dari yang kami sediakan
Misalnya, jika kami punya terjemahan Portugis Brasil tetapi tidak punya Portugis Portugal, kami akan menyajikan yang pertama kepada pengguna yang meminta yang kedua, tetapi jika ada kecocokan persis dengan prioritas lebih rendah, kami memakai yang itu
Secara teknis sistemnya bekerja baik, kodenya rapi, dan menyenangkan untuk dibuat
Namun dari sudut pandang pengguna, kebanyakan orang ternyata hanya menginginkan bahasa Inggris, terlepas dari header Accept-Language. Mereka bisa mengubahnya di footer, tetapi tampaknya tidak cukup terlihat
Sekarang kami cukup bertanya, dan pengguna juga lebih puas
Sulit mengetahui cara tetap berada di halaman yang saya klik. Saya bingung apakah tombol “continue” menerapkan nilai yang sudah dipilih sebelumnya, atau hanya menutup popup dan tetap menampilkan halaman saat ini
Kalau yang pertama, saya juga tidak tahu apakah nilai yang sudah dipilih sebelumnya itu bahasa halaman saat ini atau bahasa lain, lalu jadi mempertimbangkan apakah harus menebak dan memilih locale saat ini lalu menutup popup. Bahkan terpikir apakah bisa menghapus modal lewat developer tools untuk melewatinya. Satu tombol tutup kecil pun terasa seperti kemewahan di tembok bahasa seperti ini
Dalam 95 dari 100 kasus, bahasa yang saya klik memang sudah baik-baik saja. Kalau saya perlu informasi pengiriman regional atau opsi pembayaran versi Jerman, saya akan mencari pemilih bahasa di kanan atas atau footer
Rasanya web akan jauh lebih menyenangkan jika cukup ada di salah satu dari dua tempat itu, tanpa popup JavaScript yang terus muncul
Saya penasaran dengan pola untuk menyediakan pilihan. Artikel ini bagus karena menolak ikon, tetapi saya tidak suka pendekatannya yang mereduksi banyak wilayah menjadi satu bahasa: https://usersnap.com/blog/design-language-switch/