Gojiberryローカライゼーションの話

この記事は[EDOCODE Advent Calendar 2024](https://adventar.org/calendars/10618)、12月18日(水)の記事です。

1つ前の記事は、GojiberryマーケティングマネージャーのAmeeさんによる[Switching from B2C to B2B: A Marketer’s Confession](https://medium.com/@bellamy.xu/switching-from-b2c-to-b2b-a-marketers-confession-9c5cb7061d8c)でした。

また、グループ親会社である[WanoのAdvent Calendar](https://qiita.com/advent-calendar/2024/wano-group)もありますので、そちらもどうぞ！

## はじめに


こんにちは。EDOCODE フルスタックエンジニアの Yuping です。今年の初めからGojiberryチームにJOINしました。

この記事では、Gojiberryチームが下半期から取り組んできた**ローカライゼーション**（多言語対応）について、**翻訳ワークフロー**における工夫や改善についてお話しします。

## 背景


「[**Gojiberry**](https://www.gojiberry.jp/)」は、Shopify上で動作するアンケートアプリで、ECマーチャントが顧客から貴重なフィードバックを収集することを支援しています。これまでは英語と日本語の2言語対応に限られていました。

しかし、約半年前に次のような気づきがありました：

> 「Shopifyの市場では日本のシェアはそれほど大きくないが、ローカライズ対応を行うことでダウンロード数を伸ばせている。」
> 

ビジネスチャンスを見出し、新たに4言語（フランス語、ドイツ語、ポルトガル語（ブラジル）、スペイン語）への対応を開始しました。

## 翻訳ツールの導入

これまでは英語と日本語のみの対応だったため、すべて翻訳データをコードベースで管理していました。しかし、管理の煩雑さを解消するために翻訳ツールを導入しました。

### 翻訳ツールの選用

当初、Locizeやpoeditorなど複数の翻訳ツールを比較しましたが、最終的に以下の理由からWeblateを導入することに決めました。

- オープンソースで情報が豊富
- ドキュメントに記載されているワークフローが、私たちのユースケースにフィット
- 次のプランへの価格上昇が低い
- 多くのオープンソースプロジェクトで採用されており、クラウド翻訳にも対応
- [自動翻訳プロバイダー](https://docs.weblate.org/en/latest/admin/machine.html#openai)の選択肢が豊富（OpenAIの対応あり）

### Weblateの導入

- **サブモジュールの運用**
    - 翻訳データを別リポジトリで管理し、メインリポジトリにGitサブモジュールとして追加しました。これにより、翻訳データのバージョン管理が容易になり、開発と翻訳の作業が独立して進められるようになりました。
- **グロッサリー（用語集）の設定**
    - Weblateにはグロッサリー機能があり、重要な用語やフレーズを事前に登録しておくことで、翻訳時に一貫性を保つことができます。そして、特定の用語に対する翻訳候補が表示され、翻訳者が迷うことなく正確な訳を選択できます。
- **自動化の設定**
    - Weblateでは自動コミット機能やCI/CDとの統合がサポートされており、翻訳内容が更新されるたびに自動的にリポジトリへ反映できます。これにより、翻訳ファイルを手動で管理する必要がなくなり、常に最新の翻訳が反映された状態を保つことができます。さらに、機械翻訳の統合（OpenAIやGoogle Translateなど）も提供されているため、初回翻訳を効率化し、翻訳作業の負担を軽減することが可能です。

### 翻訳ツール導入による改善点

導入前の英語と日本語のみのワークフローは次のようなものでした：

1. デザイナーが英語版と日本語版のデザインを用意
2. エンジニアがデザインに基づいて実装（英語と日本語のテストコードを含む）
3. エンジニアがテスト環境へ反映
4. デザイナーがテスト環境で内容を確認

このワークフローにはいくつかの欠点がありました：

- 英語と日本語のデザインを二重管理する必要がある
- 開発着手前に日本語の翻訳が完了している必要がある
- 翻訳の修正が発生した場合、エンジニアへの依頼が必要

翻訳ツール導入後の新しいフローでは、以下の改善がありました：

- デザイナーは英語版のみを用意すれば良くなり、開発の着手がスムーズに
- 翻訳はWeblateで自動的に機械翻訳され、その後必要に応じてチェックを行う
- エンジニアが直接テストコードを書く必要がなくなり、誰でも翻訳を直接編集できる

これにより、開発チームと翻訳者の作業効率が大幅に向上しました。

## 新しい翻訳ワークフローの確立

Weblate導入後、翻訳管理は簡単になりましたが、さらなる効率化のためにワークフローを工夫しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1743825/88703670-2947-e883-7df8-a627e30b4b8f.png)
### 工夫したポイント

1. **事前のグロッサリー設定**
    - 新しい機能が確定次第、PMやデザイナーが重要な用語をWeblateに登録するステップを追加。これにより翻訳の一貫性を確保。
2. **外部翻訳者のタスク管理**
    - 開発完了後に翻訳タスクを作成し、追加された翻訳キーとデザインを翻訳者に指示。この仕組みにより、翻訳者は効率的に翻訳対象を特定でき、デザイナーを介する手間も省くことができました。
    - Notionの自動化を設定し、タスクのステータス変更時にSlack通知を送信することで進捗を簡単に把握可能に。
3. **翻訳のテスト環境への反映パイプライン**
    - 翻訳が完了したら、デザイナー自身がCIパイプラインを実行し、エンジニアへ反映の依頼を要らず、テスト環境に即時反映できるようにしました。

## 終わりに

今回のローカライゼーションの結果、ドイツのユーザーが大幅に増加し、売上にも約20%の貢献がありました。

内部的にも、日本語対応のテストや翻訳の保守が不要になり、チーム全体の負担が軽減されました。当初は学習コストがありましたが、確立されたワークフローにより、現在ではスムーズに運用できるようになりました。

現在、**Gojiberryは6言語－英語、日本語、フランス語、ドイツ語、ポルトガル語（ブラジル）、スペイン語**に対応しています。ローカライゼーションは単なる「翻訳」だけでなく、現地の価格設定や文化的要素も考慮する必要があります。これからもさらに多くの国をターゲットにし、成長していければと思っています。

もしShopifyマーチャントの方で、顧客から有益なフィードバックを収集したい方は、ぜひ[Gojiberryをお試しください！](https://apps.shopify.com/gojiberry?utm_source=gojiberry&utm_medium=adventarticle2024)

---

明日、12月19日(木)は、エンジニアのYutakaさんによる[「digを使って名前解決をしてみる」](https://qiita.com/Uyutaka/items/bbc0bf3eb709c6d236a3)との記事です。

私たちWanoグループでは人材募集をしています。興味のある方は、下記のリンクからぜひ募集中の求人をご確認ください！

[JOBS | Wano Group](https://group.wano.co.jp/jobs/)