Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Symfony2のi18n対応
Search
はない
April 24, 2016
Technology
850
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Symfony2のi18n対応
Symfony Meetup #11の発表資料
はない
April 24, 2016
More Decks by はない
See All by はない
2018年目標を達成できなかった私が 今年こそ達成するためにしていること
hanahiroaze
3
540
組み合わせテストを簡単にするgemを作った話
hanahiroaze
0
270
MySQLとデッドロックの話
hanahiroaze
1
1.4k
ここが変だよ。このテスト〜テストケース爆発と戦う〜
hanahiroaze
1
1.6k
Symfony Best Practiceを読もう!(ついでに翻訳した話)
hanahiroaze
2
950
E2E Test Tips
hanahiroaze
0
180
テストことはじめ
hanahiroaze
0
510
開発合宿に行ってきました
hanahiroaze
0
160
GitHubよちよち会#3
hanahiroaze
0
180
Other Decks in Technology
See All in Technology
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
PLATEAU で バーチャル花火大会
tatsuya1970
0
170
Goでデータパイプラインを作ろう
sansantech
PRO
1
500
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
260
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
240
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
330
エンドユーザー視点で見る SansanのMeraki活用と内製自動化
sansantech
PRO
0
110
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
630
ブラウザ研修 2026
recruitengineers
PRO
6
1.2k
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
220
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
Marketing to machines
jonoalderson
1
5.7k
How to make the Groovebox
asonas
2
2.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
Done Done
chrislema
186
16k
From π to Pie charts
rasagy
0
300
Agile that works and the tools we love
rasmusluckow
331
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
450
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
How to build a perfect <img>
jonoalderson
1
5.9k
Transcript
ΫϥγοΫγϯϑΥχʔָஂ JOରԠ !IBOBIJSP@B[F
ͳ·͑ɿՖҪɹߦ UXJUUFSɿ!IBOBIJSP@B[F ॴଐɿIJUPNFEJB 4ZNGPOZྺɿ̍ େ͕9ܥ
࣭
)PXNBOZMBOHVBHFT EPZPVSTFSWJDFTVQQPSU
ຊޠ͚ͩ +BQBOFTFBOE&OHMJTI ᾀ&OHMJTIBOE'SFODI ᾁ0UIFST
ɹɹ
8FTVQQPSUʜ
Έͳ͞ΜͷαʔϏεΛ ඞཁͱ͍ͯ͠Δͷɺ ຊޠϢʔβʔ͚ͩͰ͠ΐ͏ ͔ʁ
ෳݴޠʹରԠͯ͠ɺ ϏδωεͷػձΛ ͛·͠ΐ͏ʂ
ࠓճ 4ZNGPOZͷ͠·͢Α
TUFQͰෳݴޠʹରԠ͢Δ ϧʔςΟϯάʹݴޠ MPDBMF ΛՃ͢Δɻ දࣔݴޠΛఆ͢ΔͨΊʹɺ &WFOU-JTUOFSΛ࡞͢Δɻ ༁ϑΝΠϧΛ࡞Δɻ
UXJHͷදࣔΛෳݴޠʹରԠ͢Δɻ
4UFQϧʔςΟϯάʹݴޠ MPDBMF ΛՃ͢Δɻ !3PVUF \@MPDBMF^
EFGBVMUT\@MPDBMFKB^ SFRVJSFNFOUT\ @MPDBMFKBcFO ^ QVCMJDGVODUJPOMBOHVBHF"DUJPO 3FRVFTUSFRVFTU \ JOGPSNBUJPO݄ͱ݄ͷ৽ணใΛՃ͠·ͨ͠ɻ SFUVSOUIJTSFOEFS 5PQQBHFJOEFYIUNMUXJH <JOGPSNBUJPOJOGPSNBUJPO> ^ ˏ"QQ#VOEMF5PQQBHF$POUSPMMFS
4UFQදࣔݴޠΛఆ͢ΔͨΊʹ &WFOU-JTUOFS Λ࡞͢Δɻ ˏ"QQ#VOEMF&WFOU-JTUFOFS-PDBMF-JTUFOFS http://symfony.com/doc/current/cookbook/session/locale_sticky_session.html ˏDPOpHTFSWJDFTZNM app.locale_listener: class:
AppBundle\EventListener\LocaleListener arguments: ['%kernel.default_locale%'] tags: - { name: kernel.event_subscriber }
4UFQ༁ϑΝΠϧΛ࡞Δɻ ˏ3FTPVSDFTUSBOTMBUJPOTNFTTBHFTFOZNM btn: detail: Detail navi: title: Classic Symfony
Orchestra top: Top performance: Performance information profile: About us blog: Blog inquiry: Inquiry ・ ・ ・
4UFQ༁ϑΝΠϧΛ࡞Δɻ ɾվߦ5XJHͷʮOMCSʯϑΟϧλʔΛ༻͢ΔͨΊɺ <aO>Ͱදݱ͢Δɻ ɾZNMͰॻ͍ͨLFZΛͱʹը໘ʹදࣔ͢Δϝοηʔ δΛࠪ͢ΔͷͰɺʮը໘ͷηΫγϣϯ໊ϝοηʔδ ΩʔʯͷΑ͏ͳ໋໊ʹͯ͠Έͨɻ ɾࠓճZNMʹ͠·͕ͨ͠ɺ%#ʹ֤ݴޠͷใΛ࣋ͭ ͷ͋Γʁ
ɾ༁ͭΒ͍ɻɻɻ
4UFQUXJHͷදࣔΛෳݴޠʹରԠ͢Δɻ ˏ3FTPVSDFTWJFXT5PQQBHFJOEFYIUNMUXJH <section id="just-intro"> <div class="container”> ・・・ <h4><strong>{{ 'navi.performance'|trans
}}</strong></h4> <p> {{ 'performance.message.main'|trans|nl2br }} </p> <a href="{{ path("app_concert_index") }}" class="btn btn-primary"> {{ 'btn.detail'|trans }} </a> ・・・ </div> </section>
ͦͷଞͷઃఆ ˏDPOpHDPOpHZNMʹσϑΥϧτݴޠͷઃఆՃ framework: translator: { fallbacks: ["en"] }
OFYUTUFQ ຊޠɾӳޠͷซهʹରԠ͍ͨ͠ɻ ํ ɾUXJHͷϑΟϧλʔ<NMBOH\NBJO-BOH TVC-BOH^> Λࣗ࡞͢Δɻ ɾUSBOTϑΟϧλʔˠNMBOHϑΟϧλʔʹஔ͖͑ɻ
OFYUTUFQ ˏDPOpHTFSWJDFTZNM parameters: subLocale: 'en’ services: twig.mlang_extension: class: AppBundle\Twig\MLangExtension
arguments: - '@translator.default' - '%subLocale%' tags: - { name: twig.extension }
OFYUTUFQ @AppBundle/Twig/MLangExtension ・・・ public function multiTrans($message, array $arguments = array(),
$domain = null, $locale = null, $subLocale = null) { $str = ""; $str .= $this->translator->trans($message, $arguments, $domain, $locale); $str .= "\n"; $str .= $this->translator->trans($message, $arguments, $domain, ! empty($subLocale) ? $subLocale : $this->subLocale); return $str; } ・・・ http://symfony.com/doc/current/cookbook/templating/twig_extension.html
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ