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
僕たちはサービスの多言語化にどう立ち向かうべきか
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
endam
May 25, 2018
Programming
4
1.4k
僕たちはサービスの多言語化にどう立ち向かうべきか
endam
May 25, 2018
Tweet
Share
More Decks by endam
See All by endam
Web開発における開発環境構築の歴史と変遷〜原始時代から現代(Docker)まで〜
endam
0
250
レガシーなフレームワークで不本意ながらもとことん頑張ってみた
endam
0
530
What is Atomic Design?
endam
0
110
Angular × Atomic Designでデザインリニューアルを行った話
endam
2
710
Postman
endam
0
470
Engineer's Mind
endam
1
150
Be the best development team
endam
0
110
Yarnの導入
endam
0
540
Web APIの現場あるある解決特集〜こうして僕たちのAPIは使いやすくなった〜
endam
0
530
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
530
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
180
Claude Codeログ基盤の構築
giginet
PRO
7
3.6k
存在論的プログラミング: 時間と存在を記述する
koriym
5
490
モダンOBSプラグイン開発
umireon
0
180
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.6k
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
110
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
230
へんな働き方
yusukebe
6
2.8k
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
200
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
330
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
KATA
mclloyd
PRO
35
15k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Git: the NoSQL Database
bkeepers
PRO
432
67k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
330
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
HDC tutorial
michielstock
1
590
Typedesign – Prime Four
hannesfritz
42
3k
Transcript
© ISAO | CONFIDENTIAL ͨͪαʔϏεͷଟݴޠԽʹ Ͳ͏ཱ͔ͪ͏͖͔ ٢ాক೭
٢ాক೭ ͩʙ·͞ w݄ʹגࣜձࣾ*4"0ೖࣾ wνʔϜίϥϘϨʔγϣϯαʔϏε ʮ(PBMPVTʯͷϦʔυΤϯδχΞ wΤϯδχΞ࠾༻ɾڭҭʹܞΘ͍ͬͯΔ !FOEBN
MISSION 9 (PBMPVTͱ νʔϜͰΰʔϧΛୡ͢ΔͨΊ ͷϏδωεSNS 㾎ҙࢥܾఆͷεϐʔυ͕രʹ 㾎ࣾһશһاۀͷϏδϣϯΛਁಁ 㾎ಁ໌ੑͷ͋ΔධՁ͕Ͱ͖Δ 㾎৫ͷนͳΜͯײ͡ͳ͍
㾎ͳΜ͔ͩɺࣄָ͕͘͠ͳΔ
9 ւ֎Ͱఏڙ͍ͯ͠Δ
9 ࠓ͜ͷ(PBMPVTͷଟݴޠԽͷ ΈΛม͑Α͏ͱͨ͠Λ͠·͢
9 ͦͷલʹ
9 ͦͦ༁ͱଟݴޠԽͷ ҧ͍ͬͯԿʁ
͋Δݴޠͷݴ༿ΛଞͷݴޠͰද͢͜ͱɻ ʮ୯ޠʯͰͳ͘ʮҙຯʯΛϕʔεͱ͢Δɻ ʮ୯ޠʯϕʔεͩͱ͍ΘΏΔ༁ʹͳͬͯ͠·͍ػցతͳݴ༿ʹͳΓ͕ͪ จ຺എܠɺͦΕΛݟΔϢʔβʔʹͲͷΑ͏ʹ͍͔͑ͨʹΑͬͯ దͳ༁มΘΔɻ ༁ͱଟݴޠԽͷҧ͍ ༁
ϢʔβʔʹԠͯ͡ෳͷݴޠΛΓସ͑ΒΕΔঢ়ଶɺ·ͨͦͷΈ ༁ϓϩηεͷҰ෦ʹա͗ͳ͍ɻ ༁ͱଟݴޠԽͷҧ͍ ଟݴޠԽ
9 (PBMPVTͷ ࠓ·ͰͷଟݴޠԽͷΈ
ࠓ·ͰͷଟݴޠԽͷΈ $BLF1)1JOΛ༻
ࠓ·ͰͷଟݴޠԽͷΈ ҰͭͷQPϑΝΠϧʹશͯͷ༁Λهࡌ
ࠓ·ͰͷଟݴޠԽͷΈ ௨՟දࣔ$BLF1)1ͷϔϧύʔͰରԠ
ࠓ·ͰͷଟݴޠԽͷΈ ͑ɺ͡Ό͋3FBDUͱ͔+4Ͱ͏༁Ͳ͏ͯ͠Μͷɾɾʁ ͏ΜେৎɺແཧΓରԠͯ͠ΔΑ
ࠓ·ͰͷଟݴޠԽͷΈ ·ͣϢʔβʔͷઃఆͨ͠ݴޠʹԠͯ͡දࣔ͢ΔͨΊͷ@@ ؔΛݺͿ
ࠓ·ͰͷଟݴޠԽͷΈ ͔͜͠͠ͷ@@ ؔͰ͍ͬͯΔ͜ͱQPϑΝΠϧ͔Β༁͞Εͨ จݴΛऔಘ͍ͯ͠ΔͷͰͳ͘ɺ1)1ͰϨϯμϦϯάͨ͠ڊେͳ +4ΦϒδΣΫτ͔ΒΩʔʹରԠ͢ΔΛऔಘ͍ͯ͠Δ ʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹڊେͳΦϒδΣΫτɹʻ ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ
ͭ·Γ༁ΛՃ͢Δʹ͜ͷΦϒδΣΫτमਖ਼͢Δඞཁ͕͋Δ
9 ࣮ࡍͷ༁ͷϓϩηε
։ൃऀ͕ը໘දࣔɾϓογϡ௨ɾϝʔϧؚΊͯ༁͕ඞཁͳՕॴΛ ચ͍ग़͢ ચ͍ग़ͨ͠༁ඞཁՕॴΛεϓϨουγʔτʹ·ͱΊͯ༁୲ऀ ΄ͱ ΜͲͷ߹1- ʹ͢˞͜ΕͲ͜ͷ͜ͱΛݴͬͯΔͷͱ͍͏֬ೝগͳ͘ͳ͍ ༁୲ऀ͕༁ͯ͠εϓϨουγʔτʹهೖ ։ൃऀ༁͕ඞཁͳՕॴΛ@@ؔͰғΜͰϚʔΫͨ͠ޙʹ$BLFJO
ίϚϯυΛ࣮ߦͯ͠༁ݩͱͳΔQPUϑΝΠϧΛੜ 1P&EJUͱ͍͏QPϑΝΠϧฤूπʔϧΛͬͯɺ༁ݩͷQPUϑΝΠϧΛ جʹ༁ͨ͠จݴΛهೖ͠ɺQPϑΝΠϧΛߋ৽ ϦϙδτϦʹ1VTI ༁ͷϓϩηε ػೳՃɾվળʹΑΓ৽ͨʹ༁͕ඞཁͱͳΔ߹
9 ҰݴͰݴ͏ͱΊΜͲ͍͘͞
w ։ൃऀ͔͠༁Λߋ৽Ͱ͖ͳ͍ w จݴΛݕࡧͰ͖ͳ͍ w ༁Λߋ৽͍ͯ͠ΔͷͰจݴͷҰ؏ੑ͕ແ͍ ࣅͨΑ͏ͳจݴ͕ ͨ͘͞Μ͋Δ
w ୭͕Ͳ͏͍͏ҙਤͰߋ৽ͨ͠ͷ͔͔Βͳ͍ ༁ͷϓϩηε
9 ͏͜Μͳϓϩηε౿Ήͷݏͩɾɾʂ Ͱػೳ։ൃ͕Ͳ͏ͯ͠༏ઌతʹͳͬͯ͠·͏
9 ͔͋͠͠Δ࣌సػ͕๚Εͨɾɾʂ
9 σβΠϯˍϑϩϯτΤϯυϦχϡʔΞϧ Λ࣮ࢪ͢Δ͜ͱ͕ܾఆʂ
9 ͜ͷػձʹ ଟݴޠԽͷΈม͑Α͏ͥʂ
ϝϦοτ ෳͷϓϥοτϑΥʔϜͰ༻͢Δ༁ͷॏෳ͕ආ͚ΒΕΔ ଟݴޠԽվֵͷऔΓΈ Ҋ%#Ͱ༁σʔλΛҰݩཧ͢Δ σϝϦοτ ΞϓϦέʔγϣϯͷঢ়ଶʹ߹Θͤͨ༁ͷόʔδϣϯཧ͕ग़དྷͳ͍ ༁Λޠमਖ਼͢ΔʹϚΠάϨʔγϣϯ͕ඞཁʹͳΔ ΞϓϦέʔγϣϯͷঢ়ଶʹԠͯ͡
༁όʔδϣϯཧ͞Εͨํ͕ྑ͍
ଟݴޠԽվֵͷऔΓΈ Ҋ$47547ϑΝΠϧͰ༁σʔλΛҰݩཧ͠ɺ(JU)VCϦϙδτ Ϧʹஔ͍ͯόʔδϣϯཧ͢Δɻͦͷ্Ͱ֤ϓϥοτϑΥʔϜʹద ͳܗࣜͷ༁ϑΝΠϧʹมɾ͢Δɻ $47547 .string .xml .json
.po
ଟݴޠԽվֵͷऔΓΈ Ҋ$47547ϑΝΠϧͰ༁σʔλΛҰݩཧ͠ɺ(JU)VCϦϙδτ Ϧʹஔ͍ͯόʔδϣϯཧ͢Δɻͦͷ্Ͱ֤ϓϥοτϑΥʔϜʹద ͳܗࣜͷ༁ϑΝΠϧʹมɾ͢Δɻ ϝϦοτ ΞϓϦέʔγϣϯͷঢ়ଶͱ༁Λඥ͚ͮΒΕΔ σϝϦοτ ݩϑΝΠϧ͔Β֤ϓϥοτϑΥʔϜͰඞཁͳܗࣜͷ༁ϑΝΠϧͷม
Λ࣮͠ͳ͚ΕͳΒͳ͍ͷͰίετ͕͔͔Δ
9 ͪΐͬͱͬͯɻ ͨͪͦͦଟݴޠԽͷҝͷ ։ൃΛ͖ͩ͢Ζ͏͔
ଟݴޠԽվֵͷऔΓΈ ଟݴޠԽͱ͍͏ͷͦΕ͚ͩͰଟେͳίετ͕͔ ͔Δ w ༁Ұཡɾݕࡧ͕ग़དྷΔཧը໘ w ༁Ճɾमਖ਼ɾআ w
༁ཤྺ ୭͕͍ͭͲͷΑ͏ʹ༁Λߋ৽͔ͨ͠ w ༁ϑΝΠϧมɾ w Ҭʹ߹Θͤͨ࣌ɾ௨՟ͷද࣮ࣔ w FUD
9 ଟݴޠԽॏཁͳཁૉͰ͋Δ ͔͠͠։ൃͷຊ࣭Ͱͳ͍ ଟݴޠԽ֎෦αʔϏεʹͤ ։ൃऀΞϓϦέʔγϣϯͷ։ൃʹूத͢Δ
ଟݴޠԽվֵͷऔΓΈ ࠷ऴҊ ֤ϓϥοτϑΥʔϜͰ༻͢Δ༁ϑΝΠϧͦΕͧΕͷ (JU)VCϦϙδτϦʹஔ͍ͯྑ͍ɻ ͔͠͠༁ͷཧ ݕࡧɾՃɾमਖ਼ɾআ ֎෦αʔϏεͰߦ͏ɻ
ͦͷ্Ͱ֎෦αʔϏεͷ༁σʔλͱ(JU)VCϦϙδτϦ ͷ༁ϑΝΠϧΛ࿈ܞ͠ɺόʔδϣϯཧ͢Δɻ
9 Ұମ͓લԿΛݴ͍ͬͯΔΜͩ ʉʔʉʀ
9 ࣮ࡍʹαʔϏεΛհ͠ͳ͕Βઆ໌͠·͢
༁ϚωδϝϯταʔϏεᶃ1ISBTF"QQ Translate Language Files Online in Minutes. https://phraseapp.com/
༁ϚωδϝϯταʔϏεᶃ1ISBTF"QQ (JU)VCϦϙδτϦͷQPϑΝΠϧͱ1ISBTF"QQ ͷϓϩδΣΫτΛඥ͚ {GitHub Personal Access Token} {PhraseApp
Project Id}
༁ϚωδϝϯταʔϏεᶃ1ISBTF"QQ (JU)VC࿈ܞʹΑͬͯಛఆͷϒϥϯν͔Β༁σʔλΛ औΓࠐΉɺ͘͠ٯʹ1VMM3FRVFTUΛ࡞Δࣄ͕Ͱ͖Δ खܰʹ։ൃऀҎ֎Ͱ༁ͷ13Λ࡞Ͱ͖Δ
༁ϚωδϝϯταʔϏεᶄ-PLBMJTF https://lokalise.co/
༁ϚωδϝϯταʔϏεᶄ-PLBMJTF *O$POUFYU&EJUPS ը໘ʹදࣔ͞Ε͍ͯΔจݴ༁Λमਖ਼͢Δ͜ͱ͕Մೳ (PhraseAppಉ༷ͷػೳΛ͍࣋ͬͯΔ) https://docs.lokalise.co/developer-docs/livejs-web-in-context-editor
༁ϚωδϝϯταʔϏεᶄ-PLBMJTF (JU)VCͪΖΜɺ4LFUDI +JSB 4MBDL ༷ʑͳαʔϏεͱ֎෦࿈ܞ͕Մೳ https://lokalise.co/integrations/
·ͱΊ ։ൃऀϢʔβʔʹՁΛಧ͚Δҝͷ։ൃʹઐ೦͠Α͏ɻ ͦΕҎ֎ͷ෦ɺಛʹଟݴޠԽࣗୡͰཧӡ༻ΛͲ ͏ͤͣʹࡁΉ͔Λߟ͑Α͏ɻ
9 5IBOLTGPS-JTUFOJOH ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠