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

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

962920d4608365b332d0c65f9b3e7ba5?s=47 kosako
February 23, 2018

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

962920d4608365b332d0c65f9b3e7ba5?s=128

kosako

February 23, 2018
Tweet

Transcript

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

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

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

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

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

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

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

    DPNNFOU ͷΑ͏ͳܗͰຒΊࠐΜͰ͍͘ w TUPSZCPBSEͰ΋ݴޠϦιʔεΛ༻ҙ͢Ε͹຋༁Λద༻͢ Δ͜ͱ͕Մೳ ͨͩ͠࢖͍উख͸Α͘ͳ͍  w Ϗϧυͯ͠຋༁͕൓ө͞Ε͍ͯΔ͔֬ೝ͢Δ ҰൠతͳݴޠϦιʔε؅ཧ
  8. ΊΜͲ͍͘͞

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

    Ͳ͕͜ΊΜͲ͍͘͞?
  10. Ͳ͏ʹ͔ͯ͠ΈΔ

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

    ํ਑
  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
  13. None
  14. w (PPHMF%SJWFʹอଘ༻ͷϑΥϧμΛ࡞ͬͯ*%ΛϝϞ͢Δ w ("4ͰอଘઌͷυϥΠϒʹTUSJOHϑΝΠϧΛॻ͖ग़͢ Google Apps ScriptͰσʔλΛॻ͖ग़͢

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

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

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

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

  20. w 3FUUZͰ͸/4-PDBMJ[FE4USJOH͸࢖༻͍ͯ͠ͳ͍ w 4USJOHʹMPDBMJ[FEͱ͍͏FYUFOTJPOΛੜ΍ͯ͠ରԠ w IPHFIPHFMPDBMJ[FE  w ΞϓϦ಺ͷબ୒ݴޠΛݟͯରԠ͢ΔݴޠϦιʔεΛදࣔ ద༻͢Δ

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

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

  23. 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Λ࢖͏
  24. w FOVN΋("4͔Βࣗಈੜ੒ w FOVNલlIPHFIPHFzMPDBMJ[FE  w FOVNޙ-PDBMJ[FIPHFIPHFMPDBMJ[FE  w FOVNʹॻ͖ग़͢͜ͱʹΑΓαδΣετ΋ޮ͘

    w ϖʔδ໊7JFX$POUSPMMFS໊͔Β୳ͤΔ w λΠϙ΍ݴޠϦιʔεͷ಺༰͕ؒҧ͍ͬͯͨΓSFOBNF͞ Εͨ৔߹͸ϏϧυΤϥʔʹͳΔ enumΛ࢖͏
  25. w 2JJUBʹΑΓৄࡉ͕͋Γ·͢ w IUUQTRJJUBDPNBLJJUFNT FFBGF ΋ͬͱ͘Θ͘͠