web作成に関する質問です。 アクセスしてきた場所(日本の人が日本で見ている等)を特定し、その国の言語に自動的に翻訳し、その国の言語で表示させる、といったことは可能でしょうか?


方法は問いません。Google翻訳を自動で一枚かませるような感じでもできるような気がするのですが、そういったことは技術的に可能なのでしょうか?

もしできるとして、実際にどうすれば良いのかも教えていただけるとありがたいです。

宜しくお願いいたします。
(m_m)

回答の条件
  • 1人5回まで
  • 登録:2008/02/01 13:31:08
  • 終了:2008/02/08 13:35:02

回答(3件)

id:komorebi No.1

komorebi回答回数133ベストアンサー獲得回数82008/02/01 15:13:21

ポイント35pt

HTML側で、そこにある情報が

何の言語をつかっているかをきちんと宣言してれば、

閲覧側のパソコン(ブラウザ)環境は、言語に合わせて表示モードを変化します。

iPod touch や iPhoneなどがそーなっています。

 

しかし、HTMLに書かれている情報を自動で閲覧者の環境にあわせて変更するのは出来ません。

プログラムなどを通して、出力を変えることは可能ですが・・・

必要な言語分の原稿は必ず必要です。

 

また、Googleなどの自動翻訳サービスを、商用利用や勝手にフィルターとして使うのは

よろしくありません。

 

ちゃんと翻訳会社にネイティブチェックなどをしてもらった原稿をもって、

それぞれのページを作成が望ましいと思います。

id:prato

特に「世界に向けて何かを売りたい!!」というようなことではなく

単純に、既にあるサイトやブログを他国の言語に変換することで

アクセス数や、どの国の人に見られることが多いのか、など

統計を採ってみたいのです。

何かうまい方法があるといいのですが…。

有り難うございました。

m(_ _)m

2008/02/01 18:10:06
id:uehaj No.2

uehaj回答回数158ベストアンサー獲得回数152008/02/02 16:25:48

ポイント35pt

問題をいくつかに分けて考えます。

まず、ブラウザが送信してくるヘッダを見てページ内容を切り替えることは可能です。例えば、mod_rewriteモジュールを使ってAccept-Languageヘッダに応じて異なるページを表示させることができるでしょう。

http://www.net-newbie.com/trans/mod_rewrite.html

http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html

「Accept-languate」は、ブラウザ側から「この言語は読めるよ」と伝えてくるものです。ご質問のように、「どこの国からアクセスしてきているか」という情報を判別することも可能は可能です。使用されているIPアドレス帯から地域を割り出すことができるからです。

http://blog.livedoor.jp/nipotan/archives/50612727.html

次に、「動的にページを翻訳する」ことですがこれも可能です。同じくmod_rewriteを使って、リバースプロクシーとして動作させることができるでしょう。

ただ、翻訳後のページ中に含まれるURLをクリックされた場合に、そこのページが翻訳される際に、Google翻訳を経由したアクセスになってしまうのでもともとの読者からのリクエストの情報が取れなくなってしまうのは難点かもしれませんね。その場合、HTML中のリンク情報を置き換えてやるなどのもうひと手間が必要になってくるかもしれません。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 uehaj 158 141 15 2008-02-03 12:18:11
  • id:nofrills
    私は技術的なことはまったくわからないので、回答ではなくコメントさせていただきますが、
    日本からアクセスすると日本語で表示される英語のサイトはいくつか知っています。
    たとえば、http://www.last.fm/ に日本からアクセスすると、
    http://www.lastfm.jp/ に転送されます。(このサイトは元々「日本語版」を作っていました。)
    転送されないものでは、たとえば、http://www.hotelclub.com/
    ここはホテル予約の英語サイトですが、日本からアクセスすると日本語で表示されます。
    (ここも、日本語の文を見る限り、機械翻訳ではなく「日本語版」を作っているようです。)

    いずれにせよ、現状、Googleの日本語と英語の間の機械翻訳は、
    意味のわからない結果を吐き出すだけなので、実用にはどうかなぁ、と思います。
    Google翻訳(英→日)の中身について、下記、ご参考までに。
    http://d.hatena.ne.jp/nofrills/20080120/p3
  • id:tezcello
    ご質問の方向性と違うのでこちらへ。

    ブラウザからサーバに送られるリクエストヘッダに、
    HTTP_ACCEPT_LANGUAGE
    というものがあります。
    これを利用(サーバサイドのスクリプトで振り分けるなど)して利用者が見たい言語で表示する事が可能だと思います。
    また、Webサーバの multiviews の機能を使うとかもありそうですが、この辺りは疎いので情報のみです。

    余程忍耐強くないと機械翻訳は読んでもらえないような気がしますので、各言語のページを用意された方がよいと思います。
  • id:b-wind
    普通は MultiViews で対処するな。
    http://httpd.apache.org/docs/2.0/content-negotiation.html
    ただ、これはあくまでブラウザの設定に依存する。

    アクセスしてきたIPアドレスを whois で調べれば所有している組織が分かるので、
    それで国を推測することはできるだろう。
    JPNIC 管轄なら日本から、というように。

    あとは適当な翻訳サービスと連携させれば一応は作成可能。
    実用的とは思い難いが。
  • id:ardarim
    回答できないのでコメントで。
    方法は問いません、ということなので、技術的な観点からコメントです。

    webという仕組みの大元であるHTTPというプロトコルには、1つのページに対して複数言語のページを対応付ける仕組み(Accept-Languageフィールド)が用意されています。
    これは、サーバ側で複数言語のページが用意されている場合にブラウザ側でどの言語を優先して表示するかを指定するためのヘッダフィールドです。

    webサーバ側は、ブラウザからAccept-Languageで指定された言語のページを優先してブラウザ側にコンテンツを返します。

    サーバ側の実装で、例えば日本語と英語のページを作っておき、ブラウザから英語の要求が来た場合は翻訳サービスにリダイレクトして日本語から英語に翻訳したものを表示させる・・・ようなことはプロトコル上は実現可能と思います。
    実際に利用されているwebサーバで実現可能かどうかはわかりませんが。(上のMultiViewsというのはこの機能を実装しているっぽいですね)

    ちなみにIEでは、インターネットオプションの[全般]-[言語]ボタンで指定した言語が上から優先順でAccept-Languageでサーバに送られます。(普通はデフォルト状態で日本語しか指定されて無いと思いますが)
  • id:KUROX
    >web作成に関する質問です。 アクセスしてきた場所(日本の人が日本で見ている等)を特定し
    >その国の言語に自動的に翻訳し、その国の言語で表示させる、といったことは可能でしょうか?

    可能だけど、私はお勧めしない。以下の方法をお勧めする。
    HPの上の辺りに配置して
    「日本語」「English]ボタンで切り替える方式にしたほうがUI的には良いのでは。
    --------------

    >方法は問いません。Google翻訳を自動で一枚かませるような感じでもできるような気がす
    >るのですが、そういったことは技術的に可能なのでしょうか?

    可能です。でも精度はお世辞にも読める文章として精製されません。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません