この記事はEDOCODE Advent Calendar 2024、12月18日(水)の記事です。
1つ前の記事は、GojiberryマーケティングマネージャーのAmeeさんによるSwitching from B2C to B2B: A Marketer’s Confessionでした。
また、グループ親会社であるWanoのAdvent Calendarもありますので、そちらもどうぞ!
はじめに
こんにちは。EDOCODE フルスタックエンジニアの Yuping です。今年の初めからGojiberryチームにJOINしました。
この記事では、Gojiberryチームが下半期から取り組んできたローカライゼーション(多言語対応)について、翻訳ワークフローにおける工夫や改善についてお話しします。
背景
「Gojiberry」は、Shopify上で動作するアンケートアプリで、ECマーチャントが顧客から貴重なフィードバックを収集することを支援しています。これまでは英語と日本語の2言語対応に限られていました。
しかし、約半年前に次のような気づきがありました:
「Shopifyの市場では日本のシェアはそれほど大きくないが、ローカライズ対応を行うことでダウンロード数を伸ばせている。」
ビジネスチャンスを見出し、新たに4言語(フランス語、ドイツ語、ポルトガル語(ブラジル)、スペイン語)への対応を開始しました。
翻訳ツールの導入
これまでは英語と日本語のみの対応だったため、すべて翻訳データをコードベースで管理していました。しかし、管理の煩雑さを解消するために翻訳ツールを導入しました。
翻訳ツールの選用
当初、Locizeやpoeditorなど複数の翻訳ツールを比較しましたが、最終的に以下の理由からWeblateを導入することに決めました。
- オープンソースで情報が豊富
- ドキュメントに記載されているワークフローが、私たちのユースケースにフィット
- 次のプランへの価格上昇が低い
- 多くのオープンソースプロジェクトで採用されており、クラウド翻訳にも対応
- 自動翻訳プロバイダーの選択肢が豊富(OpenAIの対応あり)
Weblateの導入
-
サブモジュールの運用
- 翻訳データを別リポジトリで管理し、メインリポジトリにGitサブモジュールとして追加しました。これにより、翻訳データのバージョン管理が容易になり、開発と翻訳の作業が独立して進められるようになりました。
-
グロッサリー(用語集)の設定
- Weblateにはグロッサリー機能があり、重要な用語やフレーズを事前に登録しておくことで、翻訳時に一貫性を保つことができます。そして、特定の用語に対する翻訳候補が表示され、翻訳者が迷うことなく正確な訳を選択できます。
-
自動化の設定
- Weblateでは自動コミット機能やCI/CDとの統合がサポートされており、翻訳内容が更新されるたびに自動的にリポジトリへ反映できます。これにより、翻訳ファイルを手動で管理する必要がなくなり、常に最新の翻訳が反映された状態を保つことができます。さらに、機械翻訳の統合(OpenAIやGoogle Translateなど)も提供されているため、初回翻訳を効率化し、翻訳作業の負担を軽減することが可能です。
翻訳ツール導入による改善点
導入前の英語と日本語のみのワークフローは次のようなものでした:
- デザイナーが英語版と日本語版のデザインを用意
- エンジニアがデザインに基づいて実装(英語と日本語のテストコードを含む)
- エンジニアがテスト環境へ反映
- デザイナーがテスト環境で内容を確認
このワークフローにはいくつかの欠点がありました:
- 英語と日本語のデザインを二重管理する必要がある
- 開発着手前に日本語の翻訳が完了している必要がある
- 翻訳の修正が発生した場合、エンジニアへの依頼が必要
翻訳ツール導入後の新しいフローでは、以下の改善がありました:
- デザイナーは英語版のみを用意すれば良くなり、開発の着手がスムーズに
- 翻訳はWeblateで自動的に機械翻訳され、その後必要に応じてチェックを行う
- エンジニアが直接テストコードを書く必要がなくなり、誰でも翻訳を直接編集できる
これにより、開発チームと翻訳者の作業効率が大幅に向上しました。
新しい翻訳ワークフローの確立
Weblate導入後、翻訳管理は簡単になりましたが、さらなる効率化のためにワークフローを工夫しました。
工夫したポイント
-
事前のグロッサリー設定
- 新しい機能が確定次第、PMやデザイナーが重要な用語をWeblateに登録するステップを追加。これにより翻訳の一貫性を確保。
-
外部翻訳者のタスク管理
- 開発完了後に翻訳タスクを作成し、追加された翻訳キーとデザインを翻訳者に指示。この仕組みにより、翻訳者は効率的に翻訳対象を特定でき、デザイナーを介する手間も省くことができました。
- Notionの自動化を設定し、タスクのステータス変更時にSlack通知を送信することで進捗を簡単に把握可能に。
-
翻訳のテスト環境への反映パイプライン
- 翻訳が完了したら、デザイナー自身がCIパイプラインを実行し、エンジニアへ反映の依頼を要らず、テスト環境に即時反映できるようにしました。
終わりに
今回のローカライゼーションの結果、ドイツのユーザーが大幅に増加し、売上にも約20%の貢献がありました。
内部的にも、日本語対応のテストや翻訳の保守が不要になり、チーム全体の負担が軽減されました。当初は学習コストがありましたが、確立されたワークフローにより、現在ではスムーズに運用できるようになりました。
現在、Gojiberryは6言語-英語、日本語、フランス語、ドイツ語、ポルトガル語(ブラジル)、スペイン語に対応しています。ローカライゼーションは単なる「翻訳」だけでなく、現地の価格設定や文化的要素も考慮する必要があります。これからもさらに多くの国をターゲットにし、成長していければと思っています。
もしShopifyマーチャントの方で、顧客から有益なフィードバックを収集したい方は、ぜひGojiberryをお試しください!
明日、12月19日(木)は、エンジニアのYutakaさんによる「digを使って名前解決をしてみる」との記事です。
私たちWanoグループでは人材募集をしています。興味のある方は、下記のリンクからぜひ募集中の求人をご確認ください!