はじめに
AndroidとiOSでサービスを展開している場合、同じ文言を使っている。
プラットフォームごとに管理することで文言の誤字が発生しやすく、コストも上がる。
ローカライズファイルを効率よく管理する方法を考えました
前提条件
- AndroidとiOSで共通のリソースを扱う
- 差分を追いやすいこと
githubを使って管理
- オリジナルデータとなる文言とkeyはjsonにして管理
- githubを使うことで差分を追いやすくなる
- CIを使うことで自動化できる
ローカライズファイルを更新するツール
- JSONからローカライズファイルを生成するのを簡単にするためにツールを作成した
- t-osawa-009/JSONToString
使い方
1.オリジナルデータとなるJSONファイルを追加
[
{
"key": "hoge",
"key_android": "hoge",
"key_ios": "hoge",
"value_android": "hoge",
"value_ios": "hoge"
},
]
2.ローカライズファイルの生成を設定する.JSONToString.yml
ファイルを追加
outputs:
- key: key
value_key: value_ios
output: Strings/Localizable.strings
format: strings
sort: asc
- key: key
value_key: value_android
output: Strings/strings.xml
format: xml
3.コマンドを実行
$ JSONToString --json_path Strings.json
4.生成したファイルを各プロジェクトに追加する
"hoge" = "hoge";
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hoge">hoge</string>
</resources>
まとめ
- githubで管理することで1元管理が可能になった
- 運用を考えて、ツールを自作するのは有効である