Fitur terjemahan otomatis Google Chrome tersandung pada satu halaman dalam salah satu aplikasi kami. Setiap kali kami menavigasi ke halaman khusus ini, Chrome memberi tahu kami bahwa halaman tersebut dalam bahasa Denmark dan menawarkan untuk menerjemahkan. Halaman ini dalam bahasa Inggris, sama seperti setiap halaman lainnya di aplikasi kami. Halaman khusus ini adalah halaman pengujian internal yang memiliki beberapa lusin bidang formulir dengan label bahasa Inggris. Saya tidak tahu mengapa Chrome berpikir bahwa laman ini adalah bahasa Denmark.
Adakah yang memiliki wawasan tentang bagaimana fitur deteksi bahasa ini bekerja dan bagaimana saya dapat menentukan apa yang menyebabkan Chrome berpikir bahwa halaman tersebut dalam bahasa Denmark?
html
localization
internationalization
google-chrome
Samuel Neff
sumber
sumber
Jawaban:
Pembaruan: menurut Google
Mereka menyarankan Anda memperjelas apa bahasa situs Anda. Gunakan yang berikut yang tampaknya membantu meskipun
Content-Language
sudah usang dan Google mengatakan mereka mengabaikannyalang
Jika itu tidak berhasil, Anda selalu dapat menempatkan banyak teks (misalnya halaman "Tentang" Anda) di div tersembunyi. Itu mungkin membantu dengan SEO juga.
EDIT (dan info lainnya)
OP bertanya tentang Chrome, jadi rekomendasi Google diposting di atas. Pada umumnya ada tiga cara untuk mencapai ini untuk browser lain:
Rekomendasi W3C : Gunakanatribut
lang
dan / atauxml:lang
dalam tag html:UPDATE: sebelumnya rekomendasi Google sekarang sudah tidak berlaku lagi meskipun masih dapat membantu dengan Chrome. :
meta http-equiv
(seperti dijelaskan di atas):Gunakan tajuk HTTP (tidak disarankan berdasarkan uji pengenalan lintas-browser ):
Keluar dari Chrome sepenuhnya dan mulai ulang untuk memastikan perubahan terdeteksi. Chrome tidak selalu mengambil tag meta baru di penyegaran tab.
sumber
Saya menambahkan
lang="en"
ke deklarasi doctype, menambahkan meta tag untuk charset utf-8 dan Content-Langauge di header HTML, menetapkan charset sebagai utf-8 dan Content-Language sepertien
pada header respons HTTP dan tidak melakukan apa pun untuk menghentikan Chrome dari menyatakan saya halaman dalam bahasa Portugis. Satu-satunya hal yang memperbaiki masalah adalah menambahkan ini ke header HTML:Tetapi sekarang saya telah mencegah pengguna menerjemahkan halaman saya yang jelas dalam bahasa Inggris ke bahasa mereka sendiri. Pekerjaan yang buruk, Chrome. Anda bisa lebih baik dari ini.
sumber
Tanpa mengetahui teksnya, mungkin deteksi ngram sedang diperdayai oleh konten halaman Anda.
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
https://en.wikipedia.org/wiki/N-gram
sumber
Chromium menganggap halaman ini dalam bahasa Filipina: http://www.reyalvarado.com/portfolio/cuba/ Catatan: Hampir tidak ada teks pada halaman kecuali nama pemilik dan item menu. Item menu diganti secara dinamis dengan gambar oleh FLIR.
HTML menyatakan halaman sebagai Bahasa Inggris AS:
sumber
Tentukan bahasa default untuk dokumen, lalu gunakan atribut terjemahan dan
notranslate
kelas Google per elemen / wadah, seperti dalam:Penjelasan:
Jawaban yang diterima menyajikan solusi menyeluruh, tetapi tidak membahas bagaimana menentukan bahasa per elemen, yang dapat memperbaiki bug dan memastikan halaman Anda tetap dapat diterjemahkan .
Kenapa ini lebih baik? Ini akan bekerja sama dengan internasionalisasi Google versus mematikannya. Mengacu kembali ke OP:
Jawaban : Google berusaha membantu Anda dalam internasionalisasi, tetapi kami perlu memahami mengapa ini gagal. Membangun dari jawaban NinjaCat , kami berasumsi bahwa Google membaca dan memprediksi bahasa situs web Anda menggunakan algoritma N-gram - jadi, kami tidak dapat mengatakan dengan tepat mengapa Google ingin menerjemahkan halaman Anda; kita hanya dapat berasumsi bahwa:
translate="no"
danlang="en"
(atau menghapus kata-kata ini) akan membantu Google untuk memprediksi bahasa halaman Anda dengan benar.Sayangnya, sebagian besar orang yang mencapai pos ini tidak akan tahu kata-kata apa yang menyebabkan masalah. Gunakan fitur "Terjemahkan ke Bahasa Inggris" bawaan Chrome (di menu konteks Klik Kanan) untuk melihat apa yang diterjemahkan, Anda mungkin melihat terjemahan yang tidak terduga seperti berikut :
Jadi, perbarui html Anda dengan tag terjemahan yang sesuai sampai Google Terjemahan dari halaman Anda tidak mengubah apa pun - maka kami seharusnya mengharapkan popup pergi untuk pengunjung masa depan.
Bukankah akan banyak pekerjaan untuk menambahkan semua tag tambahan ini? Ya, sangat mungkin. Jika Anda menggunakan Wordpress atau Sistem Manajemen Konten lain, lihat dokumentasi mereka untuk mengetahui cara cepat memperbarui kode Anda!
sumber
Coba sertakan properti
xml:lang=""
ke<html>
, jika solusi lain tidak berhasil:sumber