くずはすくりぷとPHP+ (ksphp-plus) 導入ガイダンス
対象：投稿リンク画像サムネイル機能（js/imgthumb.js）／
      JavaScript多言語対応（window.KSPHP_LANG）
記録形式：ISO 8601（分単位）、タイムゾーンはUTC
作成：2026-07-17T05:05 UTC

============================================================
【このzipに含まれるもの】
------------------------------------------------------------
これまでの掲示板スクリプト一式とは別に、今回追加・変更した
ファイルのみを収めた差分パッケージです。フォルダ構造は元のまま
（sub/, js/, language/, doc/）維持しています。

  bbs.php                      … JS向け言語データ出力処理を追加
  sub/template.html            … <script>読み込み・埋め込みタグ追加
  js/imgthumb.js               … 新規：投稿リンクの画像サムネイル表示
  js/ayashiibreaker.js         … 多言語対応化（改修）
  js/upthumb.js                … 多言語対応化（改修）
  js/vanish.js                 … 多言語対応化（改修、判定方法の不具合修正含む）
  js/admin.js                  … 多言語対応化（改修）
  language/english.txt         … 新規キー追加
  language/japanese.txt        … 新規キー追加
  doc/changelog-2026-07-16-01.txt … 統合changelog（今回分含む）
  doc/CSScheck.txt             … 前回のCSS調査報告（参考として同梱）
  導入ガイダンス.txt            … 本ファイル

  ※language/*.txtは、既存の掲示板スクリプト側とJS側の両方から
    共有して参照される単一ファイルです。ファイルは分かれていません。

============================================================
【1. 投稿リンク画像サムネイル機能（js/imgthumb.js）】
------------------------------------------------------------
投稿本文中のURLが、実在する画像ファイル（対応拡張子は既定で
jpg/jpeg/png/gif/webp/bmp/avif/svg）を指している場合、該当URLの
右側にサムネイルを自動表示します。

  ・既存のjs/upthumb.js（特定アップローダーの既知ディレクトリ構造
    向け）とは独立した別ファイルです。両方同時に有効化できます。
  ・表示前にHEADリクエストでURLの実在とContent-Typeが image/* で
    あることを確認してから表示します（拡張子だけでの判定ではあり
    ません）。
  ・投稿フォーム脇（既存の「Uploader thumbnails」と同じ行）に
    「Link thumbnails」チェックボックスが追加されます。ON/OFFは
    ブラウザのlocalStorageに保存され、サーバーには送信されません。
  ・対象拡張子の絞り込みは、個人用環境設定画面（?setup=1）に自動で
    追加されるチェックボックス群から行います。既定は全選択です。
    こちらもlocalStorage保存のみで、設定フォームの送信には含まれ
    ません。

  【導入手順】
  1. js/imgthumb.js を js/ ディレクトリに配置。
  2. sub/template.html を差し替え（<head>内のスクリプト読み込み
     部分に <script src="js/imgthumb.js" defer></script> の1行が
     追加されています）。
  3. bbs.php を差し替え（後述のwindow.KSPHP_LANG埋め込み処理を含む）。
  4. language/english.txt・language/japanese.txt を差し替え
     （新規キー12件を追加済み。既存キーは変更していません）。
  特別な設定は不要です。ファイルを配置するだけで有効になります。

============================================================
【2. JavaScript多言語対応（window.KSPHP_LANG）】
------------------------------------------------------------
これまで、掲示板本体（PHPテンプレート）は言語ファイル
（language/*.txt）で多言語対応済みでしたが、js/以下のスクリプト内の
文言（ボタンラベル等）は対象外で、常に固定表示のままでした。

今回、bbs.php側で言語ファイルの内容をJSON化し、HTMLの<head>内、
他のスクリプトより前に

    <script>window.KSPHP_LANG = { ... };</script>

として埋め込む仕組みを追加しました。これにより、js/以下の
スクリプトから

    window.KSPHP_LANG.キー名

という形で、language/*.txtに定義した文言を直接参照できます。
（例：window.KSPHP_LANG.MAKE_LINE_BREAKS_BTN）

  【今回この仕組みに対応させたファイル】
  js/ayashiibreaker.js, js/upthumb.js, js/imgthumb.js, js/vanish.js,
  js/admin.js の5ファイル。

  【今後、新しいJSファイルを多言語対応させる場合】
  1. language/english.txt・language/japanese.txtに、キーと日英それぞれの
     文言を追加する（既存のキー・値の書式に合わせてKEY=値の1行形式）。
  2. JSファイル側で `window.KSPHP_LANG.キー名` を参照する。未読込時に
     備え、`(window.KSPHP_LANG && window.KSPHP_LANG.キー名) || "既定値"`
     の形でフォールバックを用意することを推奨します。
  3. サーバー側（PHP）の変更は不要です（window.KSPHP_LANGは全ページで
     自動的に出力されます）。

============================================================
【動作確認済み事項】
------------------------------------------------------------
- 全PHPファイル：php -lで構文エラー無し
- 全JSファイル（変更・新規分）：node --checkで構文エラー無し
- language/english.txt・language/japanese.txt：キー数一致（216件）、
  重複キー無し
- 掲示板メイン・過去ログ検索・ツリー表示・管理者ログイン
  （GET/POST）・個人設定画面・管理メニューの全経路で、日本語・
  英語両方のLANGUAGE_FILE設定においてHTTP 200、{PLACEHOLDER}の
  描画残り無し、window.KSPHP_LANGが有効なJSONとして出力されることを
  確認済み。
