SIGQ Cloud Linkerを多言語対応しました!

こんにちは。SIGQ Cloud Linkerというセキュアな書類共有サービスを開発しているアーリースタートアップSIGQを運営しているBrownです。

はじめに

SIGQ Cloud Linkerは、国内のみで展開するサービスではなく、主に東南アジア全体をターゲットとしたリージョナルSaaSとして提供することを目指しています。そのため、サービス開始当初から多言語対応(i18n)を意識して開発を進めてきました。

今回、管理画面とプロダクトページの両方でi18n対応を行ったので、その概要と実践方法について共有します。

対応言語

英語

英語: https://linker.sigq.io/en

ベトナム語

ベトナム語https://linker.sigq.io/vn

インドネシア語

インドネシア語https://linker.sigq.io/id

中国語

中国語:https://linker.sigq.io/id

技術スタック

  • 管理画面:React、react-i18next
  • プロダクトページ:Next.js、React、Next.js標準のi18n API

管理画面のi18n対応

管理画面はSEOを意識しないため、単純にreact-i18nextを使って各言語に対応しました。react-i18nextはReactの国際化をシンプルに実現できるため、設定も容易で、メンテナンス性も高いです。

プロダクトページのi18n対応

一方で、プロダクトページはSEOが重要です。そこで、Next.jsの標準i18n APIを使い、各言語ごとにパスを分け(例:/ja、/en)、SSR(サーバーサイドレンダリング)でページを生成するようにしました。また、SEO向けにタグも適切に設定し、各言語ページ間を検索エンジンが認識できるようにしています。

工夫したポイント

昔のi18n対応では、翻訳を一つずつツールで調べながら作業する必要がありました。しかし、現在ではChatGPTとCursorを活用し、日本語で作成したi18n用のKey, Valueから各言語への翻訳を即座に生成できます。これにより、翻訳作業の効率が飛躍的に向上しました。

難しかった点

技術的に難しい部分は特にありませんでしたが、元々PoCとして作ったフロントエンドコードがNext.jsを使わずCSR(クライアントサイドレンダリング)で実装されていたため、SEOが弱い状態でした。そのため、LP(ランディングページ)をNext.jsベースのSSRに移植する作業がやや面倒でした。

課題

言語対応自体は各国に合わせて実装が進んでいますが、現地でユーザーを増やす活動を進めるためには、各国の個人情報保護法に対応する必要があります。現状ではプライバシーポリシーなどで、日本国の法律のみに準拠していることを明記しているため、今後の展開を考慮すると改善が求められます。

特に、大企業のように売上がしっかりある場合は各国の法規制に対応しなければなりませんが、SIGQ Cloud Linkerのようなリリース初期のプロダクトで、どの段階でどの法律に準拠する必要があるのか、判断が難しい部分もあります。世界中の100ヵ国以上の法律に対応するのは現実的ではないため、どのステージで、どの国の法規制にどの程度対応すべきかを模索しています。

ヨーロッパ発のサービスは、自国内市場が狭いため、複数国展開を前提としているケースが多く見られます。そうしたプロダクトの戦略を参考にしつつ、SIGQ Cloud Linkerとしての最適解を見つけたいと考えています。

まとめ

生成AI(特にCursorなど)を使用することで、i18n対応の工数が大幅に削減でき、メンテナンスも容易になりました。今後も、東南アジアを中心に多言語対応を強化しながら、サービスをより多くのユーザーに届けていきます。

もし同様の取り組みを検討している方がいれば、ChatGPTやCursorの活用をぜひおすすめします。