Sausage Erectos X 7言語対応の裏側——翻訳で起きた文化的な笑い話

7言語対応の裏側——翻訳で失われるもの、得られるもの

Sausage Erectos は日本語、英語、フランス語、韓国語、中国語(簡体字)、ドイツ語、ポルトガル語(ブラジル)の7言語に対応している。この多言語対応の設計判断と、翻訳の過程で起きた予想外の問題を共有する。

i18nの設計——JSONベースのキーバリュー

国際化(i18n)の基盤は、シンプルなJSONベースのキーバリューシステムだ。

// locales/ja.json
{
  "hero.title": "ソーセージの上に、立つ。",
  "hero.subtitle": "BBQを芸術に変えるステンレスフィギュア",
  "customize.head": "頭部サイズ",
  "customize.body": "胴体の高さ",
  "product.size.s": "Sサイズ",
  "product.size.m": "Mサイズ",
  "product.size.l": "Lサイズ"
}

// locales/en.json
{
  "hero.title": "Stand on the Sausage.",
  "hero.subtitle": "Stainless steel figures that turn BBQ into art",
  "customize.head": "Head Size",
  "customize.body": "Body Height"
}

フレームワークには専用のi18nライブラリを使用し、言語の切り替えはURLのプレフィックス(/ja/, /en/, /fr/)で管理している。

日本語→英語で失われるニュアンス

最大の翻訳課題は、日本語のニュアンスが英語に変換しきれないことだった。

翻訳の難しさの例:

日本語: 「ソーセージの上に、立つ。」
  → 読点による「間」が意味を持つ
  → 「立つ」の主語の曖昧さ(フィギュアが?あなたが?)

英語: "Stand on the Sausage."
  → 命令形にすることで「あなたが立て」というニュアンスに
  → 日本語の曖昧な主語を失う代わりに、力強さを得る

日本語: 「いい感じに焼けてますね」
  → 「いい感じ」の翻訳不可能性
  → "Looks perfectly grilled" は正確だが「いい感じ」の緩さがない

フランス語の性別問題

フランス語は名詞に性別があり、形容詞も性別に応じて語尾が変化する。Sausage Erectos のラテン語風ブランド名にある MASCULUM(男性)/ FEMINA(女性)の概念が、フランス語では文法上の問題になった。

フランス語の性別:
  saucisse (f.) — ソーセージ(女性名詞)
  acier (m.)    — 鋼(男性名詞)
  figurine (f.) — フィギュア(女性名詞)

問題:
  「ステンレスのフィギュアがソーセージの上に立っている」
  → 主語 figurine は女性 → 形容詞も女性形に
  → しかしフィギュアのポーズは MASCULUM(男性的)
  → 文法上の性 ≠ コンテンツ上の性

最終的には、フランス語版では性別を限定しない表現を意識的に選ぶことで対応した。

韓国語のフォント選定

韓国語(한국어)のフォント選定は予想以上に難航した。

検討したフォント:
  Noto Sans KR     — Googleフォント、無料、安定
  Spoqa Han Sans   — 韓国のスタートアップ界隈で人気
  Pretendard       — モダンで洗練、ラテン文字との混植に優れる

選定: Pretendard
理由:
  1. SF Pro に近いジオメトリックな印象
  2. ラテン文字とハングルの混在時のバランスが良い
  3. ウェイトのバリエーションが豊富
  4. 無料(SIL Open Font License)

中国語(簡体字)の文字数問題

中国語は表意文字のため、日本語や英語と比べて文字数が少なくなる傾向がある。これ自体は問題ないが、UIの幅に影響を与えた。

文字数の比較:
  英語: "Customize your figure"    (22文字)
  日本語: "フィギュアをカスタマイズ"   (12文字)
  中国語: "自定义你的人偶"           (7文字)

→ ボタンの幅が言語によって大きく変わる
→ flexbox + min-width で吸収

ドイツ語の長い単語がUIを壊す話

ドイツ語は複合語の文化で知られる。名詞を連結して新しい単語を作るため、信じられないほど長い単語が生まれる。

ドイツ語の長い単語の例:
  "Edelstahlspielfigur"           — ステンレスフィギュア(19文字)
  "Größenanpassungsoptionen"      — サイズ調整オプション(24文字)
  "Bratwursthalterungssystem"     — ソーセージホルダーシステム(25文字)

UI上の問題:
  ナビゲーションバーのボタンからテキストがはみ出す
  カードレイアウトの幅が崩れる
  モバイルで特に顕著

対策として、CSSの word-break: break-word と hyphens: auto を組み合わせ、さらにドイツ語版だけフォントサイズを90%に縮小する特殊処理を入れた。

ポルトガル語(ブラジル)を追加した理由

7言語目にポルトガル語(ブラジル)を選んだのは、ブラジルのBBQ文化「シュラスコ」との親和性からだ。

ブラジルのBBQ文化:
  シュラスコ (churrasco):
    - 串に刺した肉を炭火で焼く
    - シュラスカリア(専門レストラン)の存在
    - 週末のBBQは国民的行事
    - ソーセージ(linguiça)は定番メニュー

アクセスログを分析したところ、ブラジルからのアクセスが全体の約4%を占めており、英語でアクセスしている非英語圏ユーザーとして最大だったことも判断材料になった。

7言語対応は、7つの文化と対話することだ。翻訳で失われるニュアンスを嘆くよりも、各言語が生み出す新しいニュアンスを楽しむこと——それがグローバルなプロダクトの醍醐味だ。

← ブログ一覧に戻る