ユーザーがテキストスニペットを入力できるフォームがあります。では、入力したテキストの言語をどのように理解できるでしょうか。
具体的には今のところこれらの言語:
アラビア語:هذههيبعضالنصوصالعربية
中国語:正しい一十阿拉伯文字
日本語:ここは、こののアラビア語のピンです
[編集] APIを介して取得されたテキストに対しても検出が機能します(ブラウザーは関与しません)
ユーザーがテキストスニペットを入力できるフォームがあります。では、入力したテキストの言語をどのように理解できるでしょうか。
具体的には今のところこれらの言語:
アラビア語:هذههيبعضالنصوصالعربية
中国語:正しい一十阿拉伯文字
日本語:ここは、こののアラビア語のピンです
[編集] APIを介して取得されたテキストに対しても検出が機能します(ブラウザーは関与しません)
文字がUnicodeマップのアラビア語、中国語、または日本語のセクションからのものであるかどうかを判断できます。
ウィキペディアのリストを見ると、これらの言語のそれぞれにマップの多くのセクションがあることがわかります。ただし、翻訳を行っていないため、最後のすべてのグリフについて心配する必要はありません。
たとえば、中国語のテキストは(16進数で)0x8FD9 0x662F 0x4E00で始まります。これらはすべて、中国語の「CJK統合漢字」セクションにあります。始めるためのいくつかの範囲は次のとおりです。
アラビア語(0600–06FF)
日本
中国語
(中国語からUnicodeへのコンバーターを使用して中国語の16進数を取得しました。)
Google Ajax APIを使用して、テキストスニペットの言語を検出できます。
おそらく、ユーザーの言語を推測することは、適切な言語で応答を表示することです。ブラウザの設定で優先言語を調べるのはどうですか?HTTPヘッダーAccept-Languageから取得します。ここのセクション14.4を参照してください。
私はサーバー側についても同じことを模索しています。これまでのところ、 https://code.google.com/p/language-detection/を見つけました。これが誰かを助けることを願っています。
CLD2を中心に構築されたWebサービスであるhttps://detectlanguage.com/を使用できます。