2011-06-07 78 views
2

好吧,我在这里失去了我的想法... 我有一个网页,我需要翻译它。为了测试翻译,我设置了一个helloworld类型的文件来测试它,然后我在完成时将代码应用到整个页面。所以:php翻译

我有一个文件test.php的,它包含:

<?php 
$directory = dirname(__FILE__).'/l'; 
$domain = 'mydomain'; 
$locale ="hr_HR"; 

putenv("LANG=".$locale); 

setlocale(LC_ALL, $locale); 
bindtextdomain($domain, $directory); 
textdomain($domain); 
bind_textdomain_codeset($domain, 'UTF-8'); 
echo _("Hello World"); 
?> 

该文件位于d:\xampp\htdocs\文件夹

我有一个文件hr_HR.po,它包含:

msgid "" 
msgstr "" 
"Content-Type: text/plain; charset=utf-8\n" 
"Content-Transfer-Encoding: 8bit\n" 

#. Text in function 
#: test.php:8 
msgid "Hello World" 
msgstr "TEST" 

它位于d:\xampp\htdocs\l\hr_HR\文件夹中。

使用poEdit的我能做出的.mo文件出.po文件的...

所以一切都应该工作正常,但它不是...任何帮助,将不胜感激!

在此先感谢!

+1

我非常主观的看法是gettext()很臭。我推荐['Zend_Translate'](http://framework.zend.com/manual/en/zend.translate.html)而不是 – 2011-06-07 14:09:27

+0

@Pekka:Zend_Translate对于gettext()不是'改为',它只是一个通用包装器对于许多不同的翻译技术等等。使用gettext的Zend_Translate非常好用! – markus 2011-06-07 14:18:19

+0

你在哪里告诉gettext关于hr_HR.mo的路径? – markus 2011-06-07 14:25:09

回答

0
  • 是否安装了gettext?
  • 是否安装了PHP模块gettext?
  • .mo文件是否存在?是否允许Apache读取它们?
  • 是否安装了所需的语言环境?
  • Apache是​​否已重新启动?
+0

我有一个WordPress的网站安装,我可以翻译它,所以我的一切都安装和运行.. – Andrej 2011-06-07 14:29:58