• 解決済 junj

    (@junj)


    POTファイルのない海外製プラグインの日本語化に挑戦しています。
    2つほどわからないことがあります。

    ①翻訳対象の文字列はもともと、__(”)や_e(”)の関数が使われているようなのですが、何故か__(”,”)や_e(”,”)のように第2引数が指定されていません。

    ②翻訳ファイルを読み込む、Load_plugin_textdomain()を探していると、

        public function init(){

    //Before init action

    do_action(‘before_marketplace_init’);
        //Set up localisation this contain language file

    //$this->load_plugin_textdomain()
        //Init action
    }

    という箇所を見つけました。ちなみに()の中は空白でした。

    自分で②のload_plugin_textdomain()の()にドメイン名と言語ファイル名を入れて、①の__(”)や_e(”)の第2引数にドメイン名を入れればよいということでしょうか?
    初心者なので、//$this->の意味が分からず苦戦しております。

    わかる方がいらっしゃいましたらアドバイス等宜しくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • まず、文字列国際化関数のドメインが指定されていない問題はプラグイン開発者側が対応すべき問題です。(≒このプラグインは国際化に完全対応していないとも言えます。)

    クラスの定義の断片では何とも言えないのですが、同一クラス内のload_plugin_textdomain()の定義を見せてもらえますか?
    もし、この言い方で何を言っているのかが全く通じないようであれば、それはこのフォーラムではなくPHPの話になってくるので、先にPHPの習得を目指してください。

    トピック投稿者 junj

    (@junj)

    ありがとうございます。
    クラス等を勉強していたため、返事が遅れました。
    クラス内にload_plugin_textdomain()の定義がありませんでした。
    そして全てのPHPを見たのですが、最初の投稿で載せたもの以外にload_plugin_textdomain()の記載は他にありませんでした。

    もし国際化が中途半端にされているとしたら、PHPのどこかに自分でload_plugin_textdomain()コードを挿入して、ドメイン名と言語ファイル名を入れる必要があるのでしょうか?

    他人の書いたコードなのでハードルが高いかもしれませんが、そうなると自分で国際化を正しく実装する必要がありますね。
    ファイルの全体を見ているわけではないので、なんとも言い難いところはありますが、ドメインの指定すら行われていない状況を見ると、めんどくさい作業になりそうな予感はします。

    トピック投稿者 junj

    (@junj)

    ありがとうございます。
    初心者にはハードルが高い作業かもしれませんが、なんとか頑張ってみたいと思います。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「海外製プラグインの日本語化」には新たに返信することはできません。