SE LocalizerSE Localizerを開く (別タブ) ↗

SE LOCALIZER GUIDE

使い方

SE Localizerは、StoryEngineのCanvas JSONの語句を、登録した辞書に沿って別の言語へ置換するツールです。

AIによる自動翻訳は行いません。
辞書に登録されていない語句や、作業言語の訳語が空欄の語句は原文のまま残ります。

ファイルの処理はブラウザー内で行います。アプリは外部APIやCDNを使用しません。Web版ではサイトファイルを取得するための通信が発生します。データと通信の詳細

① まず使ってみる

Web版を開く

上部の「SE Localizerを開く」からアプリを開きます。インストールやAPIキーの設定は不要です。すでに作業中のアプリがある場合は、そのタブに戻って操作を続けてください。

最初の操作

  1. Canvasを読み込む:「JSON読み込み」で、StoryEngineから書き出したCanvas JSONを選びます。
  2. 辞書を準備する:「辞書読込・編集」を開き、「JSON読込」で既存辞書を読み込むか、「+ 用語を追加」から語句を登録して閉じます。辞書の操作方法
  3. 言語を選ぶ:「原文言語」はCanvasから自動設定されます。「作業言語」を選択します。「作業言語」が書き出し先の言語です。
  4. 置換結果を確認する:ノード種別、ノード名、項目タブを選び、「原文 BEFORE」と「置換プレビュー AFTER」を比べます。辞書は自動適用され、適用ボタンはありません。
  5. Canvasを書き出す:「JSON書き出し」を押し、元ファイルを残すため別名で保存します。
Canvasと辞書は自動保存されません。
作業後はCanvasの「JSON書き出し」と、辞書の「JSON保存」をそれぞれ行ってからページを閉じてください。

書き出されるのは、読み込んだCanvas全体です。選択中・検索結果に表示中のノード以外にも辞書が適用されます。置換対象の詳細

② 便利な使い方

辞書を使う

「辞書読込・編集」を開いて操作します。

既存辞書の読み込み

「JSON読込」でSE Localizer形式の辞書を選び、置き換えの確認に進みます。

辞書JSONの読み込みは、追記ではなく全件置換です。
未保存の変更があれば、先に「JSON保存」で保存してください。

新規語句の登録

「+ 用語を追加」から各言語欄に入力し、「用語を登録」を押します。各欄は空欄でも登録できますが、置換には原文言語と作業言語の両方の語句が必要です。

編集・削除

一覧の「編集」で変更し、「用語を登録」を押します。「削除」は確認後に実行されます。「原文・訳語を検索」で絞り込めます。同じ言語欄での語句の重複は登録できません。

保存

入力中の内容を「用語を登録」してから、「JSON保存」を押します。登録が済んだら「閉じる」でアプリに戻ります。

Canvasの「JSON書き出し」と辞書の「JSON保存」は別操作です。辞書画面を閉じても登録内容は保持されますが、ページを再読み込み・終了すると失われます。保存方法とブラウザーによる違い

プレビューを確認する

  • 「ノード名・内容を検索」でノードを探せます。BEFORE/AFTERは読み取り専用です。置換結果を変えるには辞書を編集します。置換に対応する箇所は強調表示されます。
  • Macro Promptは「エントリー1」などを選び、「Trigger Word」「Content」のタブで確認します。「原文とプレビューのスクロールを同期させる」も利用できます(本文の比較欄)。

③ 詳細仕様・注意事項

言語の選択

原文言語はCanvasの言語情報から自動設定され、変更できません。未設定・不正な言語情報や、辞書が対応していない言語の場合は、案内を表示し書き出しを停止します。Canvasと言語情報を確認するか、対応する辞書を読み込んでください。作業言語は辞書の対応言語から選択できます。両方が同じ言語なら語句は置換されません。

辞書や言語を変更すると、プレビューとトークン数が再計算されます。

読み込みと保存

Canvasの読み込みに失敗した場合は通知の内容を確認してください。前回正常に読み込んだデータは保持されます。

「JSON書き出し」や辞書の「JSON保存」で保存先を選ぶ画面が出たら、ファイル名と保存先を指定します。非対応のブラウザーではダウンロードが始まります。ダウンロード後はファイルを確認してください。

辞書のダウンロード名は localizer-dictionary.json です。この方式では、ダウンロード後も「JSON未保存」の表示が残ります。

辞書の言語構成とJSON

辞書JSONを自分で作成する場合

SE Localizer形式の最小例です。

{
  "sourceLanguage": "ja",
  "languages": ["en"],
  "entries": [
    { "source": "魔法", "translations": { "en": "magic" } }
  ]
}

この例では日本語のCanvasを読み込み、作業言語に英語を選ぶと「魔法」が「magic」に置換されます。新規辞書の初期欄は日本語・韓国語・英語・中国語(簡体字/繁体字)・スペイン語です。言語構成の変更は辞書JSONの読み込みで行います。

トークン計測と上限

  • トークン数が表示される項目では、置換後のトークン数 / 上限を確認できます。上限超過は色で表示され、上限が未定義の項目は — です。Trigger Wordにはトークン数表示がありません。
  • 書き出し時には、上限が定義された全対象項目を再確認します。超過があれば「トークン数の上限超過」に一覧が出ます。「キャンセル」で戻るか、「このまま書き出す」で続行します。

上限値の一部は暫定値です。 計測には o200k_base を使用し、StoryEngine本体の計測結果との完全一致は未確認です。警告がないことはStoryEngineでの受け入れや正常動作を保証しません。

置換と元データの扱い

  • 文章全体を翻訳する機能ではありません。辞書の語句を大文字・小文字も含めて一致させ、長い語句から優先して置換します。単語境界を判定しないため、ほかの語の一部に一致する場合もあります。
  • 対象はStory/Characterの指定された文章項目、Macro PromptのContent・Trigger Word、Update RuleのRule、文字列型VariableのValue、Triggerの文字列条件のValueです。JSON内のすべての文字列を置換するわけではありません。
  • Status Panel・画像・Hubなどは一覧に表示されず、置換しません。未知の項目・種別、UIDや種別の照合ができない詳細データも置換対象外です。読み込み警告やノードの「要確認」を確認してください。
  • テンプレート、コード、HTMLタグ、URL、変数名、Macro Promptのキーなどは、実装の判定範囲で保護します。あらゆる構文を完全に保護する保証はありません。特に制御に使う語句は出力後も確認してください。
  • 書き出しは読み込んだJSON全体の複製を基に、対象項目と、存在する canvas.canvasLanguage を作業言語に合わせて変更します。未知の項目、接続・配置、非表示ノード等は値として保持する方針です。日本語のCanvas言語コードは jp で出力します。
  • JSONは整形し直すため、空白・改行など元ファイルの文字列そのものは保持しません。既存のトークン数フィールドも更新しません。元JSONを保管し、StoryEngineで読み込み・動作を確認してください。

読み込みのエラー・警告と書き出しエラーは、右上の通知に残ります。「×」で閉じられ、ほかの操作は続けられます。書き出し成功・ダウンロード開始の通知は自動で消えます。

データと通信

Canvas・辞書の読み込み、置換、トークン計測、書き出しはブラウザー内で処理します。起動対象のHTMLと関連ソースには、外部APIへの送信やCDNからの読み込みはありません。トークン計測ライブラリーも vendor に同梱されています。Web版では、サイトファイルを取得するために配信元との通信が発生します。

Canvasと辞書はページ内のメモリーに保持し、自動保存しません。ノード一覧と詳細の幅の設定のみ、ブラウザーのローカルストレージに保存します。必要なCanvasと辞書は、それぞれJSONファイルとして保存してからページを閉じてください。