サポート » プラグイン » プラグインの翻訳ファイルを子テーマで使いたい

  • 投稿がうまくいかず、何度も投稿して申し訳ございません。
    海外制のプラグインで、一部日本語に翻訳して使用しているのですが、プラグインのアップデートで消えてしまう恐れがあります。
    子テーマにファイルを置いて、上書きされないようにできないでしょうか。

    試用しているプラグインは、xa-woocommerce-subscriptionsというプラグインで、以下のような構成になっています。

    本体:wp-content/plugins/xa-woocommerce-subscriptions
    翻訳ファイル:wp-content/plugins/xa-woocommerce-subscriptions/languages
    ファイル:xa-woocommerce-subscription-ja.mo、xa-woocommerce-subscription-ja.po

    サイトを参考にfunction.phpにいろいろと追記してみましたが、できませんでした。

    function.phpへの記載方法など教えていただけましたらありがたいです。

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • CG

    (@du-bist-der-lenz)

    child_setupでは使えないのですか

    こんにちは

    load_textdomain_mofile フィルターフックで翻訳ファイルを変更する方法はどうでしょうか?

    例:

    子テーマの functions.php などに、

    function my_custom_translation_file( $mofile, $domain ) {
    	if ( 'xa-woocommerce-subscription' === $domain ) {
    		$locale = determine_locale();
    		$mofile = get_stylesheet_directory() . '/languages/' . $domain . '-' . $locale . '.mo';
    	}
    	return $mofile;
    }
    
    add_filter( 'load_textdomain_mofile', 'my_custom_translation_file', 10, 2 );
    • この返信は5 ヶ月、 4 週間前に  ishitaka さんが編集しました。
    • この返信は5 ヶ月、 4 週間前に  ishitaka さんが編集しました。

    CGさん、ご返信ありがとうございます。知識不足ですみません、child_setupは調べてみたいと思います。

    ishitakaさん、コードありがとうございます。子テーマ/languagesを作成し、xa-woocommerce-subscription-ja.mo、xa-woocommerce-subscription-ja.poを入れるということでよろしいでしょうか。
    functions.phpにご教示いただいたコードを記載しましたが、変化がありませんでした。
    何か違っているのでしょうか。

    xa-woocommerce-subscription は下記のプラグインでしょうか?それとも有償版でしょうか?
    https://wordpress.org/plugins/xa-woocommerce-subscriptions/

    下記のサイトにある有償版です。
    https://www.webtoffee.com/product/woocommerce-subscriptions/

    たぶんドメイン名(xa-woocommerce-subscription)が違うのかと思いますが・・・

    商用プロダクトに関しては、このフォーラムでサポートすることができません。
    https://wpdocs.osdn.jp/フォーラムへようこそ#.E5.95.86.E7.94.A8.E3.83.97.E3.83.AD.E3.83.80.E3.82.AF.E3.83.88

    提供元にお問い合わせください。お役に立てずにすみません。m(__)m

    了解いたしました。フォーラムの規定をよく理解しておらず、申し訳ございませんでした。
    ご丁寧にありがとうございました。

    • この返信は5 ヶ月、 4 週間前に  mountain22 さんが編集しました。

    翻訳ファイルは下記ディレクトリにも置けます

    wp-content/languages/plugins/

    ここに woocommerce-subscription-ja.mo、xa-woocommerce-subscription-ja.po を入れれば日本語化するはず。また、プラグインがアップデートしても多分消されないと思う

    enomoto celtislab様
    ご返信ありがとうございます。
    その場所にアップしてみたのですが、なぜか、wp-content/plugins/xa-woocommerce-subscriptions/languagesが優先さててしまうようです。

    申し訳ございません。前のコメントにありますが、規定を知らずに有償版の質問を出してしまったので、これに関しては質問はできません。海外製で質問に対する返信がなく困っていますが、なんとか方法を考えたいと思います。

    wp-content/languages/plugins/ と wp-content/plugins/xa-woocommerce-subscriptions/languages に同じ翻訳ファイル ~ja.mo、~ja.po を入れておいても多分問題ないですが、優先度の問題があるようなので wp-content/languages/plugins/ 以下のみに翻訳ファイルをいれておけばよいのでは?

    そうすれば、プラグインのアップデートで wp-content/plugins/xa-woocommerce-subscriptions/languages 内の翻訳ファイルが消されても wp-content/languages/plugins/ の翻訳ファイルは残っていると思うので、日本語表示されるはず

    ご丁寧にありがとうございます。
    wp-content/plugins/xa-woocommerce-subscriptions/languages 内のファイルを削除しまし、wp-content/languages/plugins/に入れた状態でも翻訳できませんでした。
    ふつうのケースとは違うのでしょうか。
    woocommerceのファイルでは、他の方にご教示いただいた子テーマでもうまくいきましたが、同様にしてもできませんでした。

    また、海外製品ですが、デフォルトで~ja.mo、~ja.poがあり、そこからカスタマイズしたものをアップしています。それで更新影響のない場所に置きたいと考えていました。

    ふつうは、うまくいくはずですが、なにかがおかしいということです

    そのプラグインの翻訳が特殊なのか、単にキャッシュ等の問題なのか?そこはわかりません

    ちなみに翻訳ファイルの読み込み手順について詳しく解説してくれている記事があります
    https://nskw-style.com/2014/wordpress/code-stealing/loading-translation-files.html

    これを参考にローカル環境を使っていろいろ試してみるのが良いと思います

    サイトを参考に試してみたいと思います。
    いろいろとありがとうございました。

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • このトピックに返信するにはログインが必要です。