2010-12-13 33 views
2

我創建一個WordPress主題,我想知道爲什麼我甚至應該使用域參數來調用__()和_e()?我不能只使用默認域名;如果我使用默認域會發生什麼?當我使用自定義域時會發生什麼?僅僅是爲了讓您可以爲兩個不同的主題選擇兩種不同的語言?爲什麼我需要這個?請有人解釋這個域名的用途以及它是如何使用的。爲什麼我應該爲l18n使用域名?

請不要只是發送給我的鏈接到codex。我真的很感激,如果有人可以直截了當地解釋它。謝謝。 :)

+0

什麼是l18n? ;-) – usta 2010-12-13 08:41:13

+0

簡而言之,**如果您沒有編寫代碼/定製以分發給其他用戶**,則不需要準備好文本翻譯。下面的答案涵蓋了這個問題的其他方面。 – t31os 2010-12-18 22:29:25

回答

1

如果您只使用已包含在WP默認的.po文件中的標準文本,則不需要使用自定義域。事實上,使用默認域名會更好,因爲您的主題將使用任何本地WP版本的默認.po文件自動翻譯。

使用您自己的域名將允許您使用自己的單詞,並使用戶能夠編寫自己的.po文件將其翻譯爲其語言。您可能希望將默認域和您自己的域的用法結合起來,以獲得兩個變體中最好的一個。雖然結果可能是,在語言中你不提供.po文件,而用戶也沒有自己翻譯文件,但他將有一個部分翻譯的主題。

但是對於I18n來說是一個非常好的主意,不管你是使用自己的域名還是默認的域名。每個高級用戶都會高度讚賞這一點。我不得不在自己使用的主題上,所以我知道它可能會有多少工作。

1

gettext文本域是消息的命名空間。查找消息時,gettext只會考慮您要求的域中的消息(明確指定,或者在調用textdomain()時設置較早)。

文本域也用於文件名;查找目錄將使用語言和域來查找文件。

+0

那麼爲什麼我不能使用我認爲是WordPress的默認文本域的'默認'文本域? – Sam 2010-12-13 06:50:07

+0

默認域將會有一個PO文件。你將不得不將你的消息合併到那個消息中。 – 2010-12-13 08:24:43

相關問題