Submit Search
Upload
Accept-language
•
7 likes
•
12,437 views
Kenta USAMI
Follow
HTTP Accept-Languageの説明
Read less
Read more
Technology
Report
Share
Report
Share
1 of 17
Download now
Download to read offline
Recommended
pixivとl10n/i18n
pixivとl10n/i18n
Kenta USAMI
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇
Kenta USAMI
たのしい独自フレームワーク
たのしい独自フレームワーク
Kenta USAMI
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
Kenta USAMI
はじめてのUser-Agent文字列
はじめてのUser-Agent文字列
Kenta USAMI
Rubicureに学ぶメタプログラミング
Rubicureに学ぶメタプログラミング
Kenta USAMI
Recommended
pixivとl10n/i18n
pixivとl10n/i18n
Kenta USAMI
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇
Kenta USAMI
たのしい独自フレームワーク
たのしい独自フレームワーク
Kenta USAMI
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
Kenta USAMI
はじめてのUser-Agent文字列
はじめてのUser-Agent文字列
Kenta USAMI
Rubicureに学ぶメタプログラミング
Rubicureに学ぶメタプログラミング
Kenta USAMI
php.js
php.js
Kenta USAMI
これからの名前の話をしよう
これからの名前の話をしよう
Kenta USAMI
近況の報告と自宅警備員が失職した話
近況の報告と自宅警備員が失職した話
Kenta USAMI
学ばないDSL
学ばないDSL
Kenta USAMI
札幌F#勉強会とは何だったのか
札幌F#勉強会とは何だったのか
Kenta USAMI
tadsanとは誰か
tadsanとは誰か
Kenta USAMI
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
Kenta USAMI
PowerShell+Lisp = ? (第2回残パン会)
PowerShell+Lisp = ? (第2回残パン会)
Kenta USAMI
キャンプ後の生活の変化とモチベーションの変化について
キャンプ後の生活の変化とモチベーションの変化について
Kenta USAMI
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』
Kenta USAMI
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
Kenta USAMI
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
Kenta USAMI
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Kenta USAMI
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
Kenta USAMI
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
Kenta USAMI
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
More Related Content
More from Kenta USAMI
php.js
php.js
Kenta USAMI
これからの名前の話をしよう
これからの名前の話をしよう
Kenta USAMI
近況の報告と自宅警備員が失職した話
近況の報告と自宅警備員が失職した話
Kenta USAMI
学ばないDSL
学ばないDSL
Kenta USAMI
札幌F#勉強会とは何だったのか
札幌F#勉強会とは何だったのか
Kenta USAMI
tadsanとは誰か
tadsanとは誰か
Kenta USAMI
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
Kenta USAMI
PowerShell+Lisp = ? (第2回残パン会)
PowerShell+Lisp = ? (第2回残パン会)
Kenta USAMI
キャンプ後の生活の変化とモチベーションの変化について
キャンプ後の生活の変化とモチベーションの変化について
Kenta USAMI
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』
Kenta USAMI
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
Kenta USAMI
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
Kenta USAMI
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Kenta USAMI
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
Kenta USAMI
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
Kenta USAMI
More from Kenta USAMI
(15)
php.js
php.js
これからの名前の話をしよう
これからの名前の話をしよう
近況の報告と自宅警備員が失職した話
近況の報告と自宅警備員が失職した話
学ばないDSL
学ばないDSL
札幌F#勉強会とは何だったのか
札幌F#勉強会とは何だったのか
tadsanとは誰か
tadsanとは誰か
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
PowerShell+Lisp = ? (第2回残パン会)
PowerShell+Lisp = ? (第2回残パン会)
キャンプ後の生活の変化とモチベーションの変化について
キャンプ後の生活の変化とモチベーションの変化について
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
Recently uploaded
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Recently uploaded
(10)
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Accept-language
1.
Accept-Language 2013-07-25 うさみけんた@tadsan
2.
Accept-Languageとは 日本語でくれ! 中国語でくれ! こんにちは! 你好! Accept-Language: ja Accept-Language: zh
3.
Accept-Languageとは Accept-Language: ja-JP 日本の日本語でくれ! 台湾の中国語でくれ! Accept-Language: zh-TW こんにちは! 你好!
4.
Accept-Languageとは Accept-Language: ja-Hira ひらがな日本語でくれ! 繁体字中国語でくれ! Accept-Language: zh-Hant こんにちは! 你好!
5.
Accept-Languageとは Accept-Language: ja-Hira-JP 日本のひらがな日本語でry 台湾の繁体字中国語でry Accept-Language: zh-Hant-TW こんにちは! 你好!
6.
RFC5646 LanguageTag • IETF言語タグと呼ばれる •
自然言語を特定するための仕様 • 言語名-用字系-地域 のように繋げて書く • 日本語は日本でしか利用されてないので、 基本的にはjaでも差し支えない • en-US, en-GB のように地域を詳しく書くこと もできる
7.
RFC5646 LanguageTag • ところで、中国語圏は超広い •
共通語(北京方言がベース)と各地の方言がある • 政治的歴史的経緯により、中国本土・台湾・香 港などでそれぞれ文字が違う (言語はほぼ同じ) • zh-CN, zh-TW のように言語と地域を組合せる • zh-Hant, zh-Hansのように用字系を指定する
8.
RFC5646 LanguageTag
9.
RFC5646 LanguageTag • 注意:
あくまで言語の地域(方言)を表現する • スペイン語(es)やポルトガル語(pt)は南米などの 旧植民地でも通用するが、文法や語彙には、 差異がある。 • 通貨やタイムゾーンを表現するものではない • OSの設定を英語(en-US)にしてるからって、 アメリカのタイムゾーンにされたら嫌でしょ
10.
RFC2616 HTTP/1.1 • リクエスト時にAccept-Languageヘッダで 言語を指定することができる •
詳細にカスタマイズできるブラウザもあるけど、 OSの言語設定を使ってよしなに送る
11.
RFC2616 HTTP/1.1 • ,
で区切って複数の言語を指定できる • ja,zh-Hans,ko-KR,en-US,en • ja-JP;q=1.0 のように 0∼1 の間の数字を 付加することで優先度を表現することができる • 無指定は 1 (最優先)
12.
RFC2616 HTTP/1.1 • ja,ko;q=0.8,zh;q=0.8,en-US;q=0.6,en;q=0.5 •
日本語最優先でね • 中国語と韓国語でもいいよ(優先度おなじ) • なかったらアメリカ英語ね • それもなかったらなんでもいいから英語で
13.
RFC2616 HTTP/1.1 • Chromeならネットワークタブで見れるよ
14.
RFC2616 HTTP/1.1 • 実装例 •
ja;q=0.1,en-US;q=0.2,zh;q=0.6 • ↓解体する • [(0.1,ja),(0.2,en-US),(0.6,zh)] • ↓ソートする • [zh, en-US, ja]
15.
RFC2616 HTTP/1.1 • 実装例 •
実際にはスペースが入ってくるから適度に 削ってやってね • PHP: trim, Ruby: String#chomp • 変な文字列を渡されても実行時エラーを 出さないように気をつけて実装してね • 0<q≦1 の範囲外は無視すればいいよ
16.
RFC2616 HTTP/1.1 • Qiitaにも説明書いたよ http://qiita.com/tadsan/items/24cf40f067295df2ffb8 •
PHPに実装してみたよ(Localeのラッパー) https://github.com/zonuexe/php-http-accept-language • pixivに入ってる処理はもっと適当だよ! • もっと適当にやっても案外うまくいく • 現実の要求に応じて適切に実装すべき
17.
_ \ヽ, ,、
`''|/ノ .| _ | \`ヽ、| \, V `L,,_ |ヽ、) .| / ,、 / ヽYノ .| r''ヽ、.| | `ー-ヽ|ヮ | `| ヽ, ,r .| ヽ,r'''ヽ!'-‐'''''ヽ、ノ ,,,..---r'",r, , 、`ヽ、 ヾ ヽ、__/ ./ハレハ i`ヽ、 `''r`ミ_ .レ//r,,,、 レ'レハヾ, L,,_ `ヽ、 "レ, l;;;l l;;;l`i.リレ' リ ̄~~ ヽ、 ワ `"/-'`'`' `''''''''" ┼ヽ -|r‐、. レ | d⌒) ./| _ノ __ノ 使用フォント セプテンバーM・L
Download now