Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Symfonyでロケールを含むURLを色々いい感じにする
Search
Takashi Kanemoto
March 23, 2015
Programming
0
910
Symfonyでロケールを含むURLを色々いい感じにする
Symfony Meetup #2 LT 資料
https://symfony.doorkeeper.jp/events/21692
Takashi Kanemoto
March 23, 2015
Tweet
Share
More Decks by Takashi Kanemoto
See All by Takashi Kanemoto
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
5
920
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
430
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
980
今年書いた技術記事で伸びたやつの自慢と自分の中では力作なのにさっぱり伸びなかったやつの供養 / My Tech Articles 2024
ttskch
2
170
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
47
42k
データベース/SQL超入門!完全初心者向けに世界一分かりやすく解説します
ttskch
1
7.1k
Symfony UX Autocompleteとかいう 顧客が本当に必要だったもの
ttskch
0
2.2k
就活生あるいは新人エンジニアさんへのお節介なアドバイス
ttskch
0
1.6k
symfony/pantherでWordleを解いてみた
ttskch
0
380
Other Decks in Programming
See All in Programming
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
450
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
140
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
190
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.8k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
170
Vibe codingでおすすめの言語と開発手法
uyuki234
0
130
tparseでgo testの出力を見やすくする
utgwkk
2
290
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
900
開発に寄りそう自動テストの実現
goyoki
2
1.5k
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
200
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
sira's awesome portfolio website redesign presentation
elsirapls
0
91
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Believing is Seeing
oripsolob
0
15
Marketing to machines
jonoalderson
1
4.4k
Transcript
SymfonyͰϩέʔϧΛؚΉ URLΛ৭ʑ͍͍ײ͡ʹ͢Δ #symfony_meetup 2015.03.22 @qckanemoto
@qckanemoto • ໊ݹ͔Βདྷ·ͨ͠ • (ג)ΧϧςοτίϛϡχέʔγϣϯζCTO • PHPྺ3 • ϦεςΟϯάࠂӡ༻πʔϧʮLisketʯ
PURPOSE
ຊޠͱӳޠͷ྆ํͰӾཡ Ͱ͖ΔαΠτʹ͍ͨ͠
symfony/translation
symfony/translation
• Ϣʔβͷϩέʔϧ͕͔Βͳ͍ͱ͖ %locale% ʹϑΥʔϧόοΫ͢Δઃఆ ͜ͷ··ͩͱৗʹຊޠදࣔ
• %locale% ͷ ja ͜ͷ··ͩͱৗʹຊޠදࣔ
Ϣʔβ͝ͱʹϩέʔϧΛ มԽͤ͞ͳ͚Εʢ໋ײʣ
HOW?
(1) Accept-Languageϔομى • HTTPϦΫΤετͷAccept-Languageϔομ͔ ΒࣗಈͰϩέʔϧΛมߋ͢Δ
ҰԠͰ͖Δ͚Ͳɺ͜Ε ͬͪΌμϝͳͭʂ (1) Accept-Languageϔομى
(1) Accept-Languageϔομى • ಉ͡URLͰϢʔβʹΑͬͯදࣔ༰͕ҟͳΔ • ʮಉ͡URL͕ৗʹಉ͡ϦιʔεΛฦ͢ʯͱ͍ ͏Webͷݪଇʹ͍ͯ͠Δ
ͱ͍͏͜ͱͰ
(2) URLʹϩέʔϧΛؚΊΔ • http://hostname/ja • http://hostname/en • http://hostname/ja/foo/bar • http://hostname/en/foo/bar
} }
(2) URLʹϩέʔϧΛؚΊΔ • _locale ϩέʔϧΛηοτ͢ΔͨΊͷಛघͳ ϧʔςΟϯάύϥϝʔλ
Ͱ͖ͨʂ͚Ͳ… • http://hostname/ja • http://hostname/en • http://hostname/ja/foo/bar • http://hostname/en/foo/bar }
}
͜Εཉ͍͠ʂ • http://hostname/ja • http://hostname/en • http://hostname/ja/foo/bar • http://hostname/en/foo/bar •
http://hostname => /ja • http://hostname/foo/bar => /ja/foo/bar } }
Ͱ͖·͢
ϩέʔϧΛ͚ͯϦμΠϨΫτ ͢ΔΞΫγϣϯΛ࡞
ϩέʔϧແ͠ͷURLશ෦ͦ͜ ʹૹΓࠐΉ
Ͱ͖ͨʂ • http://hostname/ja • http://hostname/en • http://hostname/ja/foo/bar • http://hostname/en/foo/bar •
http://hostname => /ja • http://hostname/foo/bar => /ja/foo/bar } }
༨ஊ ͱ͔Ͱ͖ͨΒ͍͍ͷʹɺͱࢥ͚ͬͨͲແཧͰͨ͠
༨ஊͷิ • yml͋͘·ͰઃఆϑΝΠϧͰ͋ͬͯɺޙํࢀ রΈ͍ͨͳॲཧͬΆ͍͜ͱ·Ͱهड़Ͱ͖ͯ͠ ·ͬͯٯʹࠔ • ϧʔςΟϯάͰޙํࢀরͱ͔͚ͨ͠ΕΠϕ ϯτϦεφʔΛ͏ͷ͕Αͦ͞͏
CONCLUSION
ຊޠͱӳޠͷ྆ํͰӾཡͰ͖ΔԽ • symfony/translation Ͱ༁ • URLͰϩέʔϧΛܾఆ • _locale ϧʔςΟϯάύϥϝʔλ •
_locale ͕লུ͞Εͨ߹ σϑΥϧτϩέʔϧͷURLʹϦμΠϨΫτ
PR
WE’RE HIRING! PHPerେืूதʂ
ΤϯδχΞͷಇ͖͢͞େࣄʹͯ͠·͢ WE’RE HIRING!
SNS͔ϝʔϧͰ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞✨ WE’RE HIRING!
Thanks ;)