Upgrade to Pro — share decks privately, control downloads, hide ads and more …

最近個人開発が熱い ~多言語対応編~

sugar-cat
August 24, 2024
230

最近個人開発が熱い ~多言語対応編~

sugar-cat

August 24, 2024
Tweet

Transcript

  1. 12 対応方針v1 多言語対応 • タイムゾーン対応 リクエストに TimeZoneを含めてOffset分 ずらして配信情報を取得 • コンテンツの翻訳

    リクエストを Proxyして翻訳サーバーを 通すように修正 可能な限り既存実装は生かして手をつけない方針で進めた (リプレイスが控えている)
  2. 13 対応方針v1 多言語対応 • タイムゾーン対応 リクエストに TimeZoneを含めてOffset分 ずらして配信情報を取得 • コンテンツの翻訳

    リクエストを Proxyして翻訳サーバーを 通すように修正 可能な限り既存実装は生かして手をつけない方針で進めた (リプレイスが控えている)
  3. 15 v1リリース🫠 多言語対応 • localeに対してdefaultのTimeZoneを指 定した(ja: JST, en: PDT) •

    (何故か)昔からISRで動的にページを更新 していた名残りで、ビルド時に表示に必要 な動画情報が全て翻訳されるようになって いた(!?)
  4. 17 コスト大爆発の問題点 多言語対応 • 翻訳対応前の雑な見積もり 動画の情報にノイズが多い &Translationが文字数での課金だった ex) .。:+* ゚

    ゜゚ *+:。.。:+* ゚ ゜゚ *+:。.。.。:+* ゚ ゜゚ *+ • ISRの使い方がおかしい 頻繁に更新されるページはキャッシュ +SSRの方が良い • Firestore無駄なクエリを投げまくっていた 適切なFilter+Limitをする
  5. 18 コスト大爆発の問題点 多言語対応 • 翻訳対応前の雑な見積もり 動画の情報にノイズが多い &Translation APIが文字数での課金だった ex)意味を持たない記号列 (

    .。:+* ゚ ゜゚ *+:。.。:+* ゚ ゜゚ *+:。.。.。:+* ゚ ゜゚ *+ )やURLなど • ISRの使い方がおかしい 頻繁に更新されるページはキャッシュ +SSRの方が良い • Firestore無駄なクエリを投げまくっていた 適切なFilter+Limitがつけられていない
  6. 29 雑計算 多言語対応 Translation APIで48000円 $1=160円(6/28時点) ↓ $300分の追加料金 100万文字あたり $20課金発生

    ↓ 1500万文字くらいを翻訳した? ↓ 1文字1tokenとして in/outも同じToken数とすると OpenAIを使用した場合は 3000万Token程度?(1M Tokenあたりin:$0.15/out:$0.60) in: 15×$0.15 out: 15×$0.60 … $11.25
  7. 34 現在~ 多言語対応 UI/UXの強化、DiscordBotの多言語展開、中国圏への展開 ...etc [UI/UX] • 言語やタイムゾーンの選択が可能な UIの実装 •

    言語やTZを選択済みのユーザーはリダイレク トさせる仕組み [Backend] • マルチクライアント対応とスキーマレスな開発 体験の改善のため GraphQLの導入、 RDBへ の移行