0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ローカライズファイルをAndroidとiOSで共通管理する

Last updated at Posted at 2020-05-28

はじめに

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元管理が可能になった
  • 運用を考えて、ツールを自作するのは有効である

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?