CEOブログ

横浜で活躍するホームページ作成・開発会社アットライズの代表取締役社長(CEO)が綴る、日々の奮闘記!!

備忘録

[備忘録].poファイル を.moファイルにコンパイルする方法

投稿日:

WordPressプラグインを修正したかったのだが。。

WordPressのとあるプラグインで表示されている文言を書き換えたかったのだが、、
ちょっとややこしかったので備忘録として残しておきます。
 

.moファイルはコンパイルして出力する必要あり

WordPressのプラグイン「WP-Members」を使っているのだが、これで表示される文言を修正する必要があった。
が、少々ややこしかったので備忘録としてメモしておきます。

修正したい文言を調査していくと、例えば「hogehoge.po」なるファイルに記載されていることが判明した。
で、このhogehoge.poを編集してアップしてやるも、表示は変わらない。。

同じディレクトリ内に「hogehoge.mo」なる拡張子だけが異なるファイルを発見するも、このファイルはバイナリファイルのようで、普通のテキストエディタでは開けなかった。

→ ここで推測するに「hogehoge.poをコンパイルして、hogehoge.moを出力するのではなかろうか!?」

いろいろ調べてみると、どうやらビンゴ! 推測の通りみたいである。
 

.poファイルをコンパイルするツール「Poedit」があった!


(1) https://poedit.net/download から Poeditをダウンロード
→ 「Windows download」版をDL

(2) DLした「Poedit-3.3.2-setup.exe」をインストール

(3) 「Poedit」を起動
→ 「ファイルを閲覧」 → 「hogehoge.po」を選択 → ファイル「MOにコンパイル」

これで「hogehoge.mo」が作成される!
→ これを既存のhogehoge.moと差し替えてサーバーにアップしてやればOK!!
 
 

オマケ:「WP-Members」で表示文字列を非表示にする方法

上記Poeditは、表示文字列を変更する方法だが、
表示文字列自体を非表示にしたいケースがあったので、その方法を。
 
例)wp-content/languages/plugins/wp-members-ja.po の下記記述を非表示にする。(非表示にしたい文字列がこのファイルに記述されていることは grep等を駆使して探すべし!)
— wp-members-ja.po(1511) ——————–
#: includes/class-wp-members-dialogs.php:80 ←←←(*2)
msgid “Click here to register” ←←←(*1)
msgstr “新規ユーザー登録” ←←← コレを非表示にしたい
———————————————–

・非表示にしたい「新規ユーザー登録」が定義されている場所を探す。

・そのすぐ上の行に記載されている「msgid 」(今回は「Click here to register」)が、(*2)のファイルに定義されている。

・class-wp-members-dialogs.php から、当該定義をコメント化。
— class-wp-members-dialogs.php(80) ——————–
// ‘register_link’ => __( ‘Click here to register’, ‘wp-members’ ),
———————————————–

これで、当該文字列は表示されなくなった!!
 
 

-備忘録

関連記事

[備忘録]「PHP Fatal error: Allowed memory size of xxxx bytes」エラーの対処

メモリスペックの低いテストサーバーに移植したらエラーに。。 とあるサイトの検証用に、テストサーバーを構築し ファイル・DB等を移植し 環境を整備した。 そして、いざ 当該サイトを表示してみると、、DB …

[備忘録]Gmailへのメール送信がエラーとなる場合の対処

スパムと判断されてるのか?? とある会の案内メールを百数十名にBCCで一斉送信しているのだが、最近急にGmail宛のメールがエラーとなるようになってしまった。。 過去ブログ「[備忘録]Emailブラッ …

[備忘録]wgetコマンドで突然エラーが出るようになった!:SSL証明書認証エラー

サーバーのヘルスチェックエラーの嵐。。 仕事柄 WebサイトやWebサーバーを多数管理している。 例えばサーバーがフリーズしたり、何か障害が発生した際にいち早く検知できるように、独自に開発した「ヘルス …

[備忘録]Zoom:「定期開催」ミーティングの設定方法

ブラウザからログインして設定すべし! Zoomで定期的な(常駐)ミーティング(「定期開催」というらしい)を設定したいのだが、設定方法がなかなか見つからず難儀した。。 調べてみたところ、どうやらアプリで …

[備忘録]Chromeリモートデスクトップでマルチモニタ表示できない原因が分かった。。

原因はHDMIとDisplayportの違いだった! コロナ禍以来、在宅でのテレワークが出来るよう整備を進め、運用できるようにしてきた。 誰もオフィスに居なくても遠隔でPCの電源を立ち上げたり(*1) …