如何在没有gettext模块的情况下使用已编译的gettext .mo文件?

时间:2011-04-12 01:35:48

标签: php gettext php-gettext

我试图找到一种方法来使用gettext和朋友,而不依赖于我发现的官方gettext module,我发现它并没有在任何地方安装,有时会产生不同的结果取决于操作系统和服务器配置。

3 个答案:

答案 0 :(得分:3)

我只是创建了一个库,可以自动加载po文件,更改语言并在视图中翻译{t}和{/ t}之间的所有文本,我发布在这里以防有人想要使用它而不是调用gettext视图中的功能:

http://www.chuongduong.net/page/15/codeigniter-gettext-with-smarty-or-parser-template-without-php-code-in-view.html

视图代码可能是:

<html>
<head>
<title>{blog_title}</title>
</head>
<body>

<h3>{blog_heading}</h3>
{blog_entries}

<h5>{t}Title is{/t}  {title}</h5>

<p>{t 1="<b>" 2="</b>"}Click here %1to see%2 me{/t}{body}</p>

<p>{t 1="{id}" 2="author"}The id is: %1 wrote by %2{/t}</p>

<p>{t 1="<a href=\"link here\">" 2="</a>"}Please lick on me%2{/t}</p>

{/blog_entries}

</body>

</html>

答案 1 :(得分:1)

gettext函数有一些userland php实现。

  • 一个是gettext.php(我写道,PD,但测试不是很好)
  • 另一个php-gettext(GNU GPL,非常普遍)
  • Zend Framework还提供adapter for gettext。不确定它是否依赖于本机PHP函数;但它很可能会有自己的重新实现。

答案 2 :(得分:0)

我最终分叉PHP-gettext(不是GNU GPL),并将其修改为透明的插件。它为缺少的gettext模块创建了一个非常简单的一行修复。

require( "PHP-Gettext/Autoload.php" );