fastlane deliver使用時に、App Storeでの説明のローカライズを追加する

# TL;DR
* 方法は2通り
    1. 対応する言語コードのディレクトリを **自分で** `fastlane/metadata`と`fastlane/screenshots`に作って `fastlane deliver` する。
    2. iTunes Connect (以下ITC) 上で対応言語を追加選択した後で、`fastlane deliver download_metadata` と `fastlane deliver download_screenshots` を行って、作成されたディレクトリ内のファイルを編集し、 `fastlane deliver` する。
* どちらの場合も、**新規バージョンとしてリリースが必要**

# 前提
* [fastlane](https://fastlane.tools)を使っている、使い方がわかる。
* [`fastlane deliver`](https://github.com/fastlane/fastlane/tree/master/deliver#readme) でITC上のメタデータとスクリーンショットを管理している。

# やり方 1
**対応する言語コードのディレクトリを自分で `fastlane/metadata`と`fastlane/screenshots`に作って `fastlane deliver` する。**

`fastlane/metadata` と `fastlane/screenshots` に追加したい言語コードのディレクトリを追加します。中身の対応するファイルまで作成するのはめんどうだと思うので、既に対応済みの言語コードのディレクトリをコピーするといいと思います。

**既に日本語対応済みで、英語 (アメリカ) を追加する時**

```bash
$ cp -r jp ./en-US
```

できた言語のディレクトリ内のdescription.txt等を適宜書き換えて、最後に

```bash
$ fastlane deliver
```
して完了。

###### deliverの対応している言語コードは[Readme](https://github.com/fastlane/fastlane/tree/master/deliver#available-language-codes)に記載があります。

```
 no, en-US, en-CA, fi, ru, zh-Hans, nl-NL, zh-Hant, en-AU, id, de-DE, sv, ko, ms, pt-BR, el, es-ES, it, fr-CA, es-MX, pt-PT, vi, th, ja, fr-FR, da, tr, en-GB 
```

| 言語コード | 　　ITC上での対応言語　　 |
|:---------:|:-----------------------:|
|    no     |        ノルウェー語      |
|   en-US   |       英語 (アメリカ)    |
|   en-CA   |        英語 (カナダ)     |
|    fi     |       フィンランド語     |
|    ru     |          ロシア語       |
|  zh-Hans  |       中国語 (簡体字)    |
|   nl-NL   |         オランダ語       |
|  zh-Hant  |       中国語 (繁体字)     |
|   en-AU   |   英語 (オーストラリア)   |
|    id     |       インドネシア語      |
|   de-DE   |          ドイツ語        |
|    sv     |        スウェーデン語     |
|    ko     |          韓国語          |
|    ms     |         マレー語         |
|   pt-BR   |   ポルトガル語 (ブラジル) |
|    el     |        ギリシャ語        |
|   es-ES   |    スペイン語 (スペイン)  |
|    it     |        イタリア語        |
|   fr-CA   |    フランス語 (カナダ)   |
|   es-MX   |  スペイン語 (メキシコ)   |
|   pt-PT   | ポルトガル語 (ポルトガル) |
|    vi     |         ベトナム語       |
|    th     |           タイ語        |
|    ja     |           日本語        |
|   fr-FR   |         フランス語      |
|    da     |        デンマーク語      |
|    tr     |          トルコ語       |
|   en-GB   |       英語 (イギリス)    |

# やり方 2
**ITC上で対応言語を追加選択した後で、`fastlane deliver download_metadata` と `fastlane download_screenshots` を行って、作成されたディレクトリ内のファイルを編集し、 `fastlane deliver` する。**

## ITC上
新規バージョンとしてリリース準備をした上で、追加したい言語を選択します。
![スクリーンショット 2017-01-26 16.59.55.png](https://qiita-image-store.s3.amazonaws.com/0/78710/a9692805-aba3-6075-ef16-127724b3f23e.png)
追加されたら一旦保存を押します。

## fastlane環境
`fastlane deliver download_metadata` と `fastlane download_screenshots` を行います。

```
$ fastlane deliver download_metadata

[xx:xx:xx]: Successfully loaded '/xxx/xxxx/xxxxx/MyApp/fastlane/Deliverfile' 📄

+---------------------+-------------------------+
| Detected Values from './fastlane/Deliverfile' |
+---------------------+-------------------------+
| app_identifier      | com.xxxxxxxxxxxxx.MyApp |
| username            | xxxx.xxxxxx@gmail.com   |
| submit_for_review   | false                   |
| force               | true                    |
| skip_screenshots    | false                   |
| skip_metadata       | false                   |
| skip_binary_upload  | true                    |
+---------------------+-------------------------+

[xx:xx:xx]: Login to iTunes Connect (xxxx.xxxxxx@gmail.com)
[xx:xx:xx]: Login successful

+-----------------------+-------------------------+
|             deliver 1.0.0 Summary               |
+-----------------------+-------------------------+
| app_identifier        | com.xxxxxxxxxxxxx.MyApp |
| username              | xxxx.xxxxxx@gmail.com   |
| submit_for_review     | false                   |
| force                 | true                    |
| skip_screenshots      | false                   |
| skip_metadata         | false                   |
| skip_binary_upload    | true                    |
| screenshots_path      | ./fastlane/screenshots  |
| metadata_path         | ./fastlane/metadata     |
| app_version           | 1.0.0                   |
| edit_live             | false                   |
| ipa                   | MyApp.ipa               |
| platform              | ios                     |
| automatic_release     | false                   |
| dev_portal_team_id    | xxxxxxxxxx              |
| overwrite_screenshots | false                   |
+-----------------------+-------------------------+

Do you want to overwrite existing metadata on path '/xxx/xxxx/xxxxx/MyApp/fastlane/metadata'?
(y/n)
```
ローカルの `metadata` をITC上のデータで上書きしていいかを聞かれるので、 `y` を押して許可します。 **(上書きしてはいけない場合は `n`)**
`fastlane download_screenshots` も同様に行います。

この時点でITC上で追加した言語のディレクトリがそれぞれ `fastlane/metadata` と `fastlane/screenshots` に追加されると思います。

できた言語のディレクトリ内のdescription.txt等を適宜書き換えて、最後に

```bash
$ fastlane deliver
```
して完了。

# まとめ
どっちでもできそうな気がするけど、検索しても情報が出てこなかったため、検証してみました。
![スクリーンショット 2017-01-30 18.31.59.png](https://qiita-image-store.s3.amazonaws.com/0/78710/77cc1bcf-2668-9266-148e-cfafeba5419e.png)

やり方 1の方はITCを開かずに済むので楽ですが、対応する言語コードを調べるのがめんどうではありますね。

ちなみに

```bash
$ fastlane deliver download_metadatas
```
と複数形にすると、typoで通常の `fastlane deliver` が行われるのでご注意を。


###### 参考
* [アプリのAppStoreでの名前や説明を7ヶ国語にローカライズしたらDL数が増えました](http://umenon.com/2016/03/04/resultsfortranslation/)
* [【iOSアプリ】AppStoreでの表示を多言語化・プライマリ言語の変更](http://www.islog.jp/entry/appstore-localize/)