{"id":2365,"date":"2026-01-14T16:40:02","date_gmt":"2026-01-14T07:40:02","guid":{"rendered":"https:\/\/bokumin.org\/blog\/?p=2365"},"modified":"2026-02-11T21:54:47","modified_gmt":"2026-02-11T12:54:47","slug":"bogolinux%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%81%a7wordpress%e3%83%96%e3%83%ad%e3%82%b0%e3%81%ae%e8%87%aa%e5%8b%95%e5%a4%9a%e8%a8%80%e8%aa%9e%e7%bf%bb%e8%a8%b3","status":"publish","type":"post","link":"https:\/\/www.bokumin.org\/blog\/2026\/01\/14\/bogolinux%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%81%a7wordpress%e3%83%96%e3%83%ad%e3%82%b0%e3%81%ae%e8%87%aa%e5%8b%95%e5%a4%9a%e8%a8%80%e8%aa%9e%e7%bf%bb%e8%a8%b3\/","title":{"rendered":"Bogo\uff0bLinux\u30b3\u30de\u30f3\u30c9\u3067WordPress\u30d6\u30ed\u30b0\u3092\u81ea\u52d5\uff06\u591a\u8a00\u8a9e\u7ffb\u8a33\u3059\u308b"},"content":{"rendered":"\n<p>Auto multilingual translation for WordPress blogs using Bogo and Linux commands<\/p>\n\n\n\n<p><strong>\u203b\u8aad\u3080\u524d\u306e\u6ce8\u610f<br><\/strong>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u300c\u5168\u90e8\u81ea\u52d5\u3067\u7ffb\u8a33\u3057\u3066\u516c\u958b\u3059\u308b\u300d\u4ed5\u7d44\u307f\u3092\u4f5c\u3063\u3066\u3044\u307e\u3059\u304c\u3001<strong>SEO\uff08\u691c\u7d22\u9806\u4f4d\uff09\u7684\u306b\u306f\u3001\u6a5f\u68b0\u7ffb\u8a33\u3092\u305d\u306e\u307e\u307e\u5782\u308c\u6d41\u3059\u306e\u306fNG\u3068\u3055\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002<\/strong>\u3042\u304f\u307e\u3067\u300c\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u3053\u3053\u307e\u3067\u81ea\u52d5\u5316\u3067\u304d\u308b\u300d\u3068\u3044\u3046\u6280\u8853\u7684\u306a\u304a\u904a\u3073\u30fb\u5b9f\u9a13\u8a18\u4e8b\u3068\u3057\u3066\u8aad\u3093\u3067\u3044\u305f\u3060\u3051\u308c\u3070\u5e78\u3044\u3067\u3059\u3002\u3082\u3057\u771f\u4f3c\u3055\u308c\u308b\u5834\u5408\u306f\u3001<strong>SEO\u3078\u306e\u5f71\u97ff\u3092\u8003\u616e\u3057\u3066\u81ea\u5df1\u8cac\u4efb\u3067\u304a\u9858\u3044\u3057\u307e\u3059\u3002<\/strong><br>\u79c1\u306e\u30d6\u30ed\u30b0\u306e\u82f1\u8a9e\u7248\u306fGoogle\u3055\u3093\u304b\u3089\u6012\u3089\u308c\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u65e2\u306b\u975e\u516c\u958b\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br>\u672c\u756a\u74b0\u5883\u3067\u904b\u7528\u3055\u308c\u308b\u5834\u5408\u306f\u3001\u7ffb\u8a33\u5f8c\u306e\u4fee\u6b63\u3092\u884c\u3046\u304b\u3001\u691c\u7d22\u30a8\u30f3\u30b8\u30f3\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u305b\u306a\u3044\u8a2d\u5b9a\uff08noindex\uff09\u3092\u691c\u8a0e\u3059\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002(2026\/2\/11)<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u306f\u3058\u3081\u306b<\/strong><\/p>\n\n\n\n<p>\u4ee5\u524d\u3088\u308a\u300c\u82f1\u8a9e\u7248\u306eBlog\u8a18\u4e8b\u304c\u3042\u308c\u3070\u3044\u3044\u306a\u300d\u3068\u601d\u3063\u3066\u304a\u308a\u3001\u3053\u306e\u5ea6\u3064\u3044\u306b\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<br>\u4ee5\u4e0b\u306eURL\u304b\u3089\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u82f1\u8a9e\u30c8\u30c3\u30d7<\/strong>: https:\/\/bokumin.org\/en\/<\/li>\n\n\n\n<li><strong>\u82f1\u8a9e\u30d6\u30ed\u30b0<\/strong>: https:\/\/bokumin.org\/blog\/en\/<\/li>\n<\/ul>\n\n\n\n<p>\u3068\u306f\u3044\u3048\u3001\u904e\u53bb\u306e\u8a18\u4e8b\u3092\u542b\u3081\u3066\u4e00\u3064\u4e00\u3064\u624b\u52d5\u3067\u7ffb\u8a33\u3057\u3066\u6295\u7a3f\u3059\u308b\u306e\u306f\u3042\u307e\u308a\u306b\u3082\u9762\u5012\u3067\u3059\u3002\u305d\u3053\u3067\u4eca\u56de\u306f\u3001<strong>\u30b5\u30fc\u30d0\u30fc\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u305d\u308c\u3089\u306e\u4f5c\u696d\u3092\u3059\u3079\u3066\u81ea\u52d5\u5316<\/strong>\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>WordPress\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u300cBogo\u300d\u3068Google\u7ffb\u8a33\u30b3\u30de\u30f3\u30c9\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u5b9f\u88c5\u65b9\u6cd5\u3092\u307e\u3068\u3081\u307e\u3057\u305f\u306e\u3067\u3001\u540c\u3058\u3088\u3046\u306b\u304a\u91d1\u3092\u304b\u3051\u305a\u591a\u8a00\u8a9e\u5316\u3057\u305f\u3044\u3068\u3044\u3046\u65b9\u306e\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">\u74b0\u5883<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OS<\/strong>: openSUSE (Kernel 6.18.x)<\/li>\n\n\n\n<li><strong>Web Server<\/strong>: Apache 2.4.66<\/li>\n\n\n\n<li><strong>CMS<\/strong>: WordPress<\/li>\n\n\n\n<li><strong>\u5fc5\u9808\u30c4\u30fc\u30eb<\/strong>: wp-cli, trans, perl<br>\u203bOS\u306f\u3069\u308c\u3067\u3082\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u7ffb\u8a33\u30a8\u30f3\u30b8\u30f3\u306e\u5c0e\u5165\uff08Google Translate CLI\uff09<\/strong><\/p>\n\n\n\n<p>\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u7ffb\u8a33\u3092\u884c\u3048\u308b\u30c4\u30fc\u30eb<strong> trans<\/strong> \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># \u53d6\u5f97\uff0b\u5b9f\u884c\u6a29\u9650\u3092\u4ed8\u4e0e\nwget -O \/usr\/local\/bin\/trans git.io\/trans\nchmod +x \/usr\/local\/bin\/trans\n\n# \u52d5\u4f5c\u78ba\u8a8d\uff08\u65e5\u672c\u8a9e\u2192\u82f1\u8a9e\uff09\ntrans -b -no-auto :en \"\u30c6\u30b9\u30c8\u3067\u3059\"\nIt's a test<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u53d6\u5f97\uff0b\u5b9f\u884c\u6a29\u9650\u3092\u4ed8\u4e0e<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">wget<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-O<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">\/usr\/local\/bin\/trans<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">git.io\/trans<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">chmod<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">+x<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">\/usr\/local\/bin\/trans<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u52d5\u4f5c\u78ba\u8a8d\uff08\u65e5\u672c\u8a9e\u2192\u82f1\u8a9e\uff09<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">trans<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-b<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-no-auto<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">:en<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\u30c6\u30b9\u30c8\u3067\u3059<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">It<\/span><span style=\"color: #FFCB6B\">&#39;s a test<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>Bogo\u306e\u5c0e\u5165<\/strong><\/p>\n\n\n\n<p>\u591a\u8a00\u8a9e\u5316\u30d7\u30e9\u30b0\u30a4\u30f3\u306b\u300c<strong><a href=\"https:\/\/ja.wordpress.org\/plugins\/bogo\/\">Bogo<\/a><\/strong>\u300d\u3092\u63a1\u7528\u3057\u307e\u3057\u305f\u3002Polylang\u306a\u3069\u3068\u9055\u3044\u3001Bogo\u306f\u65e5\u672c\u8a9e\u8a18\u4e8b\u3068\u82f1\u8a9e\u8a18\u4e8b\u306a\u3069\u3068\u3044\u3063\u305f\u5f62\u3092\u305d\u308c\u305e\u308c\u72ec\u7acb\u3057\u305f\u6295\u7a3f\u3068\u3057\u3066\u4f5c\u6210\u3059\u308b\u3068\u3044\u3046\u30b7\u30f3\u30d7\u30eb\u306a\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br>Bogo\u306fWordpress\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3082\u53ef\u80fd\u3067\u3059\u3057\u3001\u30b3\u30de\u30f3\u30c9\u3067\u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Bogo\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nwp plugin install bogo --activate --allow-root<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># Bogo\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">wp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">plugin<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">install<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">bogo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">--activate<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">--allow-root<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u81ea\u52d5\u7ffb\u8a33\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u4f5c\u6210<\/strong><\/p>\n\n\n\n<p>\u4eca\u3042\u308b\u8a18\u4e8b\u3092\u7ffb\u8a33\u3057\u3066\u4f53\u88c1\u3092\u6574\u3048\u3066\u30fb\u30fb\u307f\u305f\u3044\u306a\u306e\u304c\u9762\u5012\u3060\u3063\u305f\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u51e6\u7406\u3092\u81ea\u52d5\u5316\u3059\u308bBash\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u307e\u3060\u7ffb\u8a33\u3055\u308c\u3066\u3044\u306a\u3044\u65e5\u672c\u8a9e\u8a18\u4e8b\u3092\u898b\u3064\u3051\u308b\u3002<\/li>\n\n\n\n<li><strong>WordPress\u306e\u30d6\u30ed\u30c3\u30af\u5b9a\u7fa9\uff08JSON\uff09\u3084\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u3092\u4fdd\u8b77\u3059\u308b<\/strong><\/li>\n\n\n\n<li>trans \u30b3\u30de\u30f3\u30c9\u3067\u30bf\u30a4\u30c8\u30eb\u3068\u672c\u6587\u3092\u82f1\u8a9e\u5316\u3002<\/li>\n\n\n\n<li>WP-CLI\u3092\u4f7f\u3063\u3066\u82f1\u8a9e\u8a18\u4e8b\u3092\u6295\u7a3f\u3002<\/li>\n\n\n\n<li>Bogo\u306e\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u3001\u65e5\u672c\u8a9e\u8a18\u4e8b\u3068\u82f1\u8a9e\u8a18\u4e8b\u3092\u300c\u7ffb\u8a33\u30da\u30a2\u300d\u3068\u3057\u3066\u30ea\u30f3\u30af\u3055\u305b\u308b\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u30cf\u30de\u3063\u305f\u90e8\u5206<\/strong><\/p>\n\n\n\n<p>\u5358\u7d14\u306b\u7ffb\u8a33\u30b3\u30de\u30f3\u30c9\u3092\u901a\u3059\u3060\u3051\u3060\u3068\u3001WordPress\u306e\u30d6\u30ed\u30c3\u30af\u30a8\u30c7\u30a3\u30bf\uff08Gutenberg\uff09\u306a\u3069\u304c\u6301\u3064\u30c7\u30fc\u30bf\u69cb\u9020\u304c\u58ca\u308c\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u5224\u660e\u3057\u307e\u3057\u305f\u3002\u7279\u306b\u4ee5\u4e0b\u306e2\u70b9\u304c\u5384\u4ecb\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Code Block Pro\u306a\u3069\u306e\u30d7\u30e9\u30b0\u30a4\u30f3:<\/strong><br>\u30b3\u30fc\u30c9\u8868\u793a\u306bCode Block Pro\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u8868\u793a\u3059\u308b\u30d6\u30ed\u30c3\u30af\u306a\u3069\u306f\u3001\u30c7\u30fc\u30bf\u304cJSON\u5f62\u5f0f\u3067\u4fdd\u5b58\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u7ffb\u8a33\u30c4\u30fc\u30eb\u304cJSON\u5185\u306e \\n\uff08\u6539\u884c\uff09\u3084 &#8220;\uff08\u30af\u30a9\u30fc\u30c8\uff09\u3092\u52dd\u624b\u306b\u5909\u66f4\u3057\u3066\u3057\u307e\u3046\u3068\u3001\u30d6\u30ed\u30c3\u30af\u5168\u4f53\u304c\u58ca\u308c\u3066\u8868\u793a\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u306e\u6d88\u5931:<\/strong><br>\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5909\u6570\u3084 echo \u3092\u7d4c\u7531\u3059\u308b\u3068\u3001\u30a8\u30b9\u30b1\u30fc\u30d7\u6587\u5b57\uff08\\\uff09\u304c\u6d88\u3048\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u8a18\u4e8b\u6295\u7a3f\u6642\u306b\u6539\u884c\u30b3\u30fc\u30c9\u306a\u3069\u304c\u6d88\u5931\u3057\u3001\u30ec\u30a4\u30a2\u30a6\u30c8\u304c\u5d29\u308c\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u6b63\u76f4\u306a\u3068\u3053\u308d\u3001\u3053\u306e\u554f\u984c\u306e\u89e3\u6c7a\u3060\u3051\u3067\u534a\u65e5\u307b\u3069\u6642\u9593\u3092\u53d6\u3089\u308c\u307e\u3057\u305f\u30fb\u30fb\u30fb<br>\u300c\u30b7\u30a7\u30eb\u304b\u3089Perl\u306b\u6e21\u3059\u969b\u306b\u30a8\u30b9\u30b1\u30fc\u30d7\u304c\u6d88\u3048\u3001WordPress\u306b\u6e21\u3059\u969b\u306b\u3082\u307e\u305f\u6d88\u3048\u308b\u300d\u3068\u3044\u3046\u591a\u91cd\u6d88\u6ec5\u30c8\u30e9\u30c3\u30d7\u306b\u306f\u307e\u3063\u305f\u305f\u3081\u3067\u3059\u3002<br>\u3053\u308c\u3089\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u3001\u4eca\u56de\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u306fPerl\u306b\u3088\u308b\u30de\u30b9\u30af\u51e6\u7406\u3068WP\u95a2\u6570\u306e wp_slash \u306e\u6d3b\u7528\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u89e3\u8aac<\/strong><\/p>\n\n\n\n<p><strong>1.\u6e96\u5099<\/strong><\/p>\n\n\n\n<p>\u306f\u3058\u3081\u306b\u3001WordPress\u306e\u30d1\u30b9\u3084URL\u3001\u7ffb\u8a33\u30c4\u30fc\u30eb\u306e\u8a2d\u5b9a\u3092\u884c\u3063\u3066\u3044\u304d\u307e\u3059\u3002Bogo\u306e _trid\uff08\u7ffb\u8a33\u30b0\u30eb\u30fc\u30d7ID\uff09\u3092\u78ba\u8a8d\u3057\u3001\u3059\u3067\u306b\u82f1\u8a9e\u8a18\u4e8b\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>#!\/bin\/bash\n\nWP_PATH=\"\/srv\/www\/htdocs\/blog\" # WordPress\u3092\u7f6e\u3044\u3066\u3044\u308b\u30d1\u30b9\nSITE_URL=\"https:\/\/bokumin.org\" # \u81ea\u5206\u306e\u30b5\u30a4\u30c8URL\n\nWP_CMD=\"wp --path=$WP_PATH --url=$SITE_URL --allow-root\"\n\n# Google\u7ffb\u8a33\u30b3\u30de\u30f3\u30c9 (trans) \u306e\u8a2d\u5b9a\nTRANS_BIN=$(which trans)\n# -b: \u4f59\u8a08\u306a\u51fa\u529b\u3092\u305b\u305a\u7ffb\u8a33\u7d50\u679c\u3060\u3051\u8868\u793a\n# -no-auto: \u81ea\u52d5\u8a00\u8a9e\u5224\u5b9a\u3092\u30aa\u30d5\u306b\u3057\u3066\u9ad8\u901f\u5316\nTRANS_OPTS=\"-b -no-auto :en\"\n\nSLEEP_TIME=20<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#!\/bin\/bash<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WP_PATH<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/srv\/www\/htdocs\/blog<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #464B5D; font-style: italic\"># WordPress\u3092\u7f6e\u3044\u3066\u3044\u308b\u30d1\u30b9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">SITE_URL<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">https:\/\/bokumin.org<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #464B5D; font-style: italic\"># \u81ea\u5206\u306e\u30b5\u30a4\u30c8URL<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WP_CMD<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">wp --path=<\/span><span style=\"color: #BABED8\">$WP_PATH<\/span><span style=\"color: #C3E88D\"> --url=<\/span><span style=\"color: #BABED8\">$SITE_URL<\/span><span style=\"color: #C3E88D\"> --allow-root<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># Google\u7ffb\u8a33\u30b3\u30de\u30f3\u30c9 (trans) \u306e\u8a2d\u5b9a<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TRANS_BIN<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">which<\/span><span style=\"color: #C3E88D\"> trans<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># -b: \u4f59\u8a08\u306a\u51fa\u529b\u3092\u305b\u305a\u7ffb\u8a33\u7d50\u679c\u3060\u3051\u8868\u793a<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># -no-auto: \u81ea\u52d5\u8a00\u8a9e\u5224\u5b9a\u3092\u30aa\u30d5\u306b\u3057\u3066\u9ad8\u901f\u5316<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TRANS_OPTS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">-b -no-auto :en<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">SLEEP_TIME<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #F78C6C\">20<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>2. \u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u53d6\u5f97\u3068\u4fdd\u8b77\uff08Perl\u30b9\u30af\u30ea\u30d7\u30c8\u751f\u6210<\/strong>\uff09<\/p>\n\n\n\n<p>\u8a18\u4e8b\u672c\u6587\u3092\u53d6\u5f97\u3059\u308b\u969b\u3001\u30b7\u30a7\u30eb\u5909\u6570\u3092\u7d4c\u7531\u3059\u308b\u3068\u7279\u6b8a\u6587\u5b57\u304c\u5909\u8cea\u3059\u308b\u305f\u3081\u3001PHP\u7d4c\u7531\u3067\u76f4\u63a5\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3057\u307e\u3059\u3002<br>\u307e\u305f\u3001\u7ffb\u8a33\u524d\u306b\u91cd\u8981\u306a\u90e8\u5206\u3092\u30de\u30b9\u30af\u3059\u308b\u305f\u3081\u306ePerl\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u52d5\u7684\u306b\u751f\u6210\u3057\u307e\u3057\u305f\u3002<br>\u3053\u308c\u306b\u3088\u308a\u3001\u8907\u96d1\u306aJSON\u30c7\u30fc\u30bf\u3092\u542b\u3093\u3060\u30d6\u30ed\u30c3\u30af\u3082\u5b89\u5168\u306b\u7ffb\u8a33\u5bfe\u8c61\u5916\u306b\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$content =~ s{(&lt;!--\\s*\/?wp:.*?-->)}{ push(@masks, $1); \"___MASK_WP_\" . $#masks . \"___\" }gse;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #BABED8\">$content =<\/span><span style=\"color: #89DDFF\">~<\/span><span style=\"color: #BABED8\"> s{<\/span><span style=\"color: #89DDFF\">(&lt;!<\/span><span style=\"color: #FFCB6B\">--\\s*\/?wp:.*?--&gt;<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\">}{ <\/span><span style=\"color: #FFCB6B\">push(@masks,<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #BABED8; font-style: italic\">$1<\/span><span style=\"color: #BABED8\">)<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #FFCB6B\">&quot;___MASK_WP_&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">.<\/span><span style=\"color: #BABED8\"> $<\/span><span style=\"color: #C3E88D\">#masks<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">.<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">___<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">}gse<\/span><span style=\"color: #89DDFF\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>3. \u82f1\u8a9e\u8a18\u4e8b\u306e\u4f5c\u6210<\/strong><br>\u7ffb\u8a33\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092WordPress\u306b\u767b\u9332\u3057\u307e\u3059\u3002<br>\u3053\u3053\u3067\u6700\u3082\u91cd\u8981\u306b\u306a\u308b\u306e\u304c wp_slash() \u3067\u3059\u3002WordPress\u306e\u6295\u7a3f\u95a2\u6570 wp_insert_post \u306f\u3001\u30c7\u30fc\u30bf\u304c\u3059\u3067\u306b\u30a8\u30b9\u30b1\u30fc\u30d7\uff08\u30b9\u30e9\u30c3\u30b7\u30e5\u51e6\u7406\uff09\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u671f\u5f85\u3057\u3066\u3001\u4fdd\u5b58\u6642\u306b unslash\uff08\u30b9\u30e9\u30c3\u30b7\u30e5\u9664\u53bb\uff09\u3092\u884c\u3044\u307e\u3059\u3002<br>\u305d\u306e\u305f\u3081\u3001PHP\u5074\u3067\u4e8b\u524d\u306b wp_slash() \u3092\u304b\u3051\u3066\u304a\u304b\u306a\u3044\u3068\u3001\u8a18\u4e8b\u5185\u306e\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\uff08\\n \u3084 \\u003c \u306a\u3069\uff09\u304c\u3059\u3079\u3066\u6d88\u3048\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u8a18\u4e8b\u304c\u58ca\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># WP-CLI\u306e eval \u30b3\u30de\u30f3\u30c9\u3067 PHP\u30b3\u30fc\u30c9\u3092\u76f4\u63a5\u5b9f\u884c\nen_id=$($WP_CMD eval \"\n    \\$title = base64_decode('$title_b64');\n    \\$content = file_get_contents('$content_file');\n    \n    \/\/ wp_insert_post\u306f\u4fdd\u5b58\u6642\u306b\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u3092\u53d6\u308a\u9664\u304f\u305f\u3081\u4e8b\u524d\u306b wp_slash \u3067\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b\n    \\$content = wp_slash(\\$content);\n    \n    \\$post_data = array(\n        'post_title'    => \\$title,\n        'post_content'  => \\$content,\n        \/\/ ...\n    );\n    \\$id = wp_insert_post(\\$post_data);\n    if (!is_wp_error(\\$id)) { echo \\$id; }\n\")\n  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># WP-CLI\u306e eval \u30b3\u30de\u30f3\u30c9\u3067 PHP\u30b3\u30fc\u30c9\u3092\u76f4\u63a5\u5b9f\u884c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">en_id<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> eval <\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">title = base64_decode(&#39;<\/span><span style=\"color: #BABED8\">$title_b64<\/span><span style=\"color: #C3E88D\">&#39;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content = file_get_contents(&#39;<\/span><span style=\"color: #BABED8\">$content_file<\/span><span style=\"color: #C3E88D\">&#39;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    \/\/ wp_insert_post\u306f\u4fdd\u5b58\u6642\u306b\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u3092\u53d6\u308a\u9664\u304f\u305f\u3081\u4e8b\u524d\u306b wp_slash \u3067\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content = wp_slash(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">post_data = array(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        &#39;post_title&#39;    =&gt; <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">title,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        &#39;post_content&#39;  =&gt; <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        \/\/ ...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    );<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">id = wp_insert_post(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">post_data);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    if (!is_wp_error(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">id)) { echo <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">id; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&quot;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u4f5c\u6210\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8 <\/strong><\/p>\n\n\n\n<p>\u203b\u30d1\u30b9\u3084URL\u306f\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(3 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>#!\/bin\/bash\n\n# \u8a2d\u5b9a\u30a8\u30ea\u30a2\nWP_PATH=\"\/srv\/www\/htdocs\/blog\" # WordPress\u3092\u7f6e\u3044\u3066\u3044\u308b\u30d1\u30b9\nSITE_URL=\"https:\/\/bokumin.org\" # \u81ea\u5206\u306e\u30b5\u30a4\u30c8URL\n\n# wp &amp; trans\u30b3\u30de\u30f3\u30c9\nWP_CMD=\"wp --path=$WP_PATH --url=$SITE_URL --allow-root\"\nTRANS_BIN=$(which trans)\nTRANS_OPTS=\"-b -no-auto :en\"\n\n# \u30b9\u30ea\u30fc\u30d7\u79d2\u6570\nSLEEP_TIME=20\n\n# Perl\u30b9\u30af\u30ea\u30d7\u30c8 \nPERL_SCRIPT=\"\/tmp\/wp_trans_mask.pl\"\n\ncat &lt;&lt; 'EOF' > \"$PERL_SCRIPT\"\nuse strict;\nuse warnings;\nuse utf8;\nuse open ':std', ':encoding(UTF-8)';\n\nmy ($t_bin, $t_opts, $t_out) = @ARGV;\n\n# \u6a19\u6e96\u5165\u529b\u304b\u3089\u8aad\u307f\u8fbc\u307f\nmy $content = do { local $\/; &lt;STDIN> };\nmy @masks = ();\n\n# \u4fdd\u8b77\u51e6\u7406\n# WordPress\u30d6\u30ed\u30c3\u30af (&lt;!-- wp:... -->)\n$content =~ s{(&lt;!--\\s*\/?wp:.*?-->)}{ push(@masks, $1); \"___MASK_WP_\" . $#masks . \"___\" }gse;\n\n# &lt;script>\n$content =~ s{(&lt;script\\b&#91;^>&#93;*>.*?&lt;\/script>)}{ push(@masks, $1); \"___MASK_SCRIPT_\" . $#masks . \"___\" }gse;\n\n# &lt;style>\n$content =~ s{(&lt;style\\b&#91;^>&#93;*>.*?&lt;\/style>)}{ push(@masks, $1); \"___MASK_STYLE_\" . $#masks . \"___\" }gse;\n\n# &lt;pre>\n$content =~ s{(&lt;pre\\b&#91;^>&#93;*>.*?&lt;\/pre>)}{ push(@masks, $1); \"___MASK_PRE_\" . $#masks . \"___\" }gse;\n\n# &lt;code>\n$content =~ s{(&lt;code\\b&#91;^>&#93;*>.*?&lt;\/code>)}{ push(@masks, $1); \"___MASK_CODE_\" . $#masks . \"___\" }gse;\n\n# URL\n$content =~ s{(https?:\/\/&#91;^\\s\"&lt;&#93;+)}{ push(@masks, $1); \"___MASK_URL_\" . $#masks . \"___\" }gse;\n\n# \u7ffb\u8a33\u5b9f\u884c\nopen(my $ph, \"|-\", \"$t_bin $t_opts > $t_out\") or die \"Cannot open pipe to trans\";\nbinmode($ph, \":encoding(UTF-8)\");\nprint $ph $content;\nclose $ph;\n\n# \u5fa9\u5143\u51e6\u7406\nif (-z \"$t_out\") { exit; }\n\nopen(my $fh, \"&lt;:encoding(UTF-8)\", \"$t_out\") or die \"Cannot open translated file\";\nmy $trans_content = do { local $\/; &lt;$fh> };\nclose $fh;\n\n# \u7ffb\u8a33\u6a5f\u304c\u524d\u5f8c\u306b\u30b9\u30da\u30fc\u30b9\u3092\u5165\u308c\u305f\u5834\u5408\u306e\u5bfe\u7b56\n$trans_content =~ s\/___ ?MASK_WP_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;\n$trans_content =~ s\/___ ?MASK_SCRIPT_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;\n$trans_content =~ s\/___ ?MASK_STYLE_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;\n$trans_content =~ s\/___ ?MASK_PRE_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;\n$trans_content =~ s\/___ ?MASK_CODE_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;\n$trans_content =~ s\/___ ?MASK_URL_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;\n\nprint $trans_content;\nEOF\n\n# \u30e1\u30a4\u30f3\u51e6\u7406\u95a2\u6570\nprocess_translation() {\n    local ja_id=$1\n    echo \"========================================\"\n    echo \"Checking Post ID: $ja_id...\"\n\n    # \u30ed\u30b1\u30fc\u30eb\u78ba\u8a8d\n    current_locale=$($WP_CMD post meta get $ja_id _locale)\n    if &#91; \"$current_locale\" == \"en_US\" &#93;; then\n        echo \"-> Skip: Already English.\"\n        return\n    fi\n\n    # \u7ffb\u8a33\u6e08\u307f\u78ba\u8a8d\n    trid=$($WP_CMD post meta get $ja_id _trid)\n    if &#91; -n \"$trid\" &#93;; then\n        existing_en_id=$($WP_CMD post list --post_type=post --format=ids --meta_query=\"&#91;{\\\"key\\\":\\\"_trid\\\",\\\"value\\\":\\\"$trid\\\"},{\\\"key\\\":\\\"_locale\\\",\\\"value\\\":\\\"en_US\\\"}&#93;\")\n        if &#91; -n \"$existing_en_id\" &#93;; then\n            echo \"-> Skip: Translation exists (ID: $existing_en_id).\"\n            return\n        fi\n    fi\n\n    # \u30b3\u30f3\u30c6\u30f3\u30c4\u53d6\u5f97 (PHP\u7d4c\u7531\u3067\u30d5\u30a1\u30a4\u30eb\u3078\u66f8\u304d\u51fa\u3057)\n    TEMP_SRC=$(mktemp)\n    TEMP_TRANS=$(mktemp)\n\n    $WP_CMD eval \"file_put_contents('$TEMP_SRC', get_post_field('post_content', $ja_id));\"\n\n    # \u30bf\u30a4\u30c8\u30eb\u53d6\u5f97\n    ja_title=$($WP_CMD post get $ja_id --field=post_title)\n    ja_author=$($WP_CMD post get $ja_id --field=post_author)\n    \n    ja_date=$($WP_CMD post get $ja_id --field=post_date)\n\n    # \u82f1\u8a9e\u30bf\u30a4\u30c8\u30eb\u62bd\u51fa\n    extracted_en_title=$(cat \"$TEMP_SRC\" | sed 's\/&lt;&#91;^>&#93;*>\/\/g' | head -n 5 | grep -E \"^&#91;A-Za-z0-9 \\+\\-\\.\\!\\?&#93;+$\" | head -n 1)\n\n    if &#91; -n \"$extracted_en_title\" &#93;; then\n        en_title=\"$extracted_en_title\"\n    else\n        en_title=$(echo \"$ja_title\" | $TRANS_BIN $TRANS_OPTS)\n        sleep 2\n    fi\n\n    # \u7ffb\u8a33\u5b9f\u884c (Perl\u30b9\u30af\u30ea\u30d7\u30c8)\n    echo \"Translating Content...\"\n    \n    perl \"$PERL_SCRIPT\" \"$TRANS_BIN\" \"$TRANS_OPTS\" \"$TEMP_TRANS\" &lt; \"$TEMP_SRC\" > \"$TEMP_TRANS.final\"\n\n    if &#91; ! -s \"$TEMP_TRANS.final\" &#93;; then\n        echo \"&#91;ERROR&#93; Translation failed. Skipping.\"\n        rm \"$TEMP_SRC\" \"$TEMP_TRANS\" \"$TEMP_TRANS.final\"\n        return\n    fi\n\n    # \u8a18\u4e8b\u4f5c\u6210 (\u65e5\u4ed8\u540c\u671f &amp; wp_slash)\n    echo \"Creating English Post...\"\n    \n    title_b64=$(echo -n \"$en_title\" | base64 | tr -d '\\n')\n    content_file=\"$TEMP_TRANS.final\"\n\n    en_id=$($WP_CMD eval \"\n        \\$title = base64_decode('$title_b64');\n        \\$date   = '$ja_date';\n        \n        if (file_exists('$content_file')) {\n            \\$content = file_get_contents('$content_file');\n            \n            \/\/ wp_slash\u3067\u30a8\u30b9\u30b1\u30fc\u30d7\n            \\$content = wp_slash(\\$content);\n            \n            \\$post_data = array(\n                'post_title'    => \\$title,\n                'post_content'  => \\$content,\n                'post_status'   => 'publish',\n                'post_author'   => $ja_author,\n                'post_date'     => \\$date, \/\/ \u65e5\u4ed8\u3092\u6307\u5b9a\n                'post_type'     => 'post'\n            );\n            \\$id = wp_insert_post(\\$post_data);\n            if (!is_wp_error(\\$id)) { echo \\$id; } else { echo 0; }\n        }\n    \")\n\n    rm \"$TEMP_SRC\" \"$TEMP_TRANS\" \"$TEMP_TRANS.final\"\n\n    if &#91; -z \"$en_id\" &#93; || &#91; \"$en_id\" -eq 0 &#93;; then\n        echo \"&#91;ERROR&#93; Failed to create post.\"\n        return\n    fi\n\n    echo \"Created Post ID: $en_id (Date: $ja_date)\"\n\n    # Bogo\u8a2d\u5b9a\n    $WP_CMD post meta update $ja_id _locale ja\n    $WP_CMD post meta update $en_id _locale en_US\n    if &#91; -z \"$trid\" &#93;; then\n        trid=$(date +%s)\n        $WP_CMD post meta update $ja_id _trid $trid\n    fi\n    $WP_CMD post meta update $en_id _trid $trid\n    \n    # \u30ab\u30c6\u30b4\u30ea\u30fb\u30bf\u30b0\u5f15\u304d\u7d99\u304e\n    $WP_CMD eval \"\n        \\$ja_id = $ja_id;\n        \\$en_id = $en_id;\n        \\$taxonomies = array('category', 'post_tag');\n        foreach (\\$taxonomies as \\$tax) {\n            \\$ja_term_ids = wp_get_object_terms(\\$ja_id, \\$tax, array('fields' => 'ids'));\n            if ( ! is_wp_error(\\$ja_term_ids) &amp;&amp; ! empty(\\$ja_term_ids) ) {\n                wp_set_object_terms(\\$en_id, \\$ja_term_ids, \\$tax);\n            }\n        }\n    \"\n    \n    echo \"Done. Sleeping $SLEEP_TIME seconds...\"\n    sleep $SLEEP_TIME\n}\n\n# \u30eb\u30fc\u30d7\u51e6\u7406\nids_ja=$($WP_CMD post list --post_type=post --format=ids --posts_per_page=-1 --meta_key=_locale --meta_value=ja --orderby=date --order=ASC)\nids_none=$($WP_CMD post list --post_type=post --format=ids --posts_per_page=-1 --meta_query='&#91;{\"key\":\"_locale\",\"compare\":\"NOT EXISTS\"}&#93;' --orderby=date --order=ASC)\nids=$(echo \"$ids_ja $ids_none\" | tr ' ' '\\n' | sort -n)\n# \u6700\u65b0\u306e1\u8a18\u4e8b\u306e\u307f\u3067\u3044\u3044\u5834\u5408\u306f\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u5916\u3059\n#ids=$($WP_CMD post list --post_type=post --format=ids --posts_per_page=1 --meta_key=_locale --meta_value=ja --orderby=date --order=DESC)\nif &#91; -z \"$(echo $ids | tr -d ' ')\" &#93;; then\n    echo \"No target posts found.\"\n    exit 0\nfi\n\nfor id in $ids; do\n    process_translation $id\ndone\n\nrm -f \"$PERL_SCRIPT\"\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#!\/bin\/bash<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u8a2d\u5b9a\u30a8\u30ea\u30a2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WP_PATH<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/srv\/www\/htdocs\/blog<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #464B5D; font-style: italic\"># WordPress\u3092\u7f6e\u3044\u3066\u3044\u308b\u30d1\u30b9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">SITE_URL<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">https:\/\/bokumin.org<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #464B5D; font-style: italic\"># \u81ea\u5206\u306e\u30b5\u30a4\u30c8URL<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># wp &amp; trans\u30b3\u30de\u30f3\u30c9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WP_CMD<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">wp --path=<\/span><span style=\"color: #BABED8\">$WP_PATH<\/span><span style=\"color: #C3E88D\"> --url=<\/span><span style=\"color: #BABED8\">$SITE_URL<\/span><span style=\"color: #C3E88D\"> --allow-root<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TRANS_BIN<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">which<\/span><span style=\"color: #C3E88D\"> trans<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TRANS_OPTS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">-b -no-auto :en<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u30b9\u30ea\u30fc\u30d7\u79d2\u6570<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">SLEEP_TIME<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #F78C6C\">20<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># Perl\u30b9\u30af\u30ea\u30d7\u30c8 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">PERL_SCRIPT<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/tmp\/wp_trans_mask.pl<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;&lt;<\/span><span style=\"color: #BABED8\"> &#39;<\/span><span style=\"color: #89DDFF\">EOF<\/span><span style=\"color: #BABED8\">&#39; <\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$PERL_SCRIPT<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">use strict;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">use warnings;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">use utf8;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">use open &#39;:std&#39;, &#39;:encoding(UTF-8)&#39;;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">my ($t_bin, $t_opts, $t_out) = @ARGV;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># \u6a19\u6e96\u5165\u529b\u304b\u3089\u8aad\u307f\u8fbc\u307f<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">my $content = do { local $\/; &lt;STDIN&gt; };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">my @masks = ();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># \u4fdd\u8b77\u51e6\u7406<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># WordPress\u30d6\u30ed\u30c3\u30af (&lt;!-- wp:... --&gt;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$content =~ s{(&lt;!--\\s*\/?wp:.*?--&gt;)}{ push(@masks, $1); &quot;___MASK_WP_&quot; . $#masks . &quot;___&quot; }gse;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># &lt;script&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$content =~ s{(&lt;script\\b&#91;^&gt;&#93;*&gt;.*?&lt;\/script&gt;)}{ push(@masks, $1); &quot;___MASK_SCRIPT_&quot; . $#masks . &quot;___&quot; }gse;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># &lt;style&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$content =~ s{(&lt;style\\b&#91;^&gt;&#93;*&gt;.*?&lt;\/style&gt;)}{ push(@masks, $1); &quot;___MASK_STYLE_&quot; . $#masks . &quot;___&quot; }gse;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># &lt;pre&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$content =~ s{(&lt;pre\\b&#91;^&gt;&#93;*&gt;.*?&lt;\/pre&gt;)}{ push(@masks, $1); &quot;___MASK_PRE_&quot; . $#masks . &quot;___&quot; }gse;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># &lt;code&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$content =~ s{(&lt;code\\b&#91;^&gt;&#93;*&gt;.*?&lt;\/code&gt;)}{ push(@masks, $1); &quot;___MASK_CODE_&quot; . $#masks . &quot;___&quot; }gse;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$content =~ s{(https?:\/\/&#91;^\\s&quot;&lt;&#93;+)}{ push(@masks, $1); &quot;___MASK_URL_&quot; . $#masks . &quot;___&quot; }gse;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># \u7ffb\u8a33\u5b9f\u884c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">open(my $ph, &quot;|-&quot;, &quot;$t_bin $t_opts &gt; $t_out&quot;) or die &quot;Cannot open pipe to trans&quot;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">binmode($ph, &quot;:encoding(UTF-8)&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">print $ph $content;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">close $ph;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># \u5fa9\u5143\u51e6\u7406<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">if (-z &quot;$t_out&quot;) { exit; }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">open(my $fh, &quot;&lt;:encoding(UTF-8)&quot;, &quot;$t_out&quot;) or die &quot;Cannot open translated file&quot;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">my $trans_content = do { local $\/; &lt;$fh&gt; };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">close $fh;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"># \u7ffb\u8a33\u6a5f\u304c\u524d\u5f8c\u306b\u30b9\u30da\u30fc\u30b9\u3092\u5165\u308c\u305f\u5834\u5408\u306e\u5bfe\u7b56<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$trans_content =~ s\/___ ?MASK_WP_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$trans_content =~ s\/___ ?MASK_SCRIPT_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$trans_content =~ s\/___ ?MASK_STYLE_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$trans_content =~ s\/___ ?MASK_PRE_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$trans_content =~ s\/___ ?MASK_CODE_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">$trans_content =~ s\/___ ?MASK_URL_ ?(\\d+) ?___\/$masks&#91;$1&#93;\/g;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">print $trans_content;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">EOF<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u30e1\u30a4\u30f3\u51e6\u7406\u95a2\u6570<\/span><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">process_translation<\/span><span style=\"color: #89DDFF\">()<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #C792EA\">local<\/span><span style=\"color: #BABED8\"> ja_id<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #BABED8; font-style: italic\">$1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">========================================<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Checking Post ID: <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\">...<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u30ed\u30b1\u30fc\u30eb\u78ba\u8a8d<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    current_locale<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post meta get <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\"> _locale<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$current_locale<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">==<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">en_US<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">-&gt; Skip: Already English.<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">return<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u7ffb\u8a33\u6e08\u307f\u78ba\u8a8d<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    trid<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post meta get <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\"> _trid<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-n<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$trid<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        existing_en_id<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post list --post_type=post --format=ids --meta_query=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">&#91;{<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">key<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">:<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">_trid<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">,<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">value<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">:<\/span><span style=\"color: #BABED8\">\\&quot;$trid\\&quot;<\/span><span style=\"color: #C3E88D\">},{<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">key<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">:<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">_locale<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">,<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">value<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">:<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">en_US<\/span><span style=\"color: #BABED8\">\\&quot;<\/span><span style=\"color: #C3E88D\">}&#93;<\/span><span style=\"color: #89DDFF\">&quot;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-n<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$existing_en_id<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">-&gt; Skip: Translation exists (ID: <\/span><span style=\"color: #BABED8\">$existing_en_id<\/span><span style=\"color: #C3E88D\">).<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #89DDFF; font-style: italic\">return<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u30b3\u30f3\u30c6\u30f3\u30c4\u53d6\u5f97 (PHP\u7d4c\u7531\u3067\u30d5\u30a1\u30a4\u30eb\u3078\u66f8\u304d\u51fa\u3057)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    TEMP_SRC<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">mktemp<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    TEMP_TRANS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">mktemp<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    $WP_CMD <\/span><span style=\"color: #C3E88D\">eval<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">file_put_contents(&#39;<\/span><span style=\"color: #BABED8\">$TEMP_SRC<\/span><span style=\"color: #C3E88D\">&#39;, get_post_field(&#39;post_content&#39;, <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\">));<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u30bf\u30a4\u30c8\u30eb\u53d6\u5f97<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    ja_title<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post get <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\"> --field=post_title<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    ja_author<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post get <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\"> --field=post_author<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    ja_date<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post get <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\"> --field=post_date<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u82f1\u8a9e\u30bf\u30a4\u30c8\u30eb\u62bd\u51fa<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    extracted_en_title<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">cat<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_SRC<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">sed<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">s\/&lt;&#91;^&gt;&#93;*&gt;\/\/g<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">head<\/span><span style=\"color: #C3E88D\"> -n <\/span><span style=\"color: #F78C6C\">5<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">grep<\/span><span style=\"color: #C3E88D\"> -E <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">^&#91;A-Za-z0-9 \\+\\-\\.\\!\\?&#93;+$<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">head<\/span><span style=\"color: #C3E88D\"> -n <\/span><span style=\"color: #F78C6C\">1<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-n<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$extracted_en_title<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        en_title<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$extracted_en_title<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        en_title<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$ja_title<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #BABED8\">$TRANS_BIN<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #BABED8\">$TRANS_OPTS<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #FFCB6B\">sleep<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u7ffb\u8a33\u5b9f\u884c (Perl\u30b9\u30af\u30ea\u30d7\u30c8)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Translating Content...<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">perl<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$PERL_SCRIPT<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TRANS_BIN<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TRANS_OPTS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_SRC<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #C3E88D\">.final<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">!<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-s<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #C3E88D\">.final<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">&#91;ERROR&#93; Translation failed. Skipping.<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #FFCB6B\">rm<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_SRC<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #C3E88D\">.final<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">return<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u8a18\u4e8b\u4f5c\u6210 (\u65e5\u4ed8\u540c\u671f &amp; wp_slash)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Creating English Post...<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    title_b64<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> -n <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$en_title<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">base64<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">tr<\/span><span style=\"color: #C3E88D\"> -d <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">\\n<\/span><span style=\"color: #89DDFF\">&#39;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    content_file<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #C3E88D\">.final<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    en_id<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> eval <\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">title = base64_decode(&#39;<\/span><span style=\"color: #BABED8\">$title_b64<\/span><span style=\"color: #C3E88D\">&#39;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">date   = &#39;<\/span><span style=\"color: #BABED8\">$ja_date<\/span><span style=\"color: #C3E88D\">&#39;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        if (file_exists(&#39;<\/span><span style=\"color: #BABED8\">$content_file<\/span><span style=\"color: #C3E88D\">&#39;)) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content = file_get_contents(&#39;<\/span><span style=\"color: #BABED8\">$content_file<\/span><span style=\"color: #C3E88D\">&#39;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            \/\/ wp_slash\u3067\u30a8\u30b9\u30b1\u30fc\u30d7<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content = wp_slash(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">post_data = array(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                &#39;post_title&#39;    =&gt; <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">title,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                &#39;post_content&#39;  =&gt; <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">content,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                &#39;post_status&#39;   =&gt; &#39;publish&#39;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                &#39;post_author&#39;   =&gt; <\/span><span style=\"color: #BABED8\">$ja_author<\/span><span style=\"color: #C3E88D\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                &#39;post_date&#39;     =&gt; <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">date, \/\/ \u65e5\u4ed8\u3092\u6307\u5b9a<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                &#39;post_type&#39;     =&gt; &#39;post&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            );<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">id = wp_insert_post(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">post_data);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            if (!is_wp_error(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">id)) { echo <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">id; } else { echo 0; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #89DDFF\">&quot;)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">rm<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_SRC<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TEMP_TRANS<\/span><span style=\"color: #C3E88D\">.final<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-z<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$en_id<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">||<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$en_id<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-eq<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">0<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">&#91;ERROR&#93; Failed to create post.<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">return<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Created Post ID: <\/span><span style=\"color: #BABED8\">$en_id<\/span><span style=\"color: #C3E88D\"> (Date: <\/span><span style=\"color: #BABED8\">$ja_date<\/span><span style=\"color: #C3E88D\">)<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># Bogo\u8a2d\u5b9a<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    $WP_CMD <\/span><span style=\"color: #C3E88D\">post<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">meta<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">update<\/span><span style=\"color: #BABED8\"> $ja_id <\/span><span style=\"color: #C3E88D\">_locale<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ja<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    $WP_CMD <\/span><span style=\"color: #C3E88D\">post<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">meta<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">update<\/span><span style=\"color: #BABED8\"> $en_id <\/span><span style=\"color: #C3E88D\">_locale<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">en_US<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-z<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$trid<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        trid<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">date<\/span><span style=\"color: #C3E88D\"> +%s<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        $WP_CMD <\/span><span style=\"color: #C3E88D\">post<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">meta<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">update<\/span><span style=\"color: #BABED8\"> $ja_id <\/span><span style=\"color: #C3E88D\">_trid<\/span><span style=\"color: #BABED8\"> $trid<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    $WP_CMD <\/span><span style=\"color: #C3E88D\">post<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">meta<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">update<\/span><span style=\"color: #BABED8\"> $en_id <\/span><span style=\"color: #C3E88D\">_trid<\/span><span style=\"color: #BABED8\"> $trid<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u30ab\u30c6\u30b4\u30ea\u30fb\u30bf\u30b0\u5f15\u304d\u7d99\u304e<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    $WP_CMD <\/span><span style=\"color: #C3E88D\">eval<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">ja_id = <\/span><span style=\"color: #BABED8\">$ja_id<\/span><span style=\"color: #C3E88D\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">en_id = <\/span><span style=\"color: #BABED8\">$en_id<\/span><span style=\"color: #C3E88D\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">taxonomies = array(&#39;category&#39;, &#39;post_tag&#39;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        foreach (<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">taxonomies as <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">tax) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">ja_term_ids = wp_get_object_terms(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">ja_id, <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">tax, array(&#39;fields&#39; =&gt; &#39;ids&#39;));<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            if ( ! is_wp_error(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">ja_term_ids) &amp;&amp; ! empty(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">ja_term_ids) ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">                wp_set_object_terms(<\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">en_id, <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">ja_term_ids, <\/span><span style=\"color: #BABED8\">\\$<\/span><span style=\"color: #C3E88D\">tax);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">            }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    <\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Done. Sleeping <\/span><span style=\"color: #BABED8\">$SLEEP_TIME<\/span><span style=\"color: #C3E88D\"> seconds...<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">sleep<\/span><span style=\"color: #BABED8\"> $SLEEP_TIME<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u30eb\u30fc\u30d7\u51e6\u7406<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">ids_ja<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post list --post_type=post --format=ids --posts_per_page=-1 --meta_key=_locale --meta_value=ja --orderby=date --order=ASC<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">ids_none<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post list --post_type=post --format=ids --posts_per_page=-1 --meta_query=<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">&#91;{&quot;key&quot;:&quot;_locale&quot;,&quot;compare&quot;:&quot;NOT EXISTS&quot;}&#93;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\"> --orderby=date --order=ASC<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">ids<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$ids_ja<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #BABED8\">$ids_none<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">tr<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">\\n<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">sort<\/span><span style=\"color: #C3E88D\"> -n<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u6700\u65b0\u306e1\u8a18\u4e8b\u306e\u307f\u3067\u3044\u3044\u5834\u5408\u306f\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u5916\u3059<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#ids=$($WP_CMD post list --post_type=post --format=ids --posts_per_page=1 --meta_key=_locale --meta_value=ja --orderby=date --order=DESC)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-z<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;$(<\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #BABED8\">$ids<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">tr<\/span><span style=\"color: #C3E88D\"> -d <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;)&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">No target posts found.<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">exit<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">for<\/span><span style=\"color: #BABED8\"> id <\/span><span style=\"color: #89DDFF; font-style: italic\">in<\/span><span style=\"color: #BABED8\"> $ids<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">process_translation<\/span><span style=\"color: #BABED8\"> $id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">done<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">rm<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-f<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$PERL_SCRIPT<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Google\u7ffb\u8a33API\u306e\u5236\u9650\uff08400 Bad Request\uff09\u3092\u907f\u3051\u308b\u305f\u3081\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u5185\u3067\u306f1\u8a18\u4e8b\u3054\u3068\u306b20\u79d2\u306e\u30b9\u30ea\u30fc\u30d7\u3092\u5165\u308c\u3066\u3044\u307e\u3059\u3002\u8a18\u4e8b\u6570\u304c\u591a\u3044\u5834\u5408\u306f\u5b9f\u884c\u306b\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u304c\u3001\u653e\u7f6e\u3057\u3066\u304a\u3051\u3070\u7d42\u308f\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u6700\u65b0\u306e\u8a18\u4e8b\u3060\u3051\u3092\u53d6\u5f97\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u6700\u5f8c\u306eids\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4fee\u6b63\u3057\u3066\u3082\u3089\u3048\u308c\u3070\u5927\u4e08\u592b\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>ids=$($WP_CMD post list --post_type=post --format=ids --posts_per_page=1 --meta_key=_locale --meta_value=ja --orderby=date --order=DESC)\n\nfor id in $ids; do\n    process_translation $id\ndone<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #BABED8\">ids<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #BABED8\">$WP_CMD<\/span><span style=\"color: #C3E88D\"> post list --post_type=post --format=ids --posts_per_page=1 --meta_key=_locale --meta_value=ja --orderby=date --order=DESC<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">for<\/span><span style=\"color: #BABED8\"> id <\/span><span style=\"color: #89DDFF; font-style: italic\">in<\/span><span style=\"color: #BABED8\"> $ids<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">process_translation<\/span><span style=\"color: #BABED8\"> $id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">done<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u304a\u307e\u3051\uff1aWordPress\u5916\u306e\u9759\u7684\u30da\u30fc\u30b8\u3092\u591a\u8a00\u8a9e\u5316\u3059\u308b\u65b9\u6cd5\u203b\u8208\u5473\u306a\u3044\u65b9\u306f\u98db\u3070\u3057\u3066\u304f\u3060\u3055\u3044<\/strong><\/summary>\n<p>\u79c1\u306e\u30b5\u30a4\u30c8\u69cb\u6210\u306f\u30d6\u30ed\u30b0\u90e8\u5206\uff08\/blog\/\uff09\u306fWordPress\u3067\u3059\u304c\u3001\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\uff08\/\uff09\u3084\u30c4\u30fc\u30eb\u7f6e\u304d\u5834\uff08\/others\/\uff09\u306f<strong>WordPress\u3092\u4f7f\u308f\u306a\u3044\u81ea\u4f5c\u306ePHP\u30da\u30fc\u30b8<\/strong>\u3067\u52d5\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>Bogo\u306fWordPress\u5185\u3057\u304b\u7ba1\u7406\u3057\u3066\u304f\u308c\u306a\u3044\u305f\u3081\u3001\u3053\u308c\u3089\u306e\u30da\u30fc\u30b8\u3092\u9023\u643a\u3055\u305b\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br>index_en.php\u306a\u3069\u3092\u4f5c\u3063\u3066\u3082\u826f\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u7ba1\u7406\u304c\u7169\u96d1\u306b\u306a\u308b\u305f\u3081\u5374\u4e0b\u3057<strong>\u300c\u30d5\u30a1\u30a4\u30eb\u306f1\u3064\u306e\u307e\u307e\u3001URL\u306b\u3088\u3063\u3066\u8868\u793a\u8a00\u8a9e\u3092\u5207\u308a\u66ff\u3048\u308b\u300d<\/strong>\u4ed5\u7d44\u307f\u3092\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. \u30b5\u30fc\u30d0\u30fc\u8a2d\u5b9a (.htaccess)<\/h4>\n\n\n\n<p>\u307e\u305a\u3001\u7269\u7406\u7684\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u3089\u305a\u306b \/en\/ \u3068\u3044\u3046URL\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3001Apache\u306e mod_rewrite \u3092\u4f7f\u3063\u3066\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8ee2\u9001\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u308c\u306b\u3088\u3063\u3066\u3001\/en\/ \u306b\u30a2\u30af\u30bb\u30b9\u304c\u6765\u3066\u3082\u3001\u30b5\u30fc\u30d0\u30fc\u5185\u90e8\u3067\u306f\u30eb\u30fc\u30c8\u306e index.php \u304c\u51e6\u7406\u3092\u884c\u3046\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002 <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>RewriteEngine On\nRewriteBase \/\n\n# \u30c8\u30c3\u30d7\u30da\u30fc\u30b8 (\/en\/ -> index.php)\nRewriteRule ^en\/?$ index.php &#91;L&#93;\n\n# \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea (\/others\/en\/ -> others\/index.php)\nRewriteRule ^others\/en\/?$ others\/index.php &#91;L&#93;\nRewriteRule ^others\/en\/(.*)$ others\/$1 &#91;L&#93;\n\n# \u7279\u5b9a\u306e\u30d5\u30a1\u30a4\u30eb (\/en\/app-list.php -> app-list.php)\nRewriteRule ^en\/(.*)$ $1 &#91;L&#93;\n  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">RewriteEngine<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">On<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">RewriteBase<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u30c8\u30c3\u30d7\u30da\u30fc\u30b8 (\/en\/ -&gt; index.php)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">RewriteRule<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">^en\/?<\/span><span style=\"color: #BABED8\">$ <\/span><span style=\"color: #C3E88D\">index.php<\/span><span style=\"color: #BABED8\"> &#91;L&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea (\/others\/en\/ -&gt; others\/index.php)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">RewriteRule<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">^others\/en\/?<\/span><span style=\"color: #BABED8\">$ <\/span><span style=\"color: #C3E88D\">others\/index.php<\/span><span style=\"color: #BABED8\"> &#91;L&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">RewriteRule<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">^others\/en\/<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #82AAFF\">.<\/span><span style=\"color: #BABED8\">*<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\">$ <\/span><span style=\"color: #C3E88D\">others\/<\/span><span style=\"color: #BABED8; font-style: italic\">$1<\/span><span style=\"color: #BABED8\"> &#91;L&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u7279\u5b9a\u306e\u30d5\u30a1\u30a4\u30eb (\/en\/app-list.php -&gt; app-list.php)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">RewriteRule<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">^en\/<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #82AAFF\">.<\/span><span style=\"color: #BABED8\">*<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\">$ <\/span><span style=\"color: #BABED8; font-style: italic\">$1<\/span><span style=\"color: #BABED8\"> &#91;L&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">2. PHP\u5074\u3067\u306e\u8a00\u8a9e\u5224\u5b9a<\/h4>\n\n\n\n<p>\u6b21\u306b\u3001PHP\u5074\uff08header.php \u306a\u3069\uff09\u3067\u300c\u4eca\u306eURL\u306f\u82f1\u8a9e\u304b\u3069\u3046\u304b\uff1f\u300d\u3092\u5224\u5b9a\u3059\u308b\u30ed\u30b8\u30c3\u30af\u3092\u5165\u308c\u307e\u3059\u3002<br>WordPress\u306e\u95a2\u6570\u306f\u4f7f\u3048\u306a\u3044\u305f\u3081\u3001$_SERVER[&#8216;REQUEST_URI&#8217;] \u3092\u76f4\u63a5\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002 <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;?php\n\/\/ \u73fe\u5728\u306eURL\u304c '\/en' \u307e\u305f\u306f '\/blog\/en' \u3067\u59cb\u307e\u3063\u3066\u3044\u308b\u304b\u5224\u5b9a\n$is_english = false;\nif (isset($_SERVER&#91;'REQUEST_URI'&#93;) &amp;&amp; preg_match('#^(\/blog)?\/en(\/|$)#', $_SERVER&#91;'REQUEST_URI'&#93;)) {\n    $is_english = true;\n}\n\n\/\/ \u5185\u90e8\u30ea\u30f3\u30af\u7528\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u4f5c\u6210\n\/\/ \u82f1\u8a9e\u306a\u3089 '\/en'\u3001\u65e5\u672c\u8a9e\u306a\u3089 '' (\u7a7a\u6587\u5b57)\n$link_prefix = $is_english ? '\/en' : '';\n?>\n  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;?<\/span><span style=\"color: #BABED8\">php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">\/\/ \u73fe\u5728\u306eURL\u304c &#39;\/en&#39; \u307e\u305f\u306f &#39;\/blog\/en&#39; \u3067\u59cb\u307e\u3063\u3066\u3044\u308b\u304b\u5224\u5b9a<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">is_english <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">false;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #82AAFF\">isset<\/span><span style=\"color: #89DDFF\">($<\/span><span style=\"color: #BABED8\">_SERVER<\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">REQUEST_URI<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">&#93;)<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&amp;&amp;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #82AAFF\">preg_match<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">#^(\/blog)?\/en(\/|$)#<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">_SERVER<\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">REQUEST_URI<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">&#93;))<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">is_english <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">true;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">\/\/ \u5185\u90e8\u30ea\u30f3\u30af\u7528\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u4f5c\u6210<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">\/\/ \u82f1\u8a9e\u306a\u3089 &#39;\/en&#39;\u3001\u65e5\u672c\u8a9e\u306a\u3089 &#39;&#39; (\u7a7a\u6587\u5b57)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">link_prefix <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">is_english <\/span><span style=\"color: #89DDFF\">?<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">\/en<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;&#39;<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">3. \u8868\u793a\u306e\u5207\u308a\u66ff\u3048\uff08\u7c21\u6613\u7ffb\u8a33\u95a2\u6570\uff09<\/h4>\n\n\n\n<p>\u65e5\u672c\u8a9e\u3068\u82f1\u8a9e\u3092\u5207\u308a\u66ff\u3048\u308b\u305f\u3081\u306b\u3001\u30b7\u30f3\u30d7\u30eb\u306a\u30d8\u30eb\u30d1\u30fc\u95a2\u6570 _t() \u3092\u5b9a\u7fa9\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u3092\u4f7f\u3046\u3068\u3001HTML\u5185\u304c\u30b9\u30c3\u30ad\u30ea\u3057\u307e\u3059\u3002 <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;?php\n\/\/ \u7c21\u6613\u7ffb\u8a33\u95a2\u6570\nfunction _t($ja, $en) {\n    global $is_english;\n    echo $is_english ? $en : $ja;\n}\n?>\n\n&lt;!-- \u4f7f\u7528\u4f8b -->\n&lt;h2>&lt;?php _t('\u3088\u3046\u3053\u305d', 'Welcome'); ?>&lt;\/h2>\n\n&lt;p>\n    &lt;?php _t(\n        '\u3053\u306e\u30b5\u30a4\u30c8\u306f\u6280\u8853\u30d6\u30ed\u30b0\u3067\u3059\u3002', \n        'This site is a technical blog.'\n    ); ?>\n&lt;\/p>\n\n&lt;!-- \u30ea\u30f3\u30af\u3082\u81ea\u52d5\u3067\u82f1\u8a9e\u7528\u306b -->\n&lt;a href=\"&lt;?php echo $link_prefix; ?>\/others\">Others&lt;\/a>&lt;\/code>\n  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;?<\/span><span style=\"color: #BABED8\">php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">\/\/ \u7c21\u6613\u7ffb\u8a33\u95a2\u6570<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C792EA\">function<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #82AAFF\">_t<\/span><span style=\"color: #89DDFF\">($<\/span><span style=\"color: #BABED8\">ja<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">en<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #C792EA\">global<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">is_english<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">is_english <\/span><span style=\"color: #89DDFF\">?<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">en <\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">ja<\/span><span style=\"color: #89DDFF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">?&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;!--<\/span><span style=\"color: #BABED8\"> \u4f7f\u7528\u4f8b <\/span><span style=\"color: #89DDFF\">--&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #BABED8\">h2<\/span><span style=\"color: #89DDFF\">&gt;&lt;?<\/span><span style=\"color: #BABED8\">php <\/span><span style=\"color: #82AAFF\">_t<\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">\u3088\u3046\u3053\u305d<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">Welcome<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">);<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">?&gt;&lt;\/<\/span><span style=\"color: #BABED8\">h2<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #BABED8\">p<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF\">&lt;?<\/span><span style=\"color: #BABED8\">php <\/span><span style=\"color: #82AAFF\">_t<\/span><span style=\"color: #89DDFF\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">\u3053\u306e\u30b5\u30a4\u30c8\u306f\u6280\u8853\u30d6\u30ed\u30b0\u3067\u3059\u3002<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">This site is a technical blog.<\/span><span style=\"color: #89DDFF\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF\">);<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;\/<\/span><span style=\"color: #BABED8\">p<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;!--<\/span><span style=\"color: #BABED8\"> \u30ea\u30f3\u30af\u3082\u81ea\u52d5\u3067\u82f1\u8a9e\u7528\u306b <\/span><span style=\"color: #89DDFF\">--&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #BABED8\">a href<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">&lt;?php echo <\/span><span style=\"color: #89DDFF\">$<\/span><span style=\"color: #BABED8\">link_prefix<\/span><span style=\"color: #C3E88D\">; ?&gt;\/others<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\">Others<\/span><span style=\"color: #89DDFF\">&lt;\/<\/span><span style=\"color: #BABED8\">a<\/span><span style=\"color: #89DDFF\">&gt;&lt;\/<\/span><span style=\"color: #BABED8\">code<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">4. \u30b5\u30a4\u30c8\u30de\u30c3\u30d7\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u751f\u6210<\/h4>\n\n\n\n<p>\u6700\u5f8c\u306bSEO\u5bfe\u7b56\u3067\u3059\u3002<br>WordPress\u306e\u8a18\u4e8b\u306f wp-cli \u3067\u53d6\u5f97\u3067\u304d\u307e\u3059\u304c\u3001\u3053\u308c\u3089\u306e\u9759\u7684\u30da\u30fc\u30b8\u306fDB\u306b\u306a\u3044\u305f\u3081\u3001\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u300c\u624b\u52d5\u30ea\u30b9\u30c8\u300d\u3068\u300cWP\u306e\u81ea\u52d5\u30ea\u30b9\u30c8\u300d\u3092\u5408\u4f53\u3055\u305b\u3066 sitemap.xml \u3092\u751f\u6210\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># \u9759\u7684\u30da\u30fc\u30b8 (\u4eca\u65e5\u306e\u65e5\u4ed8\u3067\u66f4\u65b0)\nTODAY=$(date +%Y-%m-%d)\necho \"https:\/\/bokumin.org\/,$TODAY\" >> sitemap.tmp\necho \"https:\/\/bokumin.org\/en\/,$TODAY\" >> sitemap.tmp\n\n# WordPress\u8a18\u4e8b (WP-CLI\u3067\u53d6\u5f97)\nwp eval '...' >> sitemap.tmp <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u9759\u7684\u30da\u30fc\u30b8 (\u4eca\u65e5\u306e\u65e5\u4ed8\u3067\u66f4\u65b0)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TODAY<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">date<\/span><span style=\"color: #C3E88D\"> +%Y-%m-%d<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">https:\/\/bokumin.org\/,<\/span><span style=\"color: #BABED8\">$TODAY<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">sitemap.tmp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">https:\/\/bokumin.org\/en\/,<\/span><span style=\"color: #BABED8\">$TODAY<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">sitemap.tmp<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># WordPress\u8a18\u4e8b (WP-CLI\u3067\u53d6\u5f97)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">wp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">eval<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">...<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">sitemap.tmp<\/span><span style=\"color: #BABED8\"> <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>sitemap\u7528\u306e\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5168\u6587\u306f\u3053\u3061\u3089\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"\" style=\"font-size:.875rem;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cat make-sitemap.sh \n#!\/bin\/bash\n\nOUTPUT_FILE=\"\/srv\/www\/htdocs\/sitemap.xml\"\nWEBROOT=\"\/srv\/www\/htdocs\"\nDOMAIN=\"https:\/\/bokumin.org\"\n\nWP_PATH=\"\/srv\/www\/htdocs\/blog\"\nWP_CMD=\"wp --path=$WP_PATH --url=$DOMAIN --allow-root\"\n\ncat > \"$OUTPUT_FILE\" &lt;&lt; 'EOF'\n&lt;?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>\n&lt;urlset xmlns=\"http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\"\n        xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n        xsi:schemaLocation=\"http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\n        http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\/sitemap.xsd\">\nEOF\n\nadd_url_entry() {\n    local url_path=\"$1\"       \n    local file_check_path=\"$2\" \n\n    local full_path=\"$WEBROOT$file_check_path\"\n    local lastmod=\"\"\n\n    if [&#91; -f \"$full_path\" &#93;]; then\n        lastmod=$(date -r \"$full_path\" +%Y-%m-%d)\n    elif [&#91; -d \"$full_path\" &#93;]; then\n        lastmod=$(date -r \"$full_path\" +%Y-%m-%d)\n    else\n        return\n    fi\n\n    cat >> \"$OUTPUT_FILE\" &lt;&lt; EOF\n  &lt;url>\n    &lt;loc>${DOMAIN}${url_path}&lt;\/loc>\n    &lt;lastmod>${lastmod}&lt;\/lastmod>\n  &lt;\/url>\nEOF\n}\n\nadd_url_entry \"\/\"          \"\/index.php\"\nadd_url_entry \"\/en\/\"       \"\/index.php\"\n\nadd_url_entry \"\/others\/\"    \"\/others\/\"\nadd_url_entry \"\/others\/en\/\" \"\/others\/\"\n\nadd_url_entry \"\/art-works\/\"    \"\/art-works\/\"\nadd_url_entry \"\/art-works\/en\/\" \"\/art-works\/\"\n\nadd_url_entry \"\/gpg-public-key.txt\" \"\/gpg-public-key.txt\"\nadd_url_entry \"\/spam-check\/\"        \"\/spam-check\/\"\nadd_url_entry \"\/amedas-dashboard\/\"  \"\/amedas-dashboard\/\"\nadd_url_entry \"\/blog\/\"              \"\/blog\/\"\n\n\n$WP_CMD eval '\n    $posts = get_posts(array(\n        \"post_type\"   => array(\"post\", \"page\"),\n        \"post_status\" => \"publish\",\n        \"numberposts\" => -1,\n    ));\n\n    foreach($posts as $post) {\n        $lastmod = get_the_modified_date(\"Y-m-d\", $post->ID);\n        $url = get_permalink($post->ID);\n        \n        echo $url . \"\\t\" . $lastmod . \"\\n\";\n    }\n' | while IFS=$'\\t' read -r url lastmod; do\n    \n    if &#91; -n \"$url\" &#93;; then\n        cat >> \"$OUTPUT_FILE\" &lt;&lt; EOF\n  &lt;url>\n    &lt;loc>$url&lt;\/loc>\n    &lt;lastmod>$lastmod&lt;\/lastmod>\n  &lt;\/url>\nEOF\n    fi\ndone\n\necho \"&lt;\/urlset>\" >> \"$OUTPUT_FILE\"\nchown wwwrun:wwwrun \"$OUTPUT_FILE\"\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">make-sitemap.sh<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#!\/bin\/bash<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">OUTPUT_FILE<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/srv\/www\/htdocs\/sitemap.xml<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WEBROOT<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/srv\/www\/htdocs<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">DOMAIN<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">https:\/\/bokumin.org<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WP_PATH<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/srv\/www\/htdocs\/blog<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">WP_CMD<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">wp --path=<\/span><span style=\"color: #BABED8\">$WP_PATH<\/span><span style=\"color: #C3E88D\"> --url=<\/span><span style=\"color: #BABED8\">$DOMAIN<\/span><span style=\"color: #C3E88D\"> --allow-root<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$OUTPUT_FILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;&lt;<\/span><span style=\"color: #BABED8\"> &#39;<\/span><span style=\"color: #89DDFF\">EOF<\/span><span style=\"color: #BABED8\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot; ?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">&lt;urlset xmlns=&quot;http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        xsi:schemaLocation=&quot;http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\/sitemap.xsd&quot;&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">EOF<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">add_url_entry<\/span><span style=\"color: #89DDFF\">()<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #C792EA\">local<\/span><span style=\"color: #BABED8\"> url_path<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8; font-style: italic\">$1<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #C792EA\">local<\/span><span style=\"color: #BABED8\"> file_check_path<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8; font-style: italic\">$2<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #C792EA\">local<\/span><span style=\"color: #BABED8\"> full_path<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$WEBROOT$file_check_path<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #C792EA\">local<\/span><span style=\"color: #BABED8\"> lastmod<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">[&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-f<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$full_path<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;];<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        lastmod<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">date<\/span><span style=\"color: #C3E88D\"> -r <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$full_path<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> +%Y-%m-%d<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">elif<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">[&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-d<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$full_path<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;];<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        lastmod<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">date<\/span><span style=\"color: #C3E88D\"> -r <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$full_path<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> +%Y-%m-%d<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">return<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$OUTPUT_FILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;&lt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">EOF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">  &lt;url&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    &lt;loc&gt;<\/span><span style=\"color: #89DDFF\">${<\/span><span style=\"color: #BABED8\">DOMAIN<\/span><span style=\"color: #89DDFF\">}${<\/span><span style=\"color: #BABED8\">url_path<\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #C3E88D\">&lt;\/loc&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    &lt;lastmod&gt;<\/span><span style=\"color: #89DDFF\">${<\/span><span style=\"color: #BABED8\">lastmod<\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #C3E88D\">&lt;\/lastmod&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">  &lt;\/url&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">EOF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">          <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/index.php<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/en\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">       <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/index.php<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/others\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/others\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/others\/en\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/others\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/art-works\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/art-works\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/art-works\/en\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/art-works\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/gpg-public-key.txt<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/gpg-public-key.txt<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/spam-check\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/spam-check\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/amedas-dashboard\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/amedas-dashboard\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">add_url_entry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/blog\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">              <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/blog\/<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">$WP_CMD eval <\/span><span style=\"color: #89DDFF\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    $posts = get_posts(array(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        &quot;post_type&quot;   =&gt; array(&quot;post&quot;, &quot;page&quot;),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        &quot;post_status&quot; =&gt; &quot;publish&quot;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        &quot;numberposts&quot; =&gt; -1,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    ));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    foreach($posts as $post) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        $lastmod = get_the_modified_date(&quot;Y-m-d&quot;, $post-&gt;ID);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        $url = get_permalink($post-&gt;ID);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">        echo $url . &quot;\\t&quot; . $lastmod . &quot;\\n&quot;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">while<\/span><span style=\"color: #BABED8\"> IFS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$&#39;<\/span><span style=\"color: #BABED8\">\\t<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #82AAFF\">read<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-r<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">url<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">lastmod<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-n<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$url<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #FFCB6B\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$OUTPUT_FILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;&lt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">EOF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">  &lt;url&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    &lt;loc&gt;<\/span><span style=\"color: #BABED8\">$url<\/span><span style=\"color: #C3E88D\">&lt;\/loc&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">    &lt;lastmod&gt;<\/span><span style=\"color: #BABED8\">$lastmod<\/span><span style=\"color: #C3E88D\">&lt;\/lastmod&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">  &lt;\/url&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">EOF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">done<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">&lt;\/urlset&gt;<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$OUTPUT_FILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">chown<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">wwwrun:wwwrun<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$OUTPUT_FILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/details>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">\u307e\u3068\u3081<\/h3>\n\n\n\n<p>\u7121\u6599\u304b\u3064\u81ea\u52d5\u3067\u30d6\u30ed\u30b0\u306e\u591a\u8a00\u8a9e\u5316\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002<br>\u6280\u8853\u7cfb\u306e\u8a18\u4e8b\u306f\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u304c\u591a\u304f\u7ffb\u8a33\u304c\u5d29\u308c\u3084\u3059\u3044\u3067\u3059\u304c\u3001Perl\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u30de\u30b9\u30af\u51e6\u7406\u3092\u631f\u3080\u3053\u3068\u3067\u7dba\u9e97\u306b\u7ffb\u8a33\u3067\u304d\u3066\u3044\u307e\u3059\u3002\u305f\u307e\u306b\u3046\u307e\u304f\u7ffb\u8a33\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u3053\u308d\u304c\u3042\u308a\u307e\u3059\u304c\u30fb\u30fb\u307e\u3042\u305d\u3053\u306f\u5f8c\u3067\u76f4\u305b\u3070\u5927\u4e08\u592b\u3067\u3059\uff08\uff09<\/p>\n\n\n\n<p>Bogo\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u6a5f\u80fd\u3067\u3001\u82f1\u8a9e\u8a18\u4e8b\u30fb\u65e5\u672c\u8a9e\u8a18\u4e8b\u306e\u7d5e\u308a\u8fbc\u307f\u3067\u7ba1\u7406\u3082\u3057\u3084\u3059\u3044\u306e\u3067\u3001\u304a\u304b\u3057\u3044\u8a18\u4e8b\u306a\u3069\u304c\u3042\u308c\u3070\u624b\u52d5\u3067\u4fee\u6b63\u3059\u308b\u3053\u3068\u3082\u7c21\u5358\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"458\" src=\"https:\/\/bokumin.org\/blog\/wp-content\/uploads\/2026\/01\/image-600x458.png\" alt=\"\" class=\"wp-image-2632\" srcset=\"https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2026\/01\/image-600x458.png 600w, https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2026\/01\/image-300x229.png 300w, https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2026\/01\/image-768x586.png 768w, https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2026\/01\/image.png 977w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p>\u540c\u3058\u3088\u3046\u306a\u69cb\u6210\u3092\u691c\u8a0e\u3057\u3066\u3044\u308b\u65b9\u306e\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u304a\u308f\u308a<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auto multilingual translation for WordPress blogs using Bogo and Linux commands \u203b\u8aad\u3080\u524d\u306e\u6ce8\u610f\u3053\u306e\u8a18\u4e8b\u3067\u306f\u300c\u5168\u90e8\u81ea\u52d5\u3067\u7ffb\u8a33\u3057\u3066\u516c\u958b\u3059\u308b\u300d\u4ed5\u7d44 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":558,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[62,153,18,19,140,53],"tags":[49,67],"class_list":["post-2365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-linux","category-mysql","category-opensuse","category-website","category-wordpress","tag-apache","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts\/2365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/comments?post=2365"}],"version-history":[{"count":31,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts\/2365\/revisions"}],"predecessor-version":[{"id":2866,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts\/2365\/revisions\/2866"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/media\/558"}],"wp:attachment":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/media?parent=2365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/categories?post=2365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/tags?post=2365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}