{"id":47,"date":"2009-04-08T21:15:36","date_gmt":"2009-04-09T01:15:36","guid":{"rendered":"httpss:\/\/www.powenko.com\/blog\/?p=47"},"modified":"2019-09-12T20:33:23","modified_gmt":"2019-09-13T01:33:23","slug":"php-multilanguage-po-mo-gettext-%e5%a4%9a%e5%9c%8b%e8%aa%9e%e8%a8%80%e7%89%88%e6%9c%ac","status":"publish","type":"post","link":"https:\/\/www.powenko.com\/wordpress\/?p=47","title":{"rendered":"PHP, MultiLanguage, PO MO gettext() \u591a\u570b\u8a9e\u8a00\u7248\u672c"},"content":{"rendered":"<p>\u5728php \u8981\u5982\u4f55\u505a\u591a\u570b\u8a9e\u8a00\u652f\u63f4\uff1f \u4e0b\u9762\u7684\u6b65\u9a5f\u53ef\u4ee5\u8aaa\u660e<\/p>\n<p>\u8acb\u628a\u4e0b\u9762\u7684php code \u5b58\u8d77\u4f86<\/p>\n<p>#. tset.php<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n\r\n&lt;!DOCTYPE HTML PUBLIC &quot;-\/\/W3C\/\/DTD HTML 4.01 Transitional\/\/EN&quot;\r\n&quot;httpss:\/\/www.w3.org\/TR\/html4\/loose.dtd&quot;&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta httpss-equiv=&quot;Content-Type&quot; content=&quot;text\/html; charset=utf-8&quot;&gt;\r\n&lt;title&gt;Untitled Document&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n\r\n&lt;?\r\n$domain = 'messages';\r\nbindtextdomain($domain, &quot;includes\/translations&quot;);\r\ntextdomain($domain);\r\n\r\n$iso_codes = array (\r\n'EN'=&gt;'English',\r\n'fr'=&gt;'French',\r\n'it'=&gt;'Italian',\r\n'pt'=&gt;'Portuguese',\r\n'es'=&gt;'Spanish',\r\n'zh'=&gt;'Chinese','nl'=&gt;'Nederlands'\r\n);\r\nforeach ($iso_codes as $iso_code =&gt; $language) {\r\nputenv ('LANG='.$iso_code);\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/Print out the language name and greeting\r\nsetlocale(LC_ALL, $iso_code);\u00a0\u00a0\u00a0 \/\/Filter the greeting through gettext\r\necho $iso_code;\r\nprintf (&quot;%12s: %s\\n&quot;, $language, gettext(&quot;str_hello&quot;)) &amp;amp;amp; &quot;\\n&quot;;\r\necho gettext(&quot;txt&quot;);\r\necho gettext(&quot;str_hello&quot;);\r\necho gettext(&quot;URL&quot;);\r\necho gettext(&quot;Row&quot;);\r\necho\u00a0 '&lt;br&gt;';\r\n}\r\n&gt;\r\n\r\n&lt;?php\r\nputenv(&quot;LANG=nl_NL&quot;);\r\nsetlocale('LC_ALL', &quot;nl_NL&quot;);\r\nbindtextdomain(&quot;greetings&quot;, &quot;.\/locale\/&quot;);\r\ntextdomain(&quot;greetings&quot;);\r\n\r\necho _(&quot;Hello\u00a0World&quot;);\r\n&gt;\r\n&lt;body&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n\r\n<\/pre>\n<p>#. \u7136\u5f8c\u4e0b\u8f09\u5de5\u5177 Poedit<\/p>\n<p><a href=\"httpss:\/\/sourceforge.net\/projects\/poedit\/\">httpss:\/\/sourceforge.net\/projects\/poedit\/<\/a><\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n$.\/xgettext -n *.php\r\n<\/pre>\n<p>\u5982\u679c\u662f\u4e2d\u6587\u7684 _(&#8220;\u4e2d\u6587&#8221;) \u5c31\u8981\u7528<\/p>\n<p>$ .\/xgettext &#8211;from-code=UTF-8 -n \u00a0*.php<\/p>\n<div><\/div>\n<p>$&gt;ls<br \/>\ntset.php messages.po<\/p>\n<p>#. Use Poedit to edit .po file and convert string, and save to .mo (msgfmt.exe)<br \/>\n#. COPY .po and .mo\u00a0 \\includes\\translations\\zh\\LC_MESSAGES\\messages.po and messages.po<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728php \u8981\u5982\u4f55\u505a\u591a\u570b\u8a9e\u8a00\u652f\u63f4\uff1f \u4e0b\u9762\u7684\u6b65\u9a5f\u53ef\u4ee5\u8aaa\u660e \u8acb\u628a\u4e0b\u9762\u7684php code \u5b58\u8d77\u4f86 #. tset.ph [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[551,550],"tags":[],"class_list":["post-47","post","type-post","status-publish","format-standard","hentry","category-01-string","category-php"],"_links":{"self":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/47"}],"collection":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=47"}],"version-history":[{"count":9,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":8305,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/47\/revisions\/8305"}],"wp:attachment":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}