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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
はない
April 24, 2016
Technology
840
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
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
文字起こし基盤の信頼性
abnoumaru
0
150
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
250
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
310
AI エージェント時代のデジタルアイデンティティ
fujie
0
830
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.1k
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
150
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
920
新たなDBアーキテクチャ「LTAP」にDeep Dive!!
inoutk
0
120
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
4
470
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
180
オートマトンと字句解析でRoslynを読む
tomokusaba
0
110
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
430
Ethics towards AI in product and experience design
skipperchong
2
330
Visualization
eitanlees
152
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Producing Creativity
orderedlist
PRO
348
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
270
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ