2010-03-25 117 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()定義語言的新變化,換句話說,變化不會受到影響