海外の店舗を韓国語で読んでも、その場所のタイムゾーンまで韓国に変わるべきではない。韓国で先に公開したMusecatは2025年後半に海外展開を始め、住所、国、タイムゾーンの韓国中心の処理を見直す必要があった。外国語の住所を入力可能にするだけでは、現地の日付や料金を正しく扱えないためだ。
公開条件も確認が必要だった。韓国の情報を集めながら定めた条件を全地域へ適用すると、現地の収集事情に関係なく同じ資料を求めてしまう。共通して必要な情報を定め、地域ごとの条件を別に表す方法を選んだ。
タイムゾーンは、その場所の日付と時刻を解釈する基準である。海外専用モデルを作らず、既存店舗に国とタイムゾーンを明記し、作成や位置修正時に座標から地理情報を取得して保存する。住所は訪問案内、座標は距離計算と場所の判定に使う。画面言語はこれらと別に選ぶ。
例えば非公開の下書きで位置を誤った場合、座標とともに国とタイムゾーンを直せる。一方、公開済みの店舗では国が変わる位置修正を拒否する。既存文書が別の国の店舗へ変わることを防ぐためだ。位置と国が合わない文書は公開にも進めない。
Deltaで使われた2026-04-01の旧Gamma-Webソースをサンプルデータで再現した日本語画面。曜日別の営業時間を展開している。一部の原ラベルは韓国語のままである。
公開時にはゲーム登録と、SNSまたは営業時間という共通資料を求める。施設写真は韓国の店舗に必要な条件として分けた。海外専用サービスや複製APIを作らず地域差を反映でき、取得APIの国フィルターで国別一覧と検索も同じバックエンドから提供する。
新規保存にタイムゾーンを加えても、既存資料の空欄は残る。こうした値を埋める別作業をbackfillという。未設定レコードは基本情報の座標を読み、タイムゾーンを取得して保存する。新規リクエストと分けることで、欠けた店舗の確認や再処理がしやすくなる。
韓国語、英語、日本語のどの画面でも、同じ店舗の国とタイムゾーンは現地の値を保つ。国別検索と海外登録も一つのモデルで扱える。新地域を支える際には、各画面の韓国前提を探し直さず、明示した店舗情報と地域条件を利用できるようになった。
代わりに、地理情報の取得へ依存する。座標の誤りや取得失敗は保存と公開の過程で処理しなければならない。もっともらしい住所から推測すると誤った現地情報を残しかねないため、位置を確認してから反映する方式を選んだ。
参考:エンジニアリング記録。