Twitter APIの認証画面がSafariで英語になる件

  • SafariはAccept-Languageにja-jpをつける
  • Twitterはjaには対応するがja-jp(ja-JP)には対応してない
  • RubyGemのOAuthを使って認証処理を実装している

という状況です。

Safaritwitter.comにアクセスすると、何もしてなければおそらく英語ページが表示されるはずです。その後、フッターの言語選択で日本語を選択すると、以降は日本語で表示されます。

ここで使われているのが?lang=jaです。なので、lang=jaをつければいいんでしょ、と。OAuth::RequestToken#authorize_urlがクエリストリングにつけたいパラメータをHashで受け付けているので、そこに:lang => 'ja'とでも渡せばよいですね、と。

ちなみに、環境は以下の通り。