見出し画像

ピリオド . を句点 。に変えるのに5時間かかった話【WordPress】

(約 2,300文字の記事です。)

タイトル通り。たったの「半角ピリオド」を「全角句点」に変えるためだけに、5時間格闘した。

結果、上手く行ったから今日記を書いている。

読者側からすれば「は?何でそんなに時間かかるの?ウケるwww」と思うかも知れない。それはフロントエンドの話だ。だがバックエンドの話になると「それは割と有り得る話」になるのだ。今回はエンジニア向け。

今回はWordPressやサーバーやフロントエンド、バックエンドの話が分かる人向けに書き散らかします。素人への配慮一切なしの書き散らし日記です。もう余裕ない😭疲れ果てた……。


肝のプラグインは当然海外製=非日本語

WordPressをやっていれば分かると思うが、99%は海外製のプラグインだ。なのでローカライズ=日本語化でつまずくことが多い。でも6割くらいはプラグイン作者側の努力で「そこそこ使える」状態になっている。

だが今回、その成果がそのまま読者に見える形の文字列になって表示される。つまり「不自然な日本語」が表示されるのだ。これは痛い。

文字を、言葉を、言霊(ことだま)を操る者にとって、変な文字を表示させることは、かなり辛い😭

なので今日は(というか昨晩から)その表記を修正できないか色々と探っていた。結果、WordPressの翻訳機能について大分深いところまで探って試行錯誤する羽目になった。……、あまり笑えない。

poファイルって何ですか?

今まで全く知らない未知のファイル形式。これ、調べてみたらWordPressで使われる翻訳済みデータの保存形式らしい。"English"という文字列を"英語"という表記に変えるためのデータベースね。1対1の対照表だ。

それの扱い方について知って理解して試して自分の物にするまでに2時間かかった😭

こんな感じで、WordPressというものは「今まで全く扱ったことのない内容」に出会った瞬間から途端にハードルが上がるのだ。だから素人にはお勧めできない。相当の覚悟を持って臨まなければならない。

……、と初心者をビビらせるのはここまでにしておこう。

poファイルの構文や仕組みを理解できた。WordPress内でのmoファイルの読み込みの優先順位も理解できた。WordPress内にはmo翻訳ファイルの置き場所が2箇所ある。/wp/wp-content/languages/plugins内のmoファイルが最優先で、そこにないものが各プラグインの言語フォルダ内のmoファイルから読み込まれる。

moはpoのコンパイル後のバイナリデータだ。(poファイルはテキストデータ)無料のPoeditを使ってコンパイルし、FTPツールでサーバにUPする。もはや呪文w

両方にない文字列は翻訳されずに直接表示される。WordPress内には2箇所にmoファイルがあるってだけでも大混乱だったがその優先順位を理解するのは大変だった。

実に面倒臭い。なぜそんな構造になっているのかは不明だが、きっと歴史上の経緯があるのだろう。

ではpo, moファイルを書き換えれば問題解決といけば楽だった。だが今回はそうはいかなかった。

<リンク文字列、青色で表示されるアレね>の直後に半角ピリオドが表示されている。日本語の場合、私の場合は全角の読点「。」を表示させたいのだ。だがpoファイルにそれを指示しても上手く行かない。困った。


結局~.phpファイルを修正する羽目に

これは最後の最後までやりたくなかった。というのもプラグインがアプデするとリセットされてしまうから。子テーマのfunction.phpの修正で済むなら楽だったが、今回はそれでも上手く行かなかったのだ。

それが通じるのは古いバージョンで日本語poファイルが添付されていなかった時期の手法だろう。今その手法を試しても上手く行かなかったから。

たいていはpoファイルの修正=対応する原文と変換後のテーブルをいじれば解決するのだろうが、今回はたまたま<リンク文字列>の直後の「半角ピリオド」という悪条件が揃ってしまった。なのでHTML文字列を生成するphpファイルをチェックして修正するしかない。

この段階で多分私のnoteの読者の99%は離脱するだろう😱知らんがな、と。そう思う。

ようやく . が。になった

んで結局は5時間かかって無事に修正完了。リンクありの文字列の直後の平文の半角ピリオドが、リンク文字列 with 句点になった。たったそれだけ。

一見すると「ど~でもいい」ことのように見えるかも知れない。だがこれ、全然「ど~でもよくない」のだ。理由はいつの日か説明するが、半角ピリオドと全角区点は全く異なる情報なのだ。それを見た人に与える印象が違う。

なぜ?どう違うの?については今回は割愛。

だからこそ5時間かけてでもリリース前のテストサイトで解決したかった問題だった。でも今回「も」無事に解決できたからよかったものの、解決できなければ泥沼の様相となっていただろう。無事に日常に戻ってこれたことを神様に感謝したい👍

今回の旧サイトリニューアルで最大の山場を乗り越えたと感じた。あとは翻訳の修正と実装も「先が見えている」ので楽だ。あとはコンテンツを充実させて、これまでの実験で成功した「ガワ」の実装を進めるだけ。

疲れたけど、前に進めた。

地味に地味~に一歩、前に進んだ。


今回の創作活動は約1時間30分(累積 約3,373時間)
(938回目のnote更新)



読んでくれてありがとう。気長にマイペースに書いてます。この出会いに感謝😊