1. はじめに:甘かった見積もりと5000クレジットの代償

「AIを使えば、ブログの英語対応なんて30分で終わるだろう」

そんな軽い気持ちで始めたブログ多言語化プロジェクトでしたが、現実はそう甘くありませんでした。最終的にかかった時間は3時間。そして消費したGensparkクレジットは約5000クレジット(約1,800円相当)

決して「魔法のようにワンクリックで完了」とはいきませんでしたが、それでも通常なら数日〜1週間かかる「DB設計変更」「全記事翻訳」「SEO実装」を半日で完遂できたのは事実です。

本記事では、AIの暴走に振り回された失敗談と、最終的に成功した「実際の翻訳スクリプト(Python)」を公開します。

ブログ翻訳自動化システム ワークフロー

図1: ブログ翻訳自動化システムの全体ワークフロー(DB取得→Gemini翻訳→リンク置換→DB保存)

2. 【戦略フェーズ】AIに「仕様書」を書かせて壁打ちする

Gensparkの「スーパーエージェント(有料機能)」はいきなり使いません。クレジットがあっという間に溶けるからです。まずは無料のチャット画面で、ClaudeやGemini相手に徹底的に相談(壁打ち)を行いました。

ブログ構造図 - 日本語版と英語版のディレクトリ構造

図2: 多言語対応後のブログ構造(日本語版: /post/、英語版: /en/post/)

AIに作らせた「実装仕様書」の一部

壁打ちの結果、Gensparkは以下のような的確な仕様書を出力してくれました。これをベースにしたことで、手戻りを最小限に抑えられました。

## 実装戦略 選択した方式: 単一データベース + 言語フィールド + スラグサフィックス方式 ## データベース設計 (拡張後のスキーマ) ALTER TABLE blog_posts ADD COLUMN language TEXT NOT NULL DEFAULT 'ja'; ALTER TABLE blog_posts ADD COLUMN original_post_id INTEGER; ## 重要なルール - 日本語記事slug: '01-genspark_lies' - 英語記事slug: '01-genspark_lies-en' (UNIQUE制約回避のため-enを付与)
Tips:この「設計相談」を無料枠で済ませておくのが、クレジット節約の最大のコツです。

3. 【失敗】Genspark Agentによる一括自動翻訳の暴走

仕様が固まったので、意気揚々とスーパーエージェントにこう指示しました。
「全記事を一括で翻訳して、DBに登録するスクリプトを書いて実行して!」

これが間違いでした。

AIが生成した「一括処理スクリプト」は、途中でタイムアウトしたり、タグの閉じ忘れが発生したりして、データベースには中途半端に翻訳された「変な記事」が大量に生成されてしまいました。

失敗からの教訓:AIに「大規模な一括処理」を任せてはいけません。必ずエラーが起き、そのリカバリー(ゴミデータの削除など)で倍の時間がかかります。

4. 【解決】PythonとGemini APIでブログ記事を自動翻訳するコード解説

「急がば回れ」です。私は戦略を切り替え、「1記事だけを丁寧に翻訳して登録するPythonスクリプト」を作成させました。

以下が実際に使用したスクリプトの全文です。これをどう実行したかと言うと、Gensparkのサンドボックス(AI Developer環境)に貼り付けて「実行」しただけです。自分のパソコンにPython環境を構築する必要すらありません。

注意:以下のコードを使用する場合は、Cloudflare D1のデータベース名(genspark-blog-db)やテーブル名をご自身の環境に合わせて書き換えてください。
【クリックして展開】 Pythonスクリプト全文 (translate_single_article.py)
#!/usr/bin/env python3
# 単一記事翻訳スクリプト
# 使い方: python3 translate_single_article.py <slug>

import json, subprocess, sys, re

# 認証情報 (環境変数で管理推奨)
CLOUDFLARE_EMAIL = "[email protected]"
CLOUDFLARE_API_KEY = "your-api-key"
GEMINI_API_KEY = "your-gemini-api-key"

def translate_with_gemini(text, instruction):
    import google.generativeai as genai
    genai.configure(api_key=GEMINI_API_KEY)
    model = genai.GenerativeModel('gemini-2.5-flash')
    return model.generate_content(f"{instruction}\n\n{text}").text.strip()

def translate_article(article):
    title = translate_with_gemini(article['title'], "Translate to English.")
    
    instruction = """Translate to English.
REQUIREMENTS:
1. Preserve ALL HTML
2. Convert: /post/XXX to /en/post/XXX-en
3. Translate comments, NOT code"""
    
    content = translate_with_gemini(article['content'], instruction)
    content = re.sub(r'/post/([^"\\s]+)(?!-en)', r'/en/post/\\1-en', content)
    
    return {'title': title, 'content': content}

# メイン処理は省略
環境構築不要:このスクリプトは、自分のPCでPython環境を作る必要はありません。GensparkのAI Developer(サンドボックス)環境に貼り付けて実行するだけで動きます。

このスクリプトは非常にシンプルですが、強力です。

  • Gemini 2.5 Flash を使うことで、翻訳コストはほぼ無料。
  • 正規表現 で内部リンク(/post/)を自動的に英語版(/en/post/)に書き換え。
  • Alt属性 も翻訳対象に含めることでSEO対策も万全。

これを1記事ずつ実行し、ブラウザで表示確認をする。この「泥臭い」手順こそが、結果的に最も確実で早い近道でした。

5. WordPressユーザーへの提言:Gensparkをどう使う?

私はこのブログシステム自体をGensparkで作っていた(Cloudflare D1 + Hono)ため、データベース構造を自由に変更できましたが、多くの読者はWordPressを使用していると思います。

WordPressユーザーがGensparkで多言語化する場合、データベースを直接いじるのはリスクが高すぎます。より安全で現実的なアプローチは以下の2つです。

  1. Markdownコピペ作戦(推奨):
    Gensparkに日本語記事のURLを渡し、「この記事をSEOを意識した英語記事に翻訳して、Markdown形式で出力して」と指示します。出力された内容をWordPressの新規記事にコピペし、言語設定(Polylangなど)で紐付けるのが最も安全です。
  2. XMLインポート作戦(上級者向け):
    WordPressから記事をXML形式でエクスポートし、Gensparkに「XML内の本文タグだけを英語に置換して」と依頼し、再度インポートします。一括処理できますが、バックアップは必須です。

6. まとめ:泥臭いが、世界への扉は開いた

30分で終わるはずが3時間かかり、5000クレジット(約1,800円)を消費し、DBのリセットも経験しました。スマートな開発とは言えません。

しかし、たった1,800円と3時間で「SEO対応済みの完全な多言語ブログ」が手に入ったと考えれば、そのコストパフォーマンスは圧倒的です。
もし外注したり、手動で翻訳していたら、数万円〜数週間はかかっていたでしょう。

Gensparkは魔法の杖ではありませんが、「泥臭い作業を100倍速でこなしてくれる超優秀な助手」です。
あなたも少しのクレジットと時間を投資して、世界への扉を叩いてみませんか?

関連記事