Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Symfony2のi18n対応
Search
はない
April 24, 2016
Technology
860
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
550
組み合わせテストを簡単にするgemを作った話
hanahiroaze
0
280
MySQLとデッドロックの話
hanahiroaze
1
1.4k
ここが変だよ。このテスト〜テストケース爆発と戦う〜
hanahiroaze
1
1.7k
Symfony Best Practiceを読もう!(ついでに翻訳した話)
hanahiroaze
2
960
E2E Test Tips
hanahiroaze
0
180
テストことはじめ
hanahiroaze
0
520
開発合宿に行ってきました
hanahiroaze
0
160
GitHubよちよち会#3
hanahiroaze
0
190
Other Decks in Technology
See All in Technology
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
200
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
400
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
140
「社外イベント=意識高い」の壁を壊せ!元々無関心だった僕らが部内で社外イベントを民主化して15人を連れ出すまで
say_no_w
0
110
BacklogのRAG 今ならこう作る - S3 Vectorsと自前パイプラインの勘所
revsystem
0
130
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
5
1.7k
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
220
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
370
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
mhlyc
0
120
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
150
アカウント統制の健康診断
kenichinakamura
1
180
Teaching Python with three kinds of AI
reuven
0
120
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Product Roadmaps are Hard
iamctodd
55
13k
Documentation Writing (for coders)
carmenintech
77
5.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
640
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
560
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Code Review Best Practice
trishagee
74
20k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ