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
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
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
160
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
340
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
110
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
160
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
230
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
550
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
340
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
230
組織における AI-DLC 実践
askul
0
270
RAGの精度向上とエージェント活用
kintotechdev
2
110
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
240
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
170
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Unsuck your backbone
ammeep
672
58k
We Are The Robots
honzajavorek
0
260
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
860
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
340
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ