Metnin dilini algılamak nasıl?

4 Cevap php

Kullanıcıların giriş metin parçacıkları sağlayan bir form var. Peki nasıl girilen metnin dilini anlamaya?

Şimdi özellikle bu dilleri:

Arapça: هذه هي بعض النصوص العربية

Çin: 这 是 一些 阿拉伯 文字

Japonca: これ は, いくつ か の アラビア 語 の テキスト です

[Edit] tespiti de bir API üzerinden (dahil hiçbir tarayıcı) alınacağı metin üzerinde çalışmak oldu

4 Cevap

Sen karakterler Arapça, Çince veya Unicode haritanın Japon kesimlerinden olup olmadığını anlayabilirsiniz.

Eğer üzerinde listesine bakarsanız Wikipedia, bu dillerin her haritanın birçok bölüm olduğunu göreceksiniz. Her geçen karakterle ilgili endişelenmenize gerek kalmaz ama, çeviri yapmıyorsunuz.

Örneğin, Çince metin (onaltılık) 0x8FD9 0x662F 0x4E00 başlıyor - ve bu "CJK" tüm Çinli bölüm vardır. Burada başlamak için birkaç aralıkları:

Arapça (0600-06FF)

Japon

  • Hiragana (3040-309F)
  • Katakana (30A0-30 ve devamı)
  • Kanbun (3190-319F)

Çin

  • CJK (4E00-9FFF)

(I got the hex for your Çin by using a Çin to Unicode Converter.)

Sen metin bir pasajı dilini tespit için Google Ajax API kullanabilirsiniz.

Muhtemelen kullanıcının dilini tahmin doğru dilde yanıtları göstermektir. Ne tercih edilen diller için tarayıcınızın ayarlarını inceleyerek hakkında? HTTP başlığında o Alınır Accept-Language. Bölüm 14.4 bakın here.

Ben sunucu tarafı için, aynı şeyi keşfetmeye çalışıyorum. Bugüne kadar ben buldum https://code.google.com/p/language-detection/. Bu kimse yardımcı olur umarım.