<?php
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * プラグインの国際化(i18n)初期化クラス
 *
 * WordPress 標準の翻訳ファイル (.mo) を WordPress の設定言語に従って読み込む。
 * 翻訳機構は WordPress 標準: __( 'text', 'ai-auto-poster' ) を使用。
 *
 * テキストドメイン: 'ai-auto-poster' (プラグインスラッグと一致)
 * 翻訳ファイル: /languages/ai-auto-poster-{locale}.mo
 *
 * 言語切替UIは持たない。WordPress の Settings > General > Site Language
 * またはユーザー個別言語設定 (User > Profile > Language) に従う。
 */
class AIAP_I18n {

    /**
     * テキストドメイン
     */
    const TEXT_DOMAIN = 'ai-auto-poster';

    /**
     * 翻訳ファイルをロード
     *
     * WordPress.org 公式ディレクトリ経由の配布では 4.6 以降、Text Domain と
     * プラグインスラッグが一致する場合に翻訳ファイルが自動でロードされる。
     * しかし、ZIP 直配布や開発環境では自動ロードが効かないため、本メソッドで
     * /languages 配下の .mo を明示的に load_plugin_textdomain() で読み込む。
     * 自動ロードと併走しても WordPress 側で重複ロードは行われず副作用はない。
     *
     * 画面文言は英語 msgid をマスターにし、日本語は /languages の .mo から読む。
     *
     * @see https://make.wordpress.org/core/2016/07/06/i18n-improvements-in-4-6/
     * @see https://developer.wordpress.org/reference/functions/load_plugin_textdomain/
     */
    public static function load() {
        load_plugin_textdomain(
            self::TEXT_DOMAIN,
            false,
            dirname( plugin_basename( AIAP_PLUGIN_FILE ) ) . '/languages'
        );
    }
}
