<?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 4.6 以降、プラグインスラッグと「Text Domain」ヘッダが一致する
     * WordPress.org ホスト型プラグインは、翻訳ファイルが自動でロードされる。
     * よって明示的な load_plugin_textdomain() の呼び出しは不要。
     *
     * このメソッドは将来 .org 配布以外の経路で再有効化できるよう残しているが、
     * 現状は何もしない。
     *
     * @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() {
        // WordPress.org 配布ではない ZIP でも同梱辞書を確実に使う。
        // 画面文言は英語 msgid をマスターにし、日本語は /languages の .mo から読む。
        load_plugin_textdomain(
            self::TEXT_DOMAIN,
            false,
            dirname( plugin_basename( AIAP_PLUGIN_FILE ) ) . '/languages'
        );
    }
}
