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
endam
May 25, 2018
Programming
4
1.3k
僕たちはサービスの多言語化にどう立ち向かうべきか
endam
May 25, 2018
Tweet
Share
More Decks by endam
See All by endam
Web開発における開発環境構築の歴史と変遷〜原始時代から現代(Docker)まで〜
endam
0
180
レガシーなフレームワークで不本意ながらもとことん頑張ってみた
endam
0
420
What is Atomic Design?
endam
0
40
Angular × Atomic Designでデザインリニューアルを行った話
endam
2
590
Postman
endam
0
420
Engineer's Mind
endam
1
120
Be the best development team
endam
0
84
Yarnの導入
endam
0
510
Web APIの現場あるある解決特集〜こうして僕たちのAPIは使いやすくなった〜
endam
0
500
Other Decks in Programming
See All in Programming
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
1.2k
Делим тесты между QA и разработчиком
mariyasaygina
0
250
API Platform for Laravel
dunglas
1
1.1k
Frontend Magic mit CSS Houdini
joergneumann
0
420
Iteratorでページネーションを実現する
sonatard
2
650
Patched fetch did not work
quramy
6
460
o1モデルのプロンプトエンジニアリングって?
ktc_wada
0
390
Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
sumio
3
1.8k
なぜアジャイルがうまくいかないのか?
yum3
2
140
◯◯エンジニアになった理由
gessy0129
PRO
0
110
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
1
670
遅延評価勉強法で良質な学びを
yuhisatoxxx
1
120
Featured
See All Featured
KATA
mclloyd
27
13k
Building Applications with DynamoDB
mza
90
6k
Building Flexible Design Systems
yeseniaperezcruz
325
38k
How to Ace a Technical Interview
jacobian
274
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
30
2.6k
Teambox: Starting and Learning
jrom
131
8.7k
4 Signs Your Business is Dying
shpigford
180
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Designing for humans not robots
tammielis
248
25k
Building Your Own Lightsaber
phodgson
101
6k
We Have a Design System, Now What?
morganepeng
48
7.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
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 ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠