我有一些.poWordpress文件,我想创建.mo文件.
我怎样才能做到这一点?
我正在使用PHP从数据库中生成.mo文件,并遇到了一个奇怪的问题:有些键可以工作,有些则没有.我认为生成的文件存在某种问题.如何检查.mo文件是否正确?
我尝试过使用 poedit 1.4.6>另存为,但 .mo 不是一个选项。
我想试试gettext.
以下是我认为它的工作原理 -
首先你使用某种po编辑器并告诉它扫描你的应用程序的目录,创建这些".po"文件,应用程序为扫描的每个文件生成一个po文件,其中包含编程语言中的字符串,然后将它们编译为二进制mo文件,gettext解析,并使用高级API调用方法,Zend_Translate并指定要使用gettext,可以设置为缓存转换,它只返回那些.
我真的不清楚的部分是如何真正完成po文件的编辑,这是手册 - 对吗?然后当编译完成时,应用程序依赖于二进制mo文件.
如果有人能提供有用的linux应用程序来编辑.po文件,我将不胜感激.
我在一个文件夹中有.po和.mo文件,其地址是/ locale/nld_nld/LC_MESSAGES /.这两个文件的名称都是消息.我一直在尝试使用以下代码:
try.php:
<?php
require_once("Localization.php");
echo _("Hello World!");
?>
Run Code Online (Sandbox Code Playgroud)
Localization.php在这里:
<?php
$locale = "nld_nld";
if (isSet($_GET["locale"])) $locale = $_GET["locale"];
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");
?>
Run Code Online (Sandbox Code Playgroud)
try.php和Localization文件都在同一目录中.另外,我用xampp.我也实施了phpinfo();.在表格中,在"GetText支持"前面,提到了启用.该messages.po和messages.mo文件是我使用poEdit的创建有效文件.我是一个Windows用户.但是,当我打开try.php时,它只是回显了Hello World!(不是它的翻译字符串.另外,我已经将.po文件100%翻译(根据poEdit).但是,我没有得到结果.对此有点帮助将不胜感激.
提前致谢!
.po将 GNU gettext (可移植对象)文件编译为.mo(机器对象)的好处和主要原因是什么?
我看到很多程序.po直接读取/解析。
我没有使用 wordpress,但在他们的文档中它说:
https://codex.wordpress.org/I18n_for_WordPress_Developers
PO 文件被编译为二进制 MO 文件,可以在运行时更快地访问字符串
更快的访问速度是真的吗?PO 只能读取一次并缓存在某个哈希表中,MO 可能也是如此