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

アプリの翻訳管理を楽にする

kosako
February 23, 2018

 アプリの翻訳管理を楽にする

kosako

February 23, 2018
Tweet

More Decks by kosako

Other Decks in Technology

Transcript

  1. ΞϓϦͷ຋༁؅ཧΛָʹ͢Δ
    QPUBUPUJQT
    "LJIJSP,PTBLP

    View full-size slide

  2. ࠃ಺/P໊࣮άϧϝαʔϏε3FUUZͷӡӦ
    ݄ؒສ66
    ೔ຊɾ߳ߓɾλΠͰαʔϏεఏڙ

    View full-size slide

  3. ɾ"LJIJSP,PTBLP
    ɾΤϯδχΞϦϯάϚωʔδϟʔ
    ɾ΍ͬͯΔ͜ͱ
    J04
    1)1
    "84
    About Me

    View full-size slide

  4. w ೥݄ϑϧϦχϡʔΞϧ
    w 0CKFDUJWF$4XJGU
    w 8FC7JFXϕʔε/BUJWF3FBDU/BUJWF Ұ෦

    w 3FEVY
    w 42-JUF3FBMN
    w 'JSFCBTF ෼ੳ

    RettyͷiOSΞϓϦʹ͍ͭͯ

    View full-size slide

  5. w ೔ຊɾ߳ߓɾλΠͰαʔϏεఏڙ
    w ೔ຊޠɾӳޠɾ޿౦ޠɾλΠޠ͕࢖͑·͢
    w ୺຤಺ͷݴޠઃఆͰ͸ͳ͘ɺΞϓϦ಺Ͱݴޠࢦఆ͢Δ
    RettyͷiOSΞϓϦʹ͍ͭͯ

    View full-size slide

  6. ҰൠతͳݴޠϦιʔε؅ཧ

    View full-size slide

  7. w ຋༁ͷϚελʔΛεϓϨουγʔτ΍ΤΫηϧͰ༻ҙ͢Δ
    w ͦΕͧΕͷݴޠ͝ͱʹ-PDBMJ[BCMFTUSJOHTΛ༻ҙ͢Δ த
    ਎͸,FZ7BMVFͳײ͡ͷςΩετσʔλ

    w ίʔυதʹ/4-PDBMJ[FE4USJOH LFZ DPNNFOU

    ͷΑ͏ͳܗͰຒΊࠐΜͰ͍͘
    w TUPSZCPBSEͰ΋ݴޠϦιʔεΛ༻ҙ͢Ε͹຋༁Λద༻͢
    Δ͜ͱ͕Մೳ ͨͩ͠࢖͍উख͸Α͘ͳ͍

    w Ϗϧυͯ͠຋༁͕൓ө͞Ε͍ͯΔ͔֬ೝ͢Δ
    ҰൠతͳݴޠϦιʔε؅ཧ

    View full-size slide

  8. ΊΜͲ͍͘͞

    View full-size slide

  9. w ຋༁Օॴͷίʔυ͕৑௕
    w ໊લܾΊΔͷ͕ΊΜͲ͍͘͞
    w ൓ө͢Δͷʹ͍͍ͪͪ࡞ۀ͕ൃੜ͢Δ
    w λΠϙͱ͔ϛεى͖΍͍͢
    w ϚελʔͱTUSJOHϑΝΠϧ͕ผ
    Ͳ͕͜ΊΜͲ͍͘͞?

    View full-size slide

  10. Ͳ͏ʹ͔ͯ͠ΈΔ

    View full-size slide

  11. w (PPHMF4QSFBETIFFUΛ࢖͏
    w (PPHMF"QQT4DSJQUͰTQSFBETIFFU͔ΒΞϓϦ༻ͷ
    ϦιʔεϑΝΠϧΛੜ੒͢Δ
    w (PPHMFͷόοΫΞοϓͱಉظΛ࢖ͬͯϩʔΧϧʹࣗಈ%-
    w ϑΥϧμ؂ࢹΛߦ͍ɺมߋ͕͋ͬͨ৔߹ʹϓϩδΣΫτϑΝ
    Πϧʹࣗಈಉظͤ͞Δ
    ํ਑

    View full-size slide

  12. w NBTUFS
    keyΛ࡞ΔͨΊͷmaster

    large,middle,smallͷ3֊૚ʹͯ͠ɺlargeͱmiddle͸masterʹొ࿥͞Εͨ΋ͷΛඞͣ࢖༻͢Δ

    small͸Α͘࢖͏΋ͷ͚ͩmasterʹొ࿥ͯ͠ɺجຊతʹ͸ͦͷ৔ͰϢχʔΫͳ΋ͷΛ࠾༻
    w 3FBE.F
    ࢖ͬͯ΋Β͏্Ͱɺޙ͔Βೖ͖ͬͯͨਓͷͨΊͩͬͨΓΤϯδχΞҎ֎΋࢖͏͜ͱΛߟྀͯ͠Read MeΛ༻ҙ
    ࢓্༷ͷ஫ҙ΍ϦιʔεϑΝΠϧΛੜ੒͢ΔͨΊͷϘλϯͳͲΛ͓͍͍ͯ·͢
    ࠷ॳ͸ϚελʔϑΝΠϧ͕มߋ͞ΕΔͨͼʹॻ͖ग़͠Λߦ͍ͬͯͨͷͰ͕͢ɺ࡞ۀதͷ΋ͷ͕ॻ͖ग़͞Εͯ͠·͏
    ໰୊΋͋Γɺ໌ࣔతʹॻ͖ग़͠Λ࣮ߦ͢ΔΑ͏ʹ͠·ͨ͠
    w MPDBMJ[F
    ࣮ࡍͷ຋༁σʔλ
    IDͷॏෳνΣοΫ΍຋༁͞Εͨจݴ͕શͯಉ͡৔߹alert͕͕͋ΔΑ͏ʹ͍ͯ͠·͢
    Google Spreadsheet

    View full-size slide

  13. w (PPHMF%SJWFʹอଘ༻ͷϑΥϧμΛ࡞ͬͯ*%ΛϝϞ͢Δ
    w ("4ͰอଘઌͷυϥΠϒʹTUSJOHϑΝΠϧΛॻ͖ग़͢
    Google Apps ScriptͰσʔλΛॻ͖ग़͢

    View full-size slide

  14. w εΫϦϓτΛ࣮ߦ
    w ࢦఆͨ͠ϑΥϧμʹ֤ݴޠ༻ͷTUSJOHTϑΝΠϧͱFOVN
    ͕ఆٛ͞ΕͨTXJGUϑΝΠϧ͕ੜ੒
    Google Apps ScriptͰσʔλΛॻ͖ग़͢

    View full-size slide

  15. w ϑΝΠϧΛΫϥΠΞϯτ1$ʹಉظͤ͞Δ
    w ࣗಈతʹϓϩδΣΫτϑΝΠϧʹ൓ө͞ΕΔΑ͏ʹ͢Δ
    ੜ੒ͨ͠ϑΝΠϧΛϓϩδΣΫτʹ൓ө

    View full-size slide

  16. w (PPHMF%SJWF͸·ͱΊͯμ΢ϯϩʔυ͠Α͏ͱ͢Δͱ
    Έ͍ͨʹUYU֦ுࢠ͕͍ͭͯ͠·͏
    w (PPHMF%SJWFͷόοΫΞοϓͱಉظΛΠϯετʔϧ
    IUUQTXXXHPPHMFDPNJOUMKB@"--ESJWFEPXOMPBE
    w (PPHMF%SJWF͔Βઌ΄ͲݴޠϑΝΠϧ͕ೖͬͨϑΥϧμ
    Λಉظ͢Δ
    ϑΝΠϧΛΫϥΠΞϯτPCʹಉظ

    View full-size slide

  17. w GTXBUDIΛ࢖༻
    w GTXBUDIScYBSHT
    O*\^DQ\^<൓өઌϑΥϧμͷQBUI>
    w ݴޠϦιʔε͕มߋ͞ΕΔͱࣗಈతʹϓϩδΣΫτʹ൓ө
    ͞ΕΔΑ͏ʹͳΔ
    ࣗಈతʹϓϩδΣΫτϑΝΠϧʹ൓ө

    View full-size slide

  18. w 3FUUZͰ͸/4-PDBMJ[FE4USJOH͸࢖༻͍ͯ͠ͳ͍
    w 4USJOHʹMPDBMJ[FEͱ͍͏FYUFOTJPOΛੜ΍ͯ͠ରԠ
    w IPHFIPHFMPDBMJ[FE

    w ΞϓϦ಺ͷબ୒ݴޠΛݟͯରԠ͢ΔݴޠϦιʔεΛදࣔ
    ద༻͢Δ

    View full-size slide

  19. w lIPHFIPHFͷ෦෼͸ίϐϖͰೖΕΔඞཁ͋Γ
    w λΠϙͨ࣌͠ͳͲରԠ͢ΔݴޠϦιʔε͕ͳ͍৔߹LFZ໊
    ͕ͦͷ··ग़ͯ͠·͏
    w ؾܰʹLFZ໊Λม͑Δ͜ͱ΋΍Γʹ͍͘
    ՝୊

    View full-size slide

  20. ΋͏ͪΐͬͱָʹ͍ͨ͠

    View full-size slide

  21. enum Localize: String {
    case generalLabelCancel = "general.label.cancel"
    case generalLabelDelete = "general.label.delete"
    case generalLabelBrowsingHistory = "general.label.browsing_history"
    func localized() -> String {
    return self.rawValue.localized()
    }
    }
    enumΛ࢖͏

    View full-size slide

  22. w FOVN΋("4͔Βࣗಈੜ੒
    w FOVNલlIPHFIPHFzMPDBMJ[FE

    w FOVNޙ-PDBMJ[FIPHFIPHFMPDBMJ[FE

    w FOVNʹॻ͖ग़͢͜ͱʹΑΓαδΣετ΋ޮ͘
    w ϖʔδ໊7JFX$POUSPMMFS໊͔Β୳ͤΔ
    w λΠϙ΍ݴޠϦιʔεͷ಺༰͕ؒҧ͍ͬͯͨΓSFOBNF͞
    Εͨ৔߹͸ϏϧυΤϥʔʹͳΔ
    enumΛ࢖͏

    View full-size slide

  23. w 2JJUBʹΑΓৄࡉ͕͋Γ·͢
    w IUUQTRJJUBDPNBLJJUFNT
    FFBGF
    ΋ͬͱ͘Θ͘͠

    View full-size slide