Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プレイドにおけるプロダクトの国際化の取り組み | 野田 陽平 PLAID, Inc

プレイドにおけるプロダクトの国際化の取り組み | 野田 陽平 PLAID, Inc

#SaaS_Frontend で発表した、SaaSプロダクトのKARTEの開発におけるプロダクトの国際化(i18n: Internationalization)についてです。

こちらの本にもi18nについて書いてますので、もしよろしければ眺めてみてください。
みんなのVue.js - 現場で役立つ実践ノウハウ

positiveflat

July 13, 2021
Tweet

More Decks by positiveflat

Other Decks in Programming

Transcript

  1. 1
    ϓϨΠυʹ͓͚ΔϓϩμΫτͷࠃࡍԽͷऔΓ૊Έ
    גࣜձࣾϓϨΠυɹEngineerɹ໺ా ཅฏ
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ

    View Slide

  2. 2
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ࣗݾ঺հ
    ໺ా ཅฏ גࣜձࣾϓϨΠυ
    Engineer 2015 join
    Vue.jsೖ໳ɾΈΜͳͷVue.js ڞஶऀ ৽͍͠αʔϏεΛwatch͢Δͷ͕޷͖
    Ex-IBMer
    twitter : @positive
    f
    l

    View Slide

  3. 3
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ΈΜͳͷVue.js
    ʮΈΜͳͷVue.js - ݱ৔Ͱ໾ཱ࣮ͭફϊ΢ϋ΢ʯʢٕज़ධ࿦ࣾʣ

    ͱ͍͏ຊΛձࣾͷ஥ؒͱॻ͖·ͨ͠
    ຊ೔͸͜ͷຊʹ΋ॻ͍ͨϓϩμΫτͷࠃࡍԽʹ͍ͭͯ࿩͠·͢
    IUUQTHJIZPKQCPPL

    View Slide

  4. 4
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    $9 ސ٬ମݧ
    ϓϥοτϑΥʔϜ
    ࠃࡍԽ͍ͯ͠ΔϓϩμΫτ KARTE ʹ͍ͭͯ

    View Slide

  5. 5
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ֬ೝ͢Δ
    جຊαʔϏε΍͝ར༻ํ๏Λ͝঺հ͠·͢ɻ
    ͓ಘͳಛయ΍໾ཱͭ৘ใ͕ຬࡌͰ͢ɻ
    ॳΊͯͷํ΁
    ְתּׅ然钠ׅ׷
    6*رؠ؎ش٦׌ֽוזַזַ♳麦׃זְծ➙
    ״׶إٔؗ،حف׃׋ְהְֲ倯䗳铣דׅկ
    UIرؠ؎ش٦ָ濼׏גֶֻץֹ
    7אךرؠ؎ٕٝ٦ٕ
    DESIGN
    RULES
    » CHECK
    ׆׏ה⢪ִ׷،؎ذي׌ֽ׾䲧ִת׃׋կ
    ֿך堣⠓׾ֶ鋅鷕׃זֻկ
    窫㼎ծ
    妜׃ְ
    ౙͷओ໾ɺ
    Ξ΢λʔ
    COLLECTION
    OUTER
    嗚稊勴⟝׾㼰׃㢌刿ׅ׷׌ֽדծ֮ז׋ך椚
    䟝ך暟⟝ח⳿⠓ִ׷〳腉䚍ָ넝ֻז׶תׅկ
    勴⟝׾㢌ִג嗚稊׃ג׫גֻ׌ְׁկ
    ׀䋞劄ך暟⟝כ
    鋅אַ׶תׇ׿ד׃׋ַ
    ꟗׄ׷
    ҰਓҰਓʹ߹Θͤͨ
    ސ٬ମݧΛఏڙ
    WebαΠτͷ๚໰ऀͷߦಈΛ

    ސ٬͝ͱʹϦΞϧλΠϜʹղੳ
    $9 ސ٬ମݧ
    ϓϥοτϑΥʔϜ
    ࠃࡍԽ͍ͯ͠ΔϓϩμΫτ KARTE ʹ͍ͭͯ

    View Slide

  6. ɹɹʛɹɹ© 2019 PLAID Inc.
    גࣜձࣾϓϨΠυʹ͍ͭͯ
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    גࣜձࣾϓϨΠυ
    ౦ژ౎தԝ۠ۜ࠲6-10-1 GINZA SIX 10
    F

    ઃཱɿ2011೥10݄
    ैۀһɿ194໊ ※2021೥3݄຤࣌఺
    6

    View Slide

  7. 7
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ຊ೔࿩͢಺༰

    i18n: Internationalization
    18จࣈ
    = ࠃࡍԽ

    View Slide

  8. 8
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ຊ೔࿩͢಺༰
    ελʔτΞοϓʹΑΔ

    SaaSϓϩμΫτͷi18n

    View Slide

  9. 9
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    I18n
    i18n: Internationalization
    l10n: Localization
    ΞϓϦέʔγϣϯɾίϯςϯπɾυΩϡϝϯτΛ

    l10nՄೳͳঢ়ଶʹͰ͖ΔΑ͏ʹઃܭɾ։ൃ͢Δ͜ͱ
    ΞϓϦέʔγϣϯɾίϯςϯπɾυΩϡϝϯτΛ

    ͋Δݴޠɾ஍ҬɾจԽͳͲʹରԠͤ͞Δ͜ͱʢ຋༁ɾจԽରԠʣ
    g11n: Globalization
    I18nͱಉٛʢi18n, l10n Λຬͨ͢͜ͱΛҙຯ͢Δ͜ͱ΋͋Δʣ
    ※ఆٛ͸৭ʑ͋Γ·͢

    View Slide

  10. 10
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    I18n
    ࠃࡍԽͷର৅͸ϓϩμΫτ͚ͩͰ͸ͳ͍
    ϓϥΠόγʔϙϦγʔ

    ٴͼ࡞੒ํ਑
    Owned Media
    Product
    Product Landing Page
    Corporate Site
    Support Site ։ൃऀ޲͚Document
    e.t.c…
    ར༻ن໿
    Online Course
    ܖ໿ॻ
    ֤छఏҊࢿྉ

    View Slide

  11. 11
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    I18n
    ͋ΒΏΔ׆ಈ͕αʔϏεͰ͋Γ

    ͦΕΒͷࠃࡍԽ΋ؚ·ΕΔ

    View Slide

  12. 12
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    I18n
    ࠓճ͸ϑϩϯτΤϯυͷmeetupͳͷͰ

    ϓϩμΫτͷi18nʹߜͬͯ࿩͢
    + ີ઀ʹؔ࿈͢Δ຋༁ϑϩʔ(l10n)ʹ͍ͭͯ΋৮Ε·͢
    ※Vue.jsΛ࢖͍ͬͯͳ͍ਓ΋ଟ͍ͱࢥ͏ͷͰɺ

    vue-i18nͷࡉ͔͍෦෼ʹ͸͋·Γ৮Εͳ͍Ͱ͢

    View Slide

  13. ຊ೔ͷςʔϚ
    13
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    SaaSϓϩμΫτͷi18n
    ࿩͢͜ͱ
    i18nͷ໨తͱ੍໿

    Softwareͷi18nରԠͷجຊ

    ϓϨΠυʹ͓͚Δi18nରԠ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    ࠓޙʹ͍ͭͯ

    View Slide

  14. ຊ೔ͷςʔϚ
    14
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    SaaSϓϩμΫτͷi18n
    ࿩͢͜ͱ
    👉 i18nͷ໨తͱ੍໿

    Softwareͷi18nରԠͷجຊ

    ϓϨΠυʹ͓͚Δi18nରԠ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    ࠓޙʹ͍ͭͯ

    View Slide

  15. 15
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    i18nͷ໨తͱ੍໿
    i18nͷ໨త
    • ϓϩμΫτͷՁ஋ΛΑΓଟ͘ͷϢʔβʔʹಧ͚ΔͨΊ
    • ৽ͨͳࢢ৔ɾϢʔβʔʹରͯ͠ͷϓϩμΫτͷՁ஋ݕূͷͨΊ

    View Slide

  16. 16
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    i18nͷ໨తͱ੍໿
    “Starting a company is like throwing yourself off the cliff
    and assembling an airplane on the way down”


    by Reid Hoffman (LinkedIn Co-founder)
    IUUQTXXXGBTUDPNQBOZDPNIPXMJOLFEJOTSFJEIP
    ff
    NBOKVNQFEP
    ff
    BDMJ
    ff
    BOECVJMUBOBJSQMBOF
    [email protected])P
    ff
    NBO
    ͨͩ͠ϓϨΠυ͸ελʔτΞοϓ …ʮ֑ͷ্͔Βඈͼ߱Γͳ͕ΒඈߦػΛ࡞Δʯ

    View Slide

  17. 17
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    i18nͷ໨తͱ੍໿
    PMFΛ໨ࢦ͢SaaS
    ϓϩμΫτΞ΢τ
    ϚʔέοτΠϯ
    ϓϩμΫτΛ࣠ʹࢢ৔ʹՁ஋Λ౰ͯʹ͍͘
    ࢢ৔Λ࣠ʹϓϩμΫτΛߟ͑ɺఏڙ͢Δ
    ߴ଎ʹPMFͷୡ੒Λ໨ࢦ͢ඞཁ͕͋Δ

    = ։ൃεϐʔυΛͰ͖Δ͚ͩམͱ͞ͳ͍ͷ͕େࣄʢ੍໿ʣ

    + ਖ਼͘͠ίϯηϓτ͕఻ΘΔΑ͏ͳݴ༿બͼΛ͍ͨ͠ʢNot machine translationʣ
    …ϓϨΠυ͸ͪ͜Βʹॏ৺͕͋Δ

    View Slide

  18. ຊ೔ͷςʔϚ
    18
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    SaaSϓϩμΫτͷi18n
    ࿩͢͜ͱ
    👉
    i18nͷ໨తͱ੍໿

    Softwareͷi18nରԠͷجຊ

    ϓϨΠυʹ͓͚Δi18nରԠ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    ࠓޙʹ͍ͭͯ

    View Slide

  19. 19
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    Softwareͷi18nରԠͷجຊ
    Ϣʔβʔʹ߹ͬͨݴޠͰαʔϏεΛ࢖͑ΔΑ͏ʹ͢Δ
    Browser Language Setting
    Language Setting on Admin UI

    View Slide

  20. 20
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    Softwareͷi18nରԠͷجຊ
    Ϣʔβʔ͕ݴޠઃఆΛ੾Γସ͑ΔͱɺUIͷݴޠ͕੾ΓସΘΔ
    ೔ຊޠ ӳޠ

    View Slide

  21. 21
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    දࣔ͞ΕΔจݴҎ֎ͷ؍఺
    • ෳ਺ܗɾtagΛؚΜͩޠॱม׵
    • TimezoneରԠ
    • CurrencyରԠ
    • จԽରԠʢه߸ɾίϯςϯπͳ
    Ͳʣ
    • σβΠϯͷରԠ
    • e.t.c…
    Softwareͷi18nରԠͷجຊ

    View Slide

  22. 22
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    Bi-directional
    ೔ຊޠදࣔ ΞϥϏΞޠදࣔ
    IUUQTXXXHPPHMFDPKQNBQT
    Softwareͷi18nରԠͷجຊ

    View Slide

  23. 23
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ه߸ͷҙຯʹ͍ͭͯ … ৭ʑ͋Δ
    ✔ ೔ຊޠ: ɹؒҧ͍

    ӳɹޠ:ɹਖ਼ղ
    ~ (νϧμ)ͱʙ
    IUUQTCMPHOJTIJOPTDPNBSDIJWFTIUNM
    ೔ຊޠͰʙ165cm:ɹ165cmҎԼɹ

    ӳޠͰ~165cm:ɹ໿165cmɹ
    ̋,
    ✖︎
    ೔ຊޠ: ܾఆɺΩϟϯηϧɹ

    ӳޠ: Ωϟϯηϧɺܾఆ

    ɹ※࠷ۙ͸೔ຊ൛͕ٯʹͳͬͯ౷Ұ͞Εͨ໛༷
    ʢςετͷ࠾఺౳Ͱʣ
    (ήʔϜͷίϯτϩʔϥʔ)
    Softwareͷi18nରԠͷجຊ

    View Slide

  24. 24
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    {


    "en": {


    "save": "Save"


    },


    "ja": {


    "save": "อଘ"


    }


    }
    {{ $t('save') }}
    جຊతͳϑϩϯτΤϯυͷi18nରԠ
    ja
    en
    I18n + l10nରԠ Renderingޙ
    i18nରԠલͷHTML
    • innerHTMLʹจࣈͰ͸ͳ͘ɺkeyΛೖΕΔ
    • จݴ͸ɺϢʔβʔͷݴޠ͝ͱʹresourceΛ࣋ͬͯࢀর͢Δ
    Softwareͷi18nରԠͷجຊ
    อଘ
    อଘ
    Save

    View Slide

  25. ຊ೔ͷςʔϚ
    25
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    SaaSϓϩμΫτͷi18n
    ࿩͢͜ͱ
    👉
    i18nͷ໨తͱ੍໿

    Softwareͷi18nରԠͷجຊ

    ϓϨΠυʹ͓͚Δi18nରԠ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    ࠓޙʹ͍ͭͯ

    View Slide

  26. ϓϨΠυʹ͓͚Δi18nରԠ
    26
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ΞʔΩςΫνϟ
    ݩʑ͸ϞϊϦγοΫ
    - ؔ৺෼཭
    - σϓϩΠΛ༰қʹ
    ϚΠΫϩαʔϏεʢͷΑ͏ͳʣઃܭʹ
    ※Ұ෦·͕ͨͬͯڞ௨Ͱ࢖͏component΍
    ఆ਺ͳͲ͕͋Δ

    View Slide

  27. 27
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ϓϨΠυʹ͓͚Δi18nରԠ
    I18nରԠͷର৅ͷશମ૾

    View Slide

  28. 28
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ϑϩϯτΤϯυ(view)Ҏ֎
    • DBͷσʔλ
    • ֤ࠃޠ༻ʹσʔλΛ࡞Δ
    • σʔλ͝ͱʹresourceΛ࣋ͭ
    • σʔλʹkeyΛ࣋ͨͤͯɺresource͸
    ϑϩϯτʹ࣋ͭ
    • όοΫΤϯυɾϑϩϯτΤϯυڞ
    ௨Ͱ࢖͏ఆ਺

    • ֎෦αʔϏεΛ࢖͍ͬͯΔ৔߹
    ϓϨΠυʹ͓͚Δi18nରԠ

    View Slide

  29. 29
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    جຊํ਑
    • όοΫΤϯυʹจݴ͸࣋ͨͳ͍
    • จݴΛ࢖ͬͯϩδοΫΛॻ͔ͳ͍
    • όοΫΤϯυʹλΠϜκʔϯґଘͷ
    ࣮૷͸࣋ͨͳ͍
    • i18n͸ϑϩϯτΤϯυͰରԠ͢Δ
    Vue I18n

    (Vueͷi18nରԠ༻Plugin)
    ΄΅Vue.jsͰ࣮૷͞Ε͍ͯΔͷͰ

    @intlify/vue-i18n Λ࢖ͬͯi18nରԠ
    ϓϨΠυʹ͓͚Δi18nରԠ

    View Slide

  30. 30
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    Single File ComponentͷରԠྫ



    {{ $t('save') }}





    <br/><br/><br/>// ...<br/><br/><br/>





    {


    "en": {


    "save": "Save"


    },


    "ja": {


    "save": “อଘ"


    }


    }





    <br/><br/><br/>/* ... */<br/><br/><br/>


    ϓϨΠυʹ͓͚Δi18nରԠ

    View Slide

  31. ຊ೔ͷςʔϚ
    31
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    SaaSϓϩμΫτͷi18n
    ࿩͢͜ͱ
    👉
    i18nͷ໨తͱ੍໿

    Softwareͷi18nରԠͷجຊ

    ϓϨΠυʹ͓͚Δi18nରԠ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    ·ͱΊɾࠓޙͷऔΓ૊Έ

    View Slide

  32. ຋༁ϑϩʔɾi18nରԠνΣοΫ
    32
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ։ൃεϐʔυେࣄʢ࠶ܝʣ
    ֤νʔϜͷεϐʔυΛམͱͣ͞ʹɺ
    • Ձ஋ݕূ
    • Ձ஋ͷਂԽ
    ʹूதͰ͖Δঢ়ଶΛอͪͭͭࠃࡍԽ
    ͢Δ

    View Slide

  33. 33
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    εϐʔυΛམͱ͞ͳ͍ͨΊʹ
    • ຋༁͢ΔείʔϓΛߜΔ
    • PMFΛ໨ࢦ͢։ൃதͷϓϩμΫτ
    • Beta൛ػೳ

    →είʔϓ֎ͷϓϩμΫτ͸೔ຊޠҎ֎Ͱͷར༻
    ࣌ʹάϩʔόϧφϏήʔγϣϯ͔Βඇදࣔʹ͢Δ

    • Developer͕຋༁ͷΫΦϦςΟʹ
    ͍ͭͯؾʹͤͣ։ൃͰ͖ΔΑ͏ʹ
    ͢Δ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    View Slide

  34. 34
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ख໭ΓɾରԠ࿙ΕΛ

    ๷͙ͨΊʹ
    eslint-plugin-vue-i18n RuleΛద༻
    • no-raw-text: HTMLʹจݴΛ௚ॻ͖͍ͯ͠ΔՕॴΛݕ஌
    ʢi18nະରԠՕॴʣ
    • no-missing-key: Ϧιʔεʹkey͕ଘࡏ͠ͳ͍ՕॴΛݕ஌
    • no-unused-keys: ಉ͡Ωʔ͕ॏෳͯ͠ଘࡏ͢ΔՕॴΛݕ஌
    • e.t.c.
    ্هϧʔϧΛద༻ͯ͠ɺCIͰࢭΊΔ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ
    IUUQTFTMJOUQMVHJOWVFJOJOUMJGZEFW

    View Slide

  35. 35
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ରԠෆཁͳՕॴ͸ignore͢Δ
    e.g
    .

    • ProductD͸։ൃதͷͨΊରԠෆཁ
    • ProductBͷBetaػೳ͸ରԠෆཁ
    είʔϓ֎ͷՕॴΛݕ஌͠ͳ͍Α͏ʹ͢Δ
    .git/


    node_modules/


    build/


    builds/


    dist/


    _dist/


    # WIP


    src/productD


    # Beta features


    src/ProductB/components/some_functions/aaa/


    .eslintignore-i18n
    Ignore fileΛఆٛͯ͠ɺoptionͰ౉͠ɺ

    ର৅֎ͷcomponentؚ͕·Ε͍ͯΔ

    σΟϨΫτϦΛlintର৅͔Β֎͢
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    View Slide

  36. 36
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    View Slide

  37. 37
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ຋༁ऀɾNative checker͸຋༁πʔϧ(Phrase)্Ͱಠཱͯ͠࡞ۀՄೳ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ
    IUUQTQISBTFDPN

    View Slide

  38. ຊ೔ͷςʔϚ
    38
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    SaaSϓϩμΫτͷi18n
    ࿩͢͜ͱ
    👉
    i18nͷ໨తͱ੍໿

    Softwareͷi18nରԠͷجຊ

    ϓϨΠυʹ͓͚Δi18nରԠ
    ຋༁ϑϩʔɾi18nରԠνΣοΫ

    ·ͱΊɾࠓޙͷऔΓ૊Έ

    View Slide

  39. 39
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ·ͱΊ
    • Ձ஋୳ࡧϑΣʔζͷελʔτΞο
    ϓͱͯ͠ͷɺi18nͷऔΓ૊Έ
    • i18nରԠͷείʔϓΛߜΔ
    • LintͰi18nରԠͷ࿙ΕΛແ͘͢
    • νΣοΫෆཁͳՕॴ͸ద੾ʹignor
    e

    • ඇಉظతͳ຋༁ϑϩʔ
    ·ͱΊɾࠓޙͷऔΓ૊Έ

    View Slide

  40. 40
    ɹɹʛɹɹ© 2021 PLAID Inc. 2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ࠓޙͷऔΓ૊Έ
    • I18nରԠͷํ਑Λ·ͱΊͯ։ൃνʔϜ
    ʹshar
    e

    • ϓϩμΫτʹৄ͍͠ਓ͔͠຋༁͕ࠔ೉
    ͳ໰୊Λղܾ
    • ຋༁πʔϧʹը໘ΩϟϓνϟΛఴ͑Δ࢓૊Έ
    • ຋༁ࣙॻ
    • ຋༁ϑϩʔͷݕূ
    • ֎෦຋༁ऀʹΑΔ຋༁
    ·ͱΊɾࠓޙͷऔΓ૊Έ

    View Slide

  41. 41
    2021.07.13ɹʛɹʲPLAID×SmartHR×Uzabase×OPEN8 ʳSaaSϓϩμΫτͷϑϩϯτΤϯυ࠷લઢɹʛɹ
    ɹɹʛɹɹ© 2021 PLAID Inc.
    ੈքʹΠϯύΫτΛ༩͑Δ

    SaaSϓϩμΫτͷ։ൃΛ͍ͨ͠ํ

    ੵۃืूதͰ͢ʂʂ


    https://entrancebook.plaid.co.jp/

    View Slide

  42. View Slide