僕たちはサービスの多言語化にどう立ち向かうべきか

 僕たちはサービスの多言語化にどう立ち向かうべきか

Affee225683fef978457e27fbe3ecb67?s=128

endam

May 25, 2018
Tweet

Transcript

  1. © ISAO | CONFIDENTIAL ๻ͨͪ͸αʔϏεͷଟݴޠԽʹ Ͳ͏ཱͪ޲͔͏΂͖͔ ٢ాক೭

  2. ٢ాক೭ ͩʙ·͞ w೥݄ʹגࣜձࣾ*4"0ೖࣾ wνʔϜίϥϘϨʔγϣϯαʔϏε ʮ(PBMPVTʯͷϦʔυΤϯδχΞ wΤϯδχΞ࠾༻ɾڭҭʹ΋ܞΘ͍ͬͯΔ !FOEBN

  3. MISSION  9 (PBMPVTͱ͸ νʔϜͰΰʔϧΛୡ੒͢ΔͨΊ ͷϏδωεSNS 㾎ҙࢥܾఆͷεϐʔυ͕ര଎ʹ 㾎ࣾһશһ΁اۀͷϏδϣϯΛਁಁ 㾎ಁ໌ੑͷ͋ΔධՁ͕Ͱ͖Δ 㾎૊৫ͷนͳΜͯײ͡ͳ͍

    㾎ͳΜ͔ͩɺ࢓ࣄָ͕͘͠ͳΔ
  4.  9 ւ֎Ͱ΋ఏڙ͍ͯ͠Δ

  5.  9 ࠓ೔͸͜ͷ(PBMPVTͷଟݴޠԽͷ ࢓૊ΈΛม͑Α͏ͱͨ͠࿩Λ͠·͢

  6.  9 ͦͷલʹ

  7.  9 ͦ΋ͦ΋຋༁ͱଟݴޠԽͷ ҧ͍ͬͯԿʁ

  8.   ͋Δݴޠͷݴ༿ΛଞͷݴޠͰද͢͜ͱɻ ʮ୯ޠʯͰ͸ͳ͘ʮҙຯʯΛϕʔεͱ͢Δɻ ʮ୯ޠʯϕʔεͩͱ͍ΘΏΔ௚༁ʹͳͬͯ͠·͍ػցతͳݴ༿ʹͳΓ͕ͪ จ຺΍എܠɺͦΕΛݟΔϢʔβʔʹͲͷΑ͏ʹ఻͍͔͑ͨʹΑͬͯ ద੾ͳ༁͸มΘΔɻ ຋༁ͱଟݴޠԽͷҧ͍ ຋༁

  9.   ϢʔβʔʹԠͯ͡ෳ਺ͷݴޠΛ੾Γସ͑ΒΕΔঢ়ଶɺ·ͨͦͷ࢓૊Έ ຋༁͸ϓϩηεͷҰ෦ʹա͗ͳ͍ɻ ຋༁ͱଟݴޠԽͷҧ͍ ଟݴޠԽ

  10.  9 (PBMPVTͷ ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ

  11.   ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ $BLF1)1JOΛ࢖༻

  12.   ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ ҰͭͷQPϑΝΠϧʹશͯͷ຋༁Λهࡌ

  13.   ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ ೔෇΍௨՟දࣔ͸$BLF1)1ͷϔϧύʔͰରԠ

  14.   ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ ͑ɺ͡Ό͋3FBDUͱ͔+4Ͱ࢖͏຋༁͸Ͳ͏ͯ͠Μͷɾɾʁ ͏Μେৎ෉ɺແཧ΍ΓରԠͯ͠ΔΑ

  15.   ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ ·ͣϢʔβʔͷઃఆͨ͠ݴޠʹԠͯ͡දࣔ͢ΔͨΊͷ@@ ؔ਺ΛݺͿ

  16.   ࠓ·ͰͷଟݴޠԽͷ࢓૊Έ ͔͜͠͠ͷ@@ ؔ਺Ͱ΍͍ͬͯΔ͜ͱ͸QPϑΝΠϧ͔Β௚઀຋༁͞Εͨ จݴΛऔಘ͍ͯ͠ΔͷͰ͸ͳ͘ɺ1)1ͰϨϯμϦϯάͨ͠௒ڊେͳ +4ΦϒδΣΫτ͔ΒΩʔʹରԠ͢Δ஋Λऔಘ͍ͯ͠Δ ʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ௒ڊେͳΦϒδΣΫτɹʻ ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ

    ͭ·Γ຋༁Λ௥Ճ͢Δ౓ʹ͜ͷΦϒδΣΫτ΋मਖ਼͢Δඞཁ͕͋Δ׼
  17.  9 ࣮ࡍͷ຋༁ͷϓϩηε

  18.   ։ൃऀ͕ը໘දࣔɾϓογϡ௨஌ɾϝʔϧ΋ؚΊͯ຋༁͕ඞཁͳՕॴΛ ચ͍ग़͢ ચ͍ग़ͨ͠຋༁ඞཁՕॴΛεϓϨουγʔτʹ·ͱΊͯ຋༁୲౰ऀ ΄ͱ ΜͲͷ৔߹1- ʹ౉͢˞͜ΕͲ͜ͷ͜ͱΛݴͬͯΔͷͱ͍͏֬ೝ΋গͳ͘ͳ͍ ຋༁୲౰ऀ͕຋༁ͯ͠εϓϨουγʔτʹهೖ ։ൃऀ͸຋༁͕ඞཁͳՕॴΛ@@ؔ਺ͰғΜͰϚʔΫͨ͠ޙʹ$BLFJO

    ίϚϯυΛ࣮ߦͯ͠຋༁ݩͱͳΔQPUϑΝΠϧΛੜ੒ 1P&EJUͱ͍͏QPϑΝΠϧฤूπʔϧΛ࢖ͬͯɺ຋༁ݩͷQPUϑΝΠϧΛ جʹ຋༁ͨ͠จݴΛهೖ͠ɺQPϑΝΠϧΛߋ৽ ϦϙδτϦʹ1VTI ຋༁ͷϓϩηε ػೳ௥ՃɾվળʹΑΓ৽ͨʹ຋༁͕ඞཁͱͳΔ৔߹
  19.  9 ҰݴͰݴ͏ͱΊΜͲ͍͘͞

  20.   w ։ൃऀ͔͠຋༁Λߋ৽Ͱ͖ͳ͍ w จݴΛݕࡧͰ͖ͳ͍ w ౎౓౎౓຋༁Λߋ৽͍ͯ͠ΔͷͰจݴͷҰ؏ੑ͕ແ͍ ࣅͨΑ͏ͳจݴ͕ ͨ͘͞Μ͋Δ

     w ୭͕Ͳ͏͍͏ҙਤͰߋ৽ͨ͠ͷ͔෼͔Βͳ͍ ຋༁ͷϓϩηε ໰୊఺
  21.  9 ΋͏͜Μͳϓϩηε౿Ήͷݏͩɾɾʂ Ͱ΋ػೳ։ൃ͕Ͳ͏ͯ͠΋༏ઌతʹͳͬͯ͠·͏

  22.  9 ͔͋͠͠Δ࣌సػ͕๚Εͨɾɾʂ

  23.  9 σβΠϯˍϑϩϯτΤϯυϦχϡʔΞϧ Λ࣮ࢪ͢Δ͜ͱ͕ܾఆʂ

  24.  9 ͜ͷػձʹ ଟݴޠԽͷ࢓૊Έ΋ม͑Α͏ͥʂ

  25.   ϝϦοτ ෳ਺ͷϓϥοτϑΥʔϜͰ࢖༻͢Δ຋༁ͷॏෳ͕ආ͚ΒΕΔ ଟݴޠԽվֵͷऔΓ૊Έ Ҋ%#Ͱ຋༁σʔλΛҰݩ؅ཧ͢Δ σϝϦοτ ΞϓϦέʔγϣϯͷঢ়ଶʹ߹Θͤͨ຋༁ͷόʔδϣϯ؅ཧ͕ग़དྷͳ͍ ຋༁Λޠमਖ਼͢Δ౓ʹϚΠάϨʔγϣϯ͕ඞཁʹͳΔ ΞϓϦέʔγϣϯͷঢ়ଶʹԠͯ͡

    ຋༁΋όʔδϣϯ؅ཧ͞Εͨํ͕ྑ͍
  26.   ଟݴޠԽվֵͷऔΓ૊Έ Ҋ$47547ϑΝΠϧͰ຋༁σʔλΛҰݩ؅ཧ͠ɺ(JU)VCϦϙδτ Ϧʹஔ͍ͯόʔδϣϯ؅ཧ͢Δɻͦͷ্Ͱ֤ϓϥοτϑΥʔϜʹద੾ ͳܗࣜͷ຋༁ϑΝΠϧʹม׵ɾ഑෍͢Δɻ $47547 .string .xml .json

    .po
  27.   ଟݴޠԽվֵͷऔΓ૊Έ Ҋ$47547ϑΝΠϧͰ຋༁σʔλΛҰݩ؅ཧ͠ɺ(JU)VCϦϙδτ Ϧʹஔ͍ͯόʔδϣϯ؅ཧ͢Δɻͦͷ্Ͱ֤ϓϥοτϑΥʔϜʹద੾ ͳܗࣜͷ຋༁ϑΝΠϧʹม׵ɾ഑෍͢Δɻ ϝϦοτ ΞϓϦέʔγϣϯͷঢ়ଶͱ຋༁Λඥ͚ͮΒΕΔ σϝϦοτ ݩϑΝΠϧ͔Β֤ϓϥοτϑΥʔϜͰඞཁͳܗࣜͷ຋༁ϑΝΠϧͷม׵

    Λ࣮૷͠ͳ͚Ε͹ͳΒͳ͍ͷͰίετ͕͔͔Δ
  28.  9 ͪΐͬͱ଴ͬͯɻ ๻ͨͪ͸ͦ΋ͦ΋ଟݴޠԽͷҝͷ ։ൃΛ͢΂͖ͩΖ͏͔

  29.   ଟݴޠԽվֵͷऔΓ૊Έ ଟݴޠԽͱ͍͏ͷ͸ͦΕ͚ͩͰଟେͳίετ͕͔ ͔Δ w ຋༁Ұཡɾݕࡧ͕ग़དྷΔ؅ཧը໘ w ຋༁௥Ճɾमਖ਼ɾ࡟আ w

    ຋༁ཤྺ ୭͕͍ͭͲͷΑ͏ʹ຋༁Λߋ৽͔ͨ͠  w ຋༁ϑΝΠϧม׵ɾ഑෍ w ஍Ҭʹ߹Θͤͨ೔࣌ɾ௨՟౳ͷද࣮ࣔ૷ w FUD
  30.  9 ଟݴޠԽ͸ॏཁͳཁૉͰ͸͋Δ ͔͠͠։ൃͷຊ࣭Ͱ͸ͳ͍ ଟݴޠԽ͸֎෦αʔϏεʹ೚ͤ ։ൃऀ͸ΞϓϦέʔγϣϯͷ։ൃʹूத͢Δ

  31.   ଟݴޠԽվֵͷऔΓ૊Έ ࠷ऴҊ ֤ϓϥοτϑΥʔϜͰ࢖༻͢Δ຋༁ϑΝΠϧ͸ͦΕͧΕͷ (JU)VCϦϙδτϦʹஔ͍ͯྑ͍ɻ ͔͠͠຋༁ͷ؅ཧ ݕࡧɾ௥Ճɾमਖ਼ɾ࡟আ ͸ ֎෦αʔϏεͰߦ͏ɻ

    ͦͷ্Ͱ֎෦αʔϏεͷ຋༁σʔλͱ(JU)VCϦϙδτϦ ಺ͷ຋༁ϑΝΠϧΛ௚઀࿈ܞ͠ɺόʔδϣϯ؅ཧ͢Δɻ
  32.  9 Ұମ͓લ͸ԿΛݴ͍ͬͯΔΜͩ ʉʔʉʀ

  33.  9 ࣮ࡍʹαʔϏεΛ঺հ͠ͳ͕Βઆ໌͠·͢

  34.   ຋༁ϚωδϝϯταʔϏεᶃ1ISBTF"QQ Translate Language Files Online in Minutes. https://phraseapp.com/

  35.   ຋༁ϚωδϝϯταʔϏεᶃ1ISBTF"QQ (JU)VCϦϙδτϦ಺ͷQPϑΝΠϧͱ1ISBTF"QQ ͷϓϩδΣΫτΛඥ෇͚ {GitHub Personal Access Token} {PhraseApp

    Project Id}
  36.   ຋༁ϚωδϝϯταʔϏεᶃ1ISBTF"QQ (JU)VC࿈ܞʹΑͬͯಛఆͷϒϥϯν͔Β຋༁σʔλΛ औΓࠐΉɺ΋͘͠͸ٯʹ1VMM3FRVFTUΛ࡞Δࣄ͕Ͱ͖Δ खܰʹ։ൃऀҎ֎Ͱ΋຋༁ͷ13Λ࡞੒Ͱ͖Δ

  37.   ຋༁ϚωδϝϯταʔϏεᶄ-PLBMJTF https://lokalise.co/

  38.   ຋༁ϚωδϝϯταʔϏεᶄ-PLBMJTF *O$POUFYU&EJUPS ը໘ʹදࣔ͞Ε͍ͯΔจݴ຋༁Λ௚઀मਖ਼͢Δ͜ͱ͕Մೳ (PhraseApp΋ಉ༷ͷػೳΛ͍࣋ͬͯΔ) https://docs.lokalise.co/developer-docs/livejs-web-in-context-editor

  39.   ຋༁ϚωδϝϯταʔϏεᶄ-PLBMJTF (JU)VC͸΋ͪΖΜɺ4LFUDI +JSB 4MBDL౳ ༷ʑͳαʔϏεͱ֎෦࿈ܞ͕Մೳ https://lokalise.co/integrations/

  40.   ·ͱΊ ։ൃऀ͸ϢʔβʔʹՁ஋Λಧ͚Δҝͷ։ൃʹઐ೦͠Α͏ɻ ͦΕҎ֎ͷ෦෼ɺಛʹଟݴޠԽ͸ࣗ෼ୡͰ؅ཧ΍ӡ༻ΛͲ ͏ͤͣʹࡁΉ͔Λߟ͑Α͏ɻ

  41.  9 5IBOLTGPS-JTUFOJOH ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠