2010-03-25 217 views
14

在Windows上使用WAMPserver(Apache,MySQL和PHP)我有以下几点:如何生成.po文件?

//test.php 
if (!defined('LC_MESSAGES')) 
define('LC_MESSAGES', 6); 

$lang = "sv"; 
putenv("LANG=$lang"); 
setlocale(LC_ALL, $lang); 

$domain = "messages"; 
bindtextdomain($domain, "./locale"); 
textdomain($domain); 

echo _("This is a string"); 

它正常工作,即输出“这是一个字符串”,这意味着我有gettext正确的设置了。

但是如何在世界上创建一个.po文件?

我下载了Poedit,但我无法看到如何使这个软件发生这种情况。

任何帮助,非常感谢!

+0

我发现本教程很有帮助[>> Gettext&PoEdit >>](https://www.youtube.com/watch?v = -RuqVDdC1cI) – 2013-11-30 05:51:20

回答

7

PoEdit是创建.po文件的工具。你必须用它做一些小配置,这不是最简单的。它应该工作的方式是,它会查找源代码中包含在您配置的标记字符串中的所有文本。这将成为您给翻译人员的源文本。然后他们将其翻译成目标语言并保存翻译文件并将其返回给您。然后,您可以将这些文件转储到您的php应用程序中的特殊目录中,并且只要gettext扩展程序看到其中一个翻译字符串,就会提取相应的翻译。

我可以帮助更多,如果你显示一些细节关于你在哪里挂了poedit。

+1

Thx,我设法整理出来。问题在于如何设置基路径并不清楚。界面太旧,不足以直观了解如何创建新路径。:) – tobefound 2010-03-26 10:06:53

+0

最重要的是您的目录文件中的路径(绝对路径)设置,否则Poedit无法使用源文件中的gettext()。 – 2015-05-16 10:57:11

+1

@VolkerE。建议在一个方面是不正确的:你应该使用* relative *,而不是绝对路径,因为前者对其他机器不适用。更好的是,使用Poedit 1.8beta3(或更新版本)修复绝对可怕的(并且我说这是Poedit作者)界面来设置源路径,并允许您只拖动相关目录。 – 2015-05-17 07:10:36

8

为PHP:

我有一个像 ---- ---- test_1.php

<?php 
    echo _("Test phrase"); 
    echo gettext("Test phrase two"); 
    // NOTE: _ == gettext() 
?> 

文件的文件 - >新建目录... 在 “源路径”选项卡中,您必须单击新建文件夹,添加文件夹的路径(在此示例中为test_1.php)

... 他们捕获了所有使用gettext()调用的字符串或_() ... 这些功能很有用在这里解释 http://www.php.net/manual/es/function.gettext.php

AND ...如果你使用Apache(例如在XAMPP),请停止和启动(重新启动)它,当你想测试用gettext()定义语言的新变化,换句话说,变化不会受到影响