WEBサイトを多言語化対応する際、<input type="file">の「参照...」ボタンのラベルはどうやったら変更できるのでしょうか?また、javascriptのconfirmにおける「キャンセル」ボタンについても同様です。


直接、値を指定することはできないと思いますので、以下のいずれかでロケールを指定してあげると変わるのかな?と思っています。

 ・ブラウザから送られるヘッダで決定
 ・サーバーサイドからヘッダを送信
 ・HTMLの何かの属性で指定

ご存知の方、教えて下さい。
※javascriptで<input type="file">をテキストボックスとボタンで置き換えると言う方法は既知ですので、今回求める回答ではありません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/06/18 08:23:33
  • 終了:2008/06/19 06:55:11

ベストアンサー

id:tombe No.1

tombe回答回数38ベストアンサー獲得回数72008/06/18 10:31:56

ポイント42pt

変更できませんし、変更する必要もありません。

「参照」ボタン等のラベルは、ブラウザ自体の対応言語で決まります。

日本語版ブラウザなら日本語で、英語版ブラウザなら英語で。

仮にアメリカ人が日本語版を使用していれば日本語で表示されますが、それはユーザが自分の意思でやっている事であり、サイト運営/開発者の責任ではありませんし干渉すべき事でもありません。


下のURLはダミーです。

http://q.hatena.ne.jp/answer

id:web_programmer

回答ありがとうございます。

今回作っているサイトは自分の意思で表示言語を変更できるような仕組み(サーバーサイドの処理)にしていまして、

この部分だけがどうしても日本語のままなので、どうにかならないかと質問させて頂いた次第です。

また、企業が使うようなものを構築中ですので、日本で働く外国人労働者が日本語版ブラウザを使う場合など想定されます。

強引にでも変える方法はないのでしょうか?

引き続き回答を募集します。

2008/06/18 13:21:35

その他の回答(1件)

id:tombe No.1

tombe回答回数38ベストアンサー獲得回数72008/06/18 10:31:56ここでベストアンサー

ポイント42pt

変更できませんし、変更する必要もありません。

「参照」ボタン等のラベルは、ブラウザ自体の対応言語で決まります。

日本語版ブラウザなら日本語で、英語版ブラウザなら英語で。

仮にアメリカ人が日本語版を使用していれば日本語で表示されますが、それはユーザが自分の意思でやっている事であり、サイト運営/開発者の責任ではありませんし干渉すべき事でもありません。


下のURLはダミーです。

http://q.hatena.ne.jp/answer

id:web_programmer

回答ありがとうございます。

今回作っているサイトは自分の意思で表示言語を変更できるような仕組み(サーバーサイドの処理)にしていまして、

この部分だけがどうしても日本語のままなので、どうにかならないかと質問させて頂いた次第です。

また、企業が使うようなものを構築中ですので、日本で働く外国人労働者が日本語版ブラウザを使う場合など想定されます。

強引にでも変える方法はないのでしょうか?

引き続き回答を募集します。

2008/06/18 13:21:35
id:kou32rr No.2

kou32rr回答回数197ベストアンサー獲得回数82008/06/18 17:22:19

ポイント28pt

>日本で働く外国人労働者が日本語版ブラウザを使う場合

PHPだと $_SERVER['HTTP_USER_AGENT'] とかでブラウザの言語をひろうことができると思いますが、

そもそもブラウザから出すものがjaでは不可能と思います。

phpであれば、日本語部分を定数にし、

GETでjaなりenを読み取って、

読み込む言語ファイルを切り替えるのがよいと思います。

例:

http://aaa.com/index.php?lid=ja

if($_GET['lid'] = 'ja'){

require('ja/index.php');

}elseif($_GET['lid'] = 'en'){

require('en/index.php');

}

GETのほかにセッションやcookieも利用できますね。

  • id:tombe
    そもそも何故「参照」ボタンがラベル文字変更等のカスタマイズができないかと言うと、セキュリティに関わるからです。
    <input type="file">タグは、ローカルファイルのファイル選択ダイアログを開きますが、もしこれをサーバーサイドから勝手に制御できるような仕組みがあると、悪意のあるサイトがクライアントのローカルファイルを勝手に操作できてしまいます。
    従ってこのタグだけは、たかがラベル文字といえども、サーバーサイドからの制御が出来ないようになっています。

    > 日本で働く外国人労働者が日本語版ブラウザを使う場合など想定されます。
    仮に「参照」ボタンを英語化できたとしても、ブラウザのメニュー表示等は日本語のままですよね?
    日本語メニュー表示のブラウザを平気で使える外人さんが、「参照」ボタンに限って英語でないと困ってしまうというシチュエーションが良く分かりません。

    恐らくこの質問は web_programmer さんの本意ではなく、発注元の誰かさんが無茶な注文をしてるのかなー?と想像しています。
    例えてみれば、「この荷物は(日本の法律がどうだろうが)右側通行で運んでくれ」と運送屋に注文してるようなものですか?
  • id:web_programmer
    > 仮に「参照」ボタンを英語化できたとしても、ブラウザのメニュー表示等は日本語のままですよね?

    確かにおっしゃるとおりですね。

    > 恐らくこの質問は web_programmer さんの本意ではなく、発注元の誰かさんが無茶な注文をしてるのかなー?と想像しています。

    こちらもご想像のとおりです。

    セキュリティの話を絡めて、この注文に対しては対応ができないことを説明させて頂こうと思います。

    どうもありがとうございました。

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

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

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

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